Programmazione Avanzata Primo Semestre 2005/2006 |
---|
Professore |
Assistente |
---|---|
mail: attardi@di.unipi.it |
mail: nids@di.unipi.it |
Ufficio: 292 |
Ufficio: 341 |
Ricevimento: mercoledí ore 10:30 |
Ricevimento: mercoledí ore 15:00 |
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í |
11-13 |
A1 |
Martedí |
16-18 |
A |
Giovedí |
11-13 |
A1 |
Venerdí |
11-13 |
E |
Data |
Materiale |
Argomento |
---|---|---|
22/09 |
|
Presentazione degli argomenti del corso. |
23/9 |
Introduzione al corso |
|
27/9 |
Binding |
|
27/9 |
|
Allocazione: statica, stack, heap |
29/9 |
|
Esercitazione: implementazione malloc e free |
30/9 |
|
Scoping delle variabili. Passaggio dei parametri |
4/10 |
Garbage Collection |
|
4/10 |
|
Passato, presente e futuro dei linguaggi di programmazione |
6/10 |
Tipi, Classificazione, Tipi Composti, Equivalenza, Conversione, Cast, Ereditarietà, Inferenza, Layout memoria struct e union. |
|
7/10 |
Moduli, Abstract Data Type, Classi, Oggetti, Late-binding, Ereditarietà singola/multipla/mixin, Implementazione vtable. |
|
11/10 |
Pensare a oggetti. |
|
11/10 |
|
Sospensione didattica. |
13/11 |
Esercitazione su progettazione a oggetti: esempio di un Instant Messenger. |
|
14/10 |
|
Sospensione per lauree. |
18/10 |
|
Esercitazione: algoritmo di Waite-Schnorr. |
18/10 |
Compilazione. Architettura e fasi di compilazione. |
|
20/10 |
COFF. Linking: statico e dinamico. |
|
21/10 |
Linguaggi formali: grammatiche context-free |
|
25/10 |
|
|
25/10 |
The Great Computer Language Shootout |
|
27/10 |
I principi di COM |
|
28/10 |
COM fundamentals (Part 1), by Don Box |
I principi di COM |
8/11 |
Soluzione esercizio su generatore IDL. |
|
8/11 |
|
Servizi e tecnologie innovative per 3G/Wireless. Valerio Romano, Accenture. |
10/11 |
Parametric Polymorphism. C++ templates |
|
11/11 |
Bounded Polymorphism: GJ, C# |
|
15/11 |
C++ template meta-programming |
|
15/11 |
Introduzione ai linguaggi funzionali, Luca Saiu. |
|
17/11 |
Common Language Runtime. Delegates. |
|
18/11 |
Estendere Rotor con un'istruzione |
|
22/11 |
Generative Programming |
|
22/11 |
Aspect Oriented Proframming |
|
24/11 |
|
Confronto tra linguaggi: esempio calcolo word frequency |
25/11 |
|
Sciopero |
29/11 |
Correzione MidTerm |
|
29/11 |
||
2/12 |
Web Services |
|
6/12 |
Web Services. Demo |
|
6/12 |
An Introduction to XML::Twig, Michel Rodriguez |
|
9/12 |
Architettura di ASP.Net |
|
13/12 |
Introduzione a J2EE |
|
13/12 |
Introduction AJAX, Stefano Mustardi. |
|
15/12 |
Java Server Faces |
|
15/12 |
|
Assegnazione Final Term |
16/12 |
Data Access with ADO.NET, Herbert Praehofer, Dietrich Birngruber |
Introduzione a ADO.Net |
16/12 |
Prospettive future sullo sviluppo di componenti |
|
16/06/2006 |
|
Assegnazione Final Term (consegna il 17/06). |
Homework, seminari, discussioni: 20%
MidTerm Paper: 30%
Term Paper: 50%