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.
Ricevimento: su appuntamento
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