Programma del corso
Obiettivi del Corso
- Approfondire l’uso del linguaggio C rispetto a quanto noto dal corso di Fondamenti di Informatica I (propedeutico)
- Presentare le principali strutture di dato utilizzate per applicazioni informatiche e gli algoritmi associati
- Introdurre il concetto di componente software (modulo, tipo di dato astratto, classe e oggetto)
- Presentare i principi della programmazione a oggetti e una sua esemplificazione attraverso il linguaggio Java
A supporto del corso è allestito un laboratorio didattico in cui sono disponibili gli strumenti di programmazione necessari per approfondire gli argomenti trattati nelle lezioni. La frequenza delle esercitazioni in laboratorio è facoltativa, ma fortemente consigliata; allo studente è comunque richiesto di acquisire un adeguato livello di operatività con gli ambienti di programmazione (C e Java) inerenti gli argomenti del corso.
Programma del Corso
- Approfondimenti sul linguaggio C: Programmazione "modulare" in C. File header e file implementazione.
- Algoritmi e strutture di dati: Cenni sulle tecniche per la gestione di tabelle, liste, alberi e loro realizzazione in C. Algoritmi di ricerca su tali strutture dati. Complessità degli algoritmi (riprendendo quanto già noto da Fondamenti di Informatica I, applicato alle strutture dato presentate e agli algoritmi per esse).
- La programmazione a oggetti e il linguaggio Java: La programmazione a oggetti: il concetto di componente software. Progettare per astrazioni. Incapsulamento e protezione. Classi ed ereditarietà. Il linguaggio Java: concetti di classe e istanza, costruzione e distruzione di oggetti, oggetti semplici e oggetti composti. Package e Package di I/O. Ereditarietà, Classi Astratte, Interfacce. Eccezioni. Le librerie grafiche AWT e Swing. Realizzazione di Applet.