| | | corso | | | | |
Programmazione avanzata (Advanced programming)
Codice: | 301AA | Crediti: | 9 | Semestre: | 1 | Sigla: | PA | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Ultima versione disponibile: programma da confermare per l’a.a. 2012/2013
Obiettivi di apprendimento
Gli obiettivi del corso sono:
- a. di fornire agli studenti una conoscenza approfondita di come come concetti e metafore ad alto livello dei
linguaggi di programmazione si traducono in sistemi eseguibili e quali siano i loro costi e limiti
- b. di familiarizzare gli studenti con i moderni principi, tecniche e migliori pratiche per la costruzione di
software sofisticato
- c. di introdurre tecniche di programmazione a livelli di astrazione più elevata, in particolare generative
programming, component programming e web computing
- d. di presentare frameworks allo stato dell'arte che incorporano queste tecniche.
Il corso in particolare si focalizza su questioni di qualità relative al progetto dettagliato ed alla codifica, quali
l'affidabilità, le prestazioni, l'adattabilità e l'integrabilità in sistemi più ampi.
English Description
The objectives of this course are:
a. to provide the students with a deep understanding of how high level programming concepts and
metaphors map into executable systems and which are their costs and limitations
b. to acquaint the students with modern principles, techniques, and best practices of sophisticated software
construction
c. to introduce the students to techniques of programming at higher abstraction levels, in particular
generative programming, component programming and web computing
d. to present state-of-the-art frameworks incorporating these techniques.
This course focuses on the quality issues pertaining to detailed design and coding, such as reliability,
performance, adaptability and integrability into larger systems.
Indicazioni metodologiche
9 crediti (3 su pragmatica dei linguaggi, 3 su metafore di programmazione avanzate, 3 sulla
programmazione web).
Programma
- Pragmatica dei Linguaggi di Programmazione
- Supporto Run Time e Ambienti di Esecuzione
- Programmazione Generica
- Librerie di Classi e Framework
- Programmazione Generativa
- Interoperabilità tra Linguaggi
- Programmazione Basata su Componenti
- Web Services
- Web e Application Frameworks
- Linguaggi di Scripting
Modalità di esame
L'esame consiste nella preparazione di elaborato finale scritto, a soluzione di un
problema complesso di programmazione.