Programmazione Avanzata Primo Semestre 2004/2005 |
---|
Professore |
Assistente |
---|---|
mail: attardi@di.unipi.it |
mail: cisterni@di.unipi.it |
Ufficio: 292 |
Ufficio: 383 |
Ricevimento: martedí ore 10:30 |
Ricevimento: mercoledí ore 10:30 |
L’evoluzione dei sistemi software verso il Web Computing coinvolge una varietà di tecniche e strumenti articolati e complessi, dalla programmazione a oggetti, alla programmazione a componenti, alla programmazione di Web Services. Per poter sfruttare a pieno le potenzialità di queste tecniche, occorre avere una comprensione approfondita della loro struttura e del loro funzionamento.
Il corso presenta i modelli di esecuzione, le tecniche e gli strumenti di programmazione avanzati. Si pone particolare attenzione al supporto necessario per il funzionamento di questi strumenti, in modo che lo studente abbia una visione chiara delle conseguenze che le scelte di design possono comportare a tutti i livelli del sistema.
Il corso è tra i fondamentali della Laurea Specialistica in Tecnologie Informatiche.
Giorno |
Ora |
Aula |
Martedí |
16-18 |
C |
Giovedí |
16-18 |
C |
Venerdí |
9-11 |
C |
Venerdí |
14-16 |
C |
Data |
Materiale |
Argomento |
---|---|---|
28/09 |
|
Presentazione degli argomenti del corso. |
30/9 |
Introduzione al corso |
|
1/10 |
Binding |
|
1/10 |
|
Allocazione: statica, stack, heap |
5/10 |
|
Esercitazione: implementazione malloc e free |
7/10 |
|
Scoping delle variabili |
8/10 |
|
Passaggio dei parametri. Chiusure |
8/10 |
Garbage Collection |
|
12/10 |
Compilazione. Architettura e fasi di compilazione. |
|
14/10 |
COFF. Linking: statico e dinamico. |
|
15/10 |
Linguaggi formali: grammatiche context-free |
|
15/10 |
Assegnazione Midterm |
|
26/10 |
Correzione MidTerm |
|
28/10 |
Tipi, Classificazione, Tipi Composti, Equivalenza, Conversione, Cast, Ereditarietà, Inferenza, Layout memoria struct e union. |
|
29/10 |
|
Moduli, Abstract Data Type, Classi, Oggetti, Late-binding, Ereditarietà singola/multipla/mixin, Implementazione vtable. |
29/10 |
Common Language Runtime. Delegates. |
|
2/11 |
Navigare i sorgenti di Rotor: struttura di un runtime. |
|
5/11 |
Estendere Rotor con un'istruzione |
|
5/11 |
Subtype polymorphism |
|
11/11 |
Bounded Polymorphism: GJ, C# |
|
12/11 |
Parametric Polymorphism. C++ templates |
|
12/11 |
Tavola rotonda su insegnamento della programmazione: M. Danelutto, S. Coriani, A. Cisternino |
|
18/11 |
Risultati MidTerm |
|
19/11 |
Generative Programming |
|
19/11 |
C++ template meta-programming |
|
23/11 |
Reflection |
|
25/11 |
I principi di COM |
|
26/11 |
Web Services |
|
26/11 |
Web Services |
|
2/12 |
Web Services: Interoperability, Java SOAP |
|
3/12 |
Clienti Web per usare Web Services |
|
3/12 |
Introduzione a J2EE |
|
7/12 |
Programmazione ASP.Net |
|
9/12 |
Architettura di ASP.Net |
|
10/12 |
Data Access with ADO.NET, Herbert Praehofer, Dietrich Birngruber |
Introduzione a ADO.Net |
10/12 |
Esempi di programmazione in ADO.Net |
|
14/12 |
Java Server Faces |
|
16/12 |
Prospettive future sullo sviluppo di componenti |
|
17/12 |
|
Assegnazione Final Term (versione aggiornata al 8/1/05) |
26/01/2005 |
|
Assegnazione Mid Term |
06/06/2005 |
|
Final Term (versione aggiornata 12/07/05). Scadenza consegna 22/7/2005. |
22/08/2005 |
|
Final Term. Scadenza consegna 23/9/2005. |
Homework, seminari, discussioni: 20%
MidTerm Paper: 30%
Term Paper: 50%