Obiettivi: fornire metodologie di progettazione software secondo il paradigma procedurale e il paradigma orientato agli oggetti. Contenuti. Architettura di un calcolatore, strutture dati, analisi di problemi, loro risoluzione algoritmica, prestazioni degli algoritmi, programmazione procedurale strutturata e orientata agli oggetti col C++.
Parte I - Fondamenti di programmazione 1) Introduzione all’informatica e alla programmazione 2) Il linguaggio C++: elementi di base 3) Operatori ed espressioni 4) La programmazione strutturata 5) Funzioni 6) Array 7) Strutture e unioni 8) Puntatori e riferimenti 9) Allocazione dinamica della memoria 10) Stringhe 11) Ordinamento e ricerca Parte II - Programmazione orientata agli oggetti 12) Classi e oggetti 13) Classi derivate: eredità e polimorfismo 14) Template Parte III - Strutture dati 15) Flussi e file: libreria standard di I/O 16) Liste 17) Pile e code 18) Ricorsione 19) Alberi Parte IV - Programmazione avanzata in C++ 20) Overloading degli operatori 21) Eccezioni
Luis Joyanes Aguilar, “Fondamenti di programmazione in C++”, McGraw-Hill, qualunque edizione. Un utile testo di consultazione è anche il classico di Brian W. Kernighan e Dennis M. Ritchie, “Il Linguaggio C”, qualunque edizione.
FULVIO MASTROGIOVANNI (Presidente)
GUALTIERO VOLPE (Presidente)
PIERPAOLO BAGLIETTO
TULLIO VERNAZZA
RENATO UGO RAFFAELE ZACCARIA
FONDAMENTI DI INFORMATICA
L'esame consiste in una prova pratica di programmazione e in una prova orale. Ci sono due modi per affrontare l'esame: 1) Esame solo alla fine del secondo semestre (da Giugno in poi). La prova pratica verte sugli argomenti di tutto il corso, e vale 16 punti. L'orale vale anch'esso 16 punti e deve esser superato entro Marzo dell'anno successivo. 2) Prova intermedia alla fine del primo semestre. Questa prova pratica è solo sugli argomenti del primo semestre e vale 8 punti. In ogni appello dopo la fine del secondo semestre c'è una seconda prova solo sugli argomenti del secondo semestre, e anch'essa vale 8 punti. L'orale completa l'esame con 16 punti come nel caso precedente. Valgono in ogni caso le seguenti regole: A) per essere ammessi alla prova orale occorre aver preso almeno 8 punti nella prova pratica (singola, o come somma delle due prove se si è fatto quella intermedia) B) il voto di una qualunque prova pratica può essere tenuto valido fino a Marzo dell'anno successivo, ma si azzera se si sostiene una nuova prova per migliorare il voto, o se si è bocciati in un esame, o se ci si ritira durante le prove di esame (sia pratica sia orale).
Capacità di comprendere le specifiche di un problema di calcolo / elaborazione e scriverne la soluzione algoritmica; capacità di progettare le strutture dati e le funzioni per risolvere il problema assegnato; conoscenza della misura dell'efficienza computazionale di una certa soluzione algoritmica; capacità di codificare un algoritmo in linguaggio C++; conoscenza dei principi della programmazione strutturata e di quella a oggetti