INFORMAZIONI SU

Fondamenti di programmazione (integrato con Architettura dei calcolatori)

Programma dell'insegnamento di Fondamenti di programmazione - cdl in Ingegneria Elettronica

Docente

prof. Pier Luca MONTESSORO

Crediti

6 CFU

Lingua

Italiano

Obiettivi formativi specifici

Acquisizione di una conoscenza generale dell’informatica e della programmazione. Studio e applicazione dei principi della programmazione strutturata e del linguaggio C. Per quanto riguarda l’informatica generale, vengono trattati i concetti di base sull'elaborazione automatica dell'informazione: algoritmi, linguaggi di programmazione, codifica di dati, cenni sui sistemi di elaborazione. Per il linguaggio C: sintassi di base, Input/Ouput, tipi di dato primitivi, strutture di controllo, tipi di dato strutturati, funzioni, file. Relativamente alle tecniche di programmazione: la programmazione modulare, il ciclo di vita del software, le qualità dei programmi. Il corso prevede esercitazioni di laboratorio e pratica di programmazione. Lo studente acquisisce la capacità di risolvere problemi moderatamente complessi scrivendo programmi in linguaggio C. Il corso fornisce una comprensione approfondita della struttura interna dell'elaboratore e del suo funzionamento in relazione sia alle applicazioni classiche che a quelle multimediali. Il corso prevede inoltre un’appendice in cui vengono trattate le applicazioni tecnico-scientifiche dei fogli elettronici.

Competenze acquisite

- Concetti di base sull'elaborazione automatica dell'informazione: algoritmi, linguaggi di programmazione, codifica di dati, cenni sui sistemi di elaborazione.
- Elementi di base del linguaggio C: sintassi di base, Input/Ouput, tipi di dato primitivi, strutture di controllo, tipi di dato strutturati, funzioni, file.
- Principi e tecniche di programmazione: la programmazione modulare, il ciclo di vita del software, le qualità dei programmi.

Programma

Gli Algoritmi: introduzione al programma, il concetto di algoritmo, esempi di algoritmi (2 ore).
Diagrammi di Flusso: il linguaggio dei diagrammi di flusso, esempi di algoritmi utilizzando i diagrammi di flusso (2 ore).
Sistemi di Elaborazione: cenni di architettura dei sistemi di elaborazione, la notazione binaria e la codifica di dati numerici e di caratteri (4 ore).
Sintassi del linguaggio C: sintassi di base del linguaggio C, espressioni ed istruzioni, tipi di dato primitivi, conversioni di tipo, strutture di controllo iterative, modificatori di tipo, operatori di assegnamento ausiliari (8 ore).
Strumenti di programmazione in C: il compilatore C, esempio di installazione ed utilizzo, programmi: sequenze di I/O, massimo comun divisore (semplice/Euclide) (4 ore).
Funzioni: le funzioni, parametri e argomenti, valori restituiti, variabili locali, passaggio di parametri per valore e riferimento, funzioni con parametri di tipo vettore, funzioni con parametri di tipo record (10 ore).
Strutture Dati: le strutture dati, i vettori, le matrici, i record, le stringhe, funzioni di libreria per la manipolazione di stringhe (10 ore).
I file: apertura di file, lettura e scrittura su file di testo, elaborazione di caratteri (6 ore).
Linguaggio C e sistema operativo: il passaggio di parametri sulla linea di comando, limits.h (2 ore).
Esercitazioni (20 ore).
Laboratorio (12 ore).

Bibliografia

- Deitel e Deitel, Corso completo di programmazione, Apogeo.

Modalità d'esame

prova scritta  e orale

Ulteriore materiale didattico o informazioni reperibili alla pagina