Riepilogo dell'insegnamento: METODOLOGIE DI PROGRAMMAZIONE
6 cfu così ripartiti nelle aree:
- 4 CFU nell'area C - Programmazione
- 2 CFU nell'area I - Ingegneria del software
Sillabo dell'insegnamento
- C - Programmazione
- *
SCP - Sviluppo e Correttezza dei Programmi
Richiami sul linguaggio C++: tipi di dato; espressioni; istruzioni; funzioni; campo d'azione e ciclo di vita; funzioni sovraccaricate; classi. Programmazione per contratto: pre-condizioni, post-condizioni ed invarianti di classe.
- *
POO - Programmazione Orientata agli Oggetti
Ereditarieta' semplice: differenze tra contenimento, ereditarieta' privata ed ereditarieta'? pubblica. Polimorfismo dinamico: funzioni virtuali; il principio di sostituzione di Liskov.
- *
SDTD - Strutture Dati e Tipi di Dati astratti
Inizializzazione, assegnamento e distruzione. Eccezioni e gestione delle risorse; tecniche per la gestione dinamica della memoria. Progettazione di strutture dati robuste in presenza di comportamenti eccezionali.
- *
POO - Programmazione Orientata agli Oggetti
Polimorfismo statico: template di funzione e template di classe. La libreria standard STL: contenitori, iteratori ed algoritmi generici; oggetti funzione.
- I - Ingegneria del software
- *
PSC - Progettazione del Software e Codifica
Progetto di interfacce software: tipi concreti, tipi astratti, classi di interfaccia e classi implementative; ereditarieta' multipla e virtuale.
-
AS - Ambienti di Sviluppo
Ambiente di sviluppo: il compilatore g++; il debugger gdb; automazione del processo di compilazione: make; controllo delle versioni: CVS; documentazione di interfacce software: Doxygen.
(*) Le sottoaree con asterisco sono quelle che il GRIN auspica facciano parte in via prioritaria dei sillabi degli insegnamenti assegnati all?area stessa