Docente/i:
Tullio Facchinetti
Denominazione del corso: Fondamenti di informatica (mn)
Codice del corso: 062107
Corso di laurea: Ingegneria Informatica
Settore scientifico disciplinare: ING-INF/05
L'insegnamento costituisce attività di base per: Ingegneria Informatica
Crediti formativi: CFU 6
Sito web del corso: http://robot.unipv.it/didattica/fdi
Obiettivi formativi specifici
Gli obiettivi primari dell’insegnamento sono quelli di fornire agli allievi Ingegneri i principi e l’ambiente della programmazione degli elaboratori. Tale obiettivo è raggiunto mediante la presentazione dei fondamenti e degli strumenti della programmazione e dell’utilizzo del calcolatore che costituiscono un aspetto formativo essenziale e che stanno alla base della necessaria attività sperimentale. Si ritiene che, una volta superato l’esame, lo studente abbia acquisito competenze di base per lo sviluppo di soluzioni algoritmiche per problemi di limitata complessità, sappia individuare la strutturazione del problema in oggetti e le responsabilità che questi devono ricoprire, sia in grado di codificare e mettere a punto programmi in linguaggio C.
Programma del corso
Principi di programmazione basata sugli oggetti
Vengono illustrati i principi della programmazione dei calcolatori elettronici. Si affrontano in particolare gli aspetti di formalizzazione dei problemi, il progetto e la codifica degli algoritmi attraverso le metodologie e le tecniche della programmazione strutturata e i criteri per l’analisi, testing e convalida dei programmi. L’obiettivo è quello di fornire agli allievi una capacità operativa nello sviluppo dei software ed una sensibilità ai problemi di buona documentazione e affidabilità delle applicazioni. Viene inoltre illustrato il concetto di oggetto software e come possa essere sfruttato per decomporre un problema.
Supporti per lo sviluppo di programmi
Vengono presentate le funzioni e le caratteristiche dei supporti per lo sviluppo dei programmi; in particolare vengono descritte le caratteristiche e il funzionamento di compilatori e interpreti.
Algoritmi per l’implementazione e la gestione di strutture dati
Vengono presentate le strutture di memorizzazione dati e gli algoritmi per il loro utilizzo.
Il linguaggio C
Il ciclo di lezioni relativo alla programmazione prevede la presentazione dei principi della programmazione basata sugli oggetti e la descrizione dettagliata della sintassi del linguaggio C. L'attività teorica è integrata da esercitazioni in laboratorio durante le quali vengono presentate soluzioni a problemi di calcolo numerico e su strutture dati. La prova d'esame prevede la soluzione di un problema utilizzando il linguaggio C.
Prerequisiti
Quelli richiesti per l’immatricolazione.
Tipologia delle attività formative
Lezioni (ore/anno in aula): 22
Esercitazioni (ore/anno in aula): 26
Laboratori (ore/anno in aula): 30
Progetti (ore/anno in aula): 0
Materiale didattico consigliato
Sono disponibili delle dispense ed i lucidi utilizzati durante le lezioni. Inoltre sono consigliati i testi segue
Harvey M. Deitel, Paul J. Deitel. C. Corso completo di programmazione. Terza Edizione - Apogeo, 2007. [Un testo chiaro e ben scritto, ottimo per la didattica].
Brian W. Kernighan e Dennis Ritchie. Il linguaggio C. Principi di programmazione e manuale di riferimento. Seconda edizione - Milano, Pearson, 2004. [E' sicuramente il testo di riferimento per il linguaggio C, ideale come manuale di riferimento].
Al Kelley, Ira Pohl. C. Didattica e programmazione. Quarta Edizione - Pearson Education Italia, 2004.
Modalità di verifica dell'apprendimento
Verranno svolte due prove in itinere: la prima, scritta, verterà sulla teoria spiegata nella prima parte del corso; la seconda, pratica, consisterà nella redazione di un programma C. Il superamento di entrambe le prove in itinere equivarrà al superamento dell'esame. Coloro che non avranno superato entrambe le prove in itinere dovranno sostenere la prova pratica di programmazione che conterrà, al suo interno, delle richieste relative alla parte di teoria.
|