Programmazione Avanzata
Corso di Laurea Specialistica in Informatica
Anno Accademico 2005/06
guerrini at di.uniroma1.it
[
Lezioni ]
[
Corso 2005-06 ]
[
Pagina principale ]
Orario delle Lezioni
Le lezioni si tengono nel
Laboratorio di Informtaica a Fisica (sottosuolo di Fisica n.e., Istituto Fermi)
Ricevimento
Durante il periodo delle lezioni,
Martedì dalle 11.00 alle 12.00, nell'ufficio del docente in via Salaria.
Al termine del corso, su appuntamento, se non verrà comunicato un altro orario di ricevimento.
Programma
- Macchine astratte, linguaggi, interpretazione, compilazione
- Richiami di semantica dei linguaggi di programmazione
- Implementazione dei Linguaggi di Programmazione
- Tipi di dato
- Controllo di sequenza: espressioni e comandi
- Blocchi e ambiente locale
- Sottoprogrammi
- Passaggio dei parametri
- Classi e oggetti
- Implementazione dell'ambiente e gestione dinamica della memoria
- Garbage collection
- Tecniche avanzate di programmazione
- Design patterns
- Tipi di dato generici
- Metaprogrammazione
- Partial evaluation
- Generative programming
- Extreme programming
Materiale didattico
I lucidi presentati e gli argomenti trattati a lezione verranno pubblicati sulla pagina del
calendario delle lezioni.
Per la prima parte del corso, quella relativa all'implementazione dei linguaggi di programmazione, si seguiranno i lucidi usati dal Prof.
Giorgio Levi
dell'Università di Pisa per il suo corso di
Linguaggi di Programmazione
.
Riferimenti più precisi atetsi, dipsense e siti web su cui si trovare gli altri argomenti che verranno affrontati a lezione saranno pubblicati sempre sulla pagina del
calendario delle lezioni.
Di seguito si riportano alcuni testi e siti web che possono essere consultati per approfondimenti.
La lista verrà agiornata durante l'anno in base agli argomenti effettivamente affrontati.
Linguaggi di Programmazione
- M. Gabbrielli and S. Martini. Linguaggi di Programmazione. Principi e paradigmi. McGraw-Hill, 2005.
Programmazione Funzionale e OCAML
- G. Cousineau and M. Mauny. The Functional Approach to Programming. Cambridge University Press, 1998.
Tecniche di Programmazione
- E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns. Elementi per il riuso di software a oggetti. Pearson Education Italia, 2002.
- S. J. Metsker. Design pattern in Java - Manuale pratico. Pearson Education Italia, 2003.
- K. Czarnecky and U. W. Eisenecker. Generative Programming - Methods, Tools, and Applications. Addison-Wesley, 2000.
Modalità di Esame
L'esame finale potrà essere svolto sotto forma di:
- una relazione/tesina su argomenti affrontati durante corso o letture integrative concordate con il docente;
- un progetto assegnato dal docente.
Le prcendenti attività potranno essere integrate o sostituite dall'attività pratica svolta in laboratorio nel corso delle lezioni.
Date degli Appelli
- 06/06/2006 alle ore 9.00 in aula Seminari, Dip. Informatica, Via Salaria
- 25/07/2006 alle ore 9.00 in aula Seminari, Dip. Informatica, Via Salaria
- 26/09/2006 alle ore 9.00 in aula Seminari, Dip. Informatica, Via Salaria
- 16/01/2006 alle ore 9.00 in aula Seminari, Dip. Informatica, Via Salaria
- 19/02/2006 alle ore 9.00 in aula Seminari, Dip. Informatica, Via Salaria
Argomenti delle Lezioni
Il calendario delle lezioni, gli argomenti svolti e il materiale didattico di supporto sono disponibili sulla
pagina delle lezioni svolte e degli argomenti trattati.
--
StefanoGuerrini - 24 Apr 2005