Programmazione Avanzata
Corso di Laurea Specialistica in Informatica
Vai alla pagina dell'A.A. 2007-08
Vai alla pagina del corso tenuto nell'A.A. 2005-06
N.B. Il corso di Programmazione Avanzata è tenuto ad anni alterni da Stefano Guerrini (2005-06, 2007-08) e Paolo Bottoni (2004-05). Questa pagina contiene informazioni relative al corso del prof. Stefano Guerrini.
Obiettivi
Lo scopo del corso è sviluppare e approfondire, anche e soprattutto attraverso la loro implementazione, tecniche e argomenti avanzati di programmazione che non sono coperti nei corsi di base. Per questo motivo, il corso è il naturale proseguimento/approfondimento dei corsi di programmazione a oggetti, compilatori e linguaggi di programmazione.
Per quanto riguarda l'implementazione dei linguaggi di programmazione, il corso si pone un duplice obiettivo: da una parte vuole mettere lo studente in grado di usare le più moderne tecniche di progettazione e implementazione di interpreti e compilatori; dall'altra parte, mediante l'approfondimento delle moderne tecniche di implementazione, vuole mettere lo studente in grado di conoscere e sfruttare al meglio le caratteristiche dei linguaggi e dei paradigmi di programmazione.
Per quanto riguarda le tecniche di programmazione, il corso vuole presentare alcuni tra i più recenti e innovativi approcci, fornendo le conoscenze di base su argomenti quali design patterns, generici, metaprogrammazione, partial evaluation, generative programming, extreme programming.
Contenuti
- 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
Programma
Vedi la
pagina dell'anno accademico corrente.
Lezioni, materiale didattico, ricevimento, esami.
Per informazioni dettagliate su orario e luogo delle lezioni, materiale didattico, ricevimento, argomenti affrontati nelle lezioni, prove di esame, etc., visitare la
pagina dell'anno accademico corrente.
Pagine del Corso
--
StefanoGuerrini - 24 Apr 2005