Modulo: Fondamenti di informatica II Settore Scientifico - Disciplinare: ING-INF/05 CFU: 5 Tipologia delle forme didattiche e criterio per il calcolo dell'impegno orario dello studente: Ore presunte di: Lezione: 35 Altro: Esercitazione: 15 Laboratorio: Obiettivi formativi: Il primo obiettivo del corso è quello di completare lo studio delle strutture dati e degli strumenti e metodi per lo sviluppo di programmi. Vengono studiati, in primo luogo, gli aspetti teorici di base e le metodiche per la gestione di strutture dati allocate dinamicamente. Quindi si esaminano i principali aspetti metodologici del paradigma ad oggetti, utilizzando il C++ come linguaggio di codifica. Al termine del corso gli allievi saranno in grado di progettare e codificare programmi secondo il paradigma ad oggetti. Contenuti: Programmazione procedurale e programmazione orientata agli oggetti. Il linguaggio di programmazione C++. Puntatori, aritmetica dei puntatori, puntatori e array, riferimenti. Allocazione dinamica della memoria. Casting. La programmazione ricorsiva. I concetti di classe, oggetto e metodo. Uso degli oggetti. Invocazione di metodi: argomenti e restituzione di valori. Uso delle classi: creazione di oggetti, costruttori e distruttori. Il processo di progettazione di una classe: interfaccia ed implementazione. I concetti di astrazione e di incapsulamento dei dati (information hiding). Overloading di operatori. Ereditarietà e polimorfismo. La realizzazione dei metodi: testing e debugging di classi. I tpi astratti. Le liste: algoritmi per la gestione di liste. Gli alberi binari: algoritmi per la gestione di alberi binari - visita in preordine, visita in postordine e visita simmetrica. Esercitazioni: Progettazione, codifica e testing di programmi in linguaggio C++. Testi consigliati: SCHILDT, Guida al C++, seconda edizione, McGraw-Hill Italia. CERI-MANDRIOLI-SBATTELLA, Informatica. Arte e mestiere, McGraw-Hill Italia. Propedeuticità consigliate: Fondamenti di Informatica I Modalità di accertamento del profitto: prove applicative in itinere e/o prova finale; colloquio.