Programmazione Avanzata

Corso di Laurea Specialistica in Informatica

Anno Accademico 2005/06


Stefano Guerrini

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)

  • Lunedì 11.00-13.00

  • Mercoledì 11.00-13.00

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

Edit | Attach | Watch | Print version | History: r12 < r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r12 - 2006-03-16 - StefanoGuerrini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback