Università di Pisa
Anno Accademico 2015-16
docenti: proff. Marco Bellia, Vincenzo Ciancia
Guida allo studio del materiale.
La partecipazione alla lezione è il primo fondamentale passo per lo studio del corso e del materiale relativo. La lezione infatti, introduce e discute, in modo conveniente, il materiale selezionato per lo studio degli argomenti trattati e, fornisce indicazioni su letture complementari per un loro possibile approfondimento.
Il passo successivo è la revisione individuale del contenuto delle slide presentate. Questa revisione deve essere condotta prima della successiva lezione e deve consistere nel ri-considerare ogni affermazione e formula ed esempio, contenuti, e motivare ciascuno di questi utilizzando le parti del testo indicato (e riportato nel diario delle attività, sotto). In questa revisione anche le letture complementari possono risultare utili.
Ultimata questa revisione, occorre considerare e risolvere tutti gli esercizi proposti: Si può usare questa attività come base per riflettere su quanto studiato e sfidarsi sulla soluzione di problemi più complessi di quelli proposti.
Infine, occorre annotare ogni domanda o dubbio emersi e usare il ricevimento per discuterli con i docenti durante la settimana.
Mercoledì 24/2 | Presentazione; Programmi di un LP, Funzioni Calcolabili. | Introduzione ed Esercizi per lunedì |
---|---|---|
Venerdì 26/2 | Attività di Laboratorio Annullata | |
lunedì 29/2 | Esercizi del 24/2. Linguaggi, Programmi, Algoritmi | Slides Esercizio |
Martedì 1/3 | Linguaggi, Macchine Astratte, Implementazione. |
Slides Cap.1 [GM] |
Mercoledì 2/3 | Definizione Formale di LP. Sintassi, Grammatiche. Ambiguità: Derivazione su stringhe e su alberi |
Slides Cap.2 ed Esercizi [GM] |
Venerdì 4/3 | Attività di Laboratorio Annullata | |
Lunedì 7/3 | Esercizi | listingC listingPascal |
Martedì 8/3 | Completata presentazione di mercoledì 2/3 | Slides del 2/3 + TranslationPhases |
Mercoledì 9/3 | Proprietà contestuali eAnalisi Statica. Semantica Denotazionale e Operazionale. Semantica SOS di un semplice linguaggio | Slides(cap.2[GM]) Esercizi per lunedì 14 |
Venerdì 11/3 | Attività di Laboratorio Annullata | |
Lunedì 14/3 | Esercizio: Programma Deriva su Parse Tree | Un Programma quasi completo (da completare) |
Martedì 15/3 | Fondamenti: Semidecidibilità. Lambda Calcolo. Logica Combinatoria | Cap.3, Cap11.6[GM]+Slides |
Mercoledì 16/3 | Strutture di RTS: Ambiente, Memoria. Scope, Activation Record | Cap.4-5[GM] Slides |
Venerdì 18/3 | Presentazione e prime attività | |
Lunedì 21/3 | Esercizi su gramatiche, semantica, Lambda Calcolo, Logica Combinatoria | Testo2 |
Martedì 22/3 | Controllo di Sequenza: Espressioni e Comandi. Tail Recursion | Cap.6[GM] Slides(1-21) |
Mercoledì 23/3 | Memoization. Programmazione Strutturata: Fasi e Vincoli | Slides(22-fine) |
Venerdì 25/3 | Vacanza Accademica | |
Lunedì 28/3 | Festa Nazionale | |
Martedì 29/3 | Vacanza Accademica | |
Mercoledì 30/3 | Vacanza Accademica | |
Venerdì 1/4 | Attività di Laboratorio Annullata | |
Lunedì 4/4 | Esercizi su gramatiche, semantica, Lambda Calcolo, programmazione con moduli e controllo di AR nella ricorsione | Testo3 |
Martedì 5/4 | Astrazioni di Controllo. Trasmissione. Eccezioni. | Cap.7[GM] Slides |
Mercoledì 6/4 | Dati, Tipi e Tipi Astratti | Cap.8[GM] Slides, |
Venerdì 8/4 | Presentazione e prime attività | |
Lunedì 11/4 | Esercizi su Gramatiche, Semantica, Astrazioni di Controllo e Tipi Astratti |
Testo+Discussione |
Martedì 12/4 | Tipi Astratti: Funzione AF e Invariante I. ADT e Moduli | Cap9[GM] 5.5-6-7[LK] Slides |
Mercoledì 13/4 | Linguaggi OO: Classi, Oggetti, Entità statiche e dinamiche, ADT, ereditarità singola e multipla. Istallare JDK. | Cap10.1-2[GM] Slides |
Venerdì 15/4 | OCAML | |
Lunedì 18/4 | Esercizi: Astrazioni di Controllo, ADT e Uso di Java | Testo5+Soluzioni |
Martedì 19/4 | Java: Programmazione in piccolo | Slides |
Mercoledì 20/4 | Java: Inheritance, Shadowing, Overriding, Late Binding, Overloading | Cap10.3.0[GM] Slides |
Venerdì 22/4 | OCAML | |
Lunedì 25/4 | Festa Nazionale | |
Martedì 26/4 | Java: Eccezioni e Interfacce |
slides(1-12) Esercizi |
Mercoledì 27/4 | Java: Programmazione in grande. Packages, Modificatori. ADT | Cap10.4.2[GM] slides del 26/4 |
Venerdì 29/4 | Laboratorio | |
Lunedì 2/5 | Esercizi: Astrazioni di Controllo, ADT e Tipi Polimorfismi |
Testo6 |
Martedì 3/5 | ADT in Java: Condizione di Non Esposizione, muPairADTCheating.java. Vector<T> | Slides |
Mercoledì 4/5 | LinkedList<T>, equaivalenza di tipi. Metodi additional: equals, clone, toString | Slides |
Venerdì 6/5 | Laboratorio | |
Lunedì 9/5 | Esercizi: Metodi additional in Mutable e Immutable |
Testo7 |
Martedì 10/5 | Linguaggi Funzionali: Principi | Cap11[GM] slides |
Mercoledì 11/5 | OCaml: Survey, API e ADT |
Survey |
Venerdì 13/5 | Laboratorio | |
Lunedì 16/5 | Mutable e Immutable in Java e OCaml |
Testo8, |
Martedì 17/5 | API: Valore Astratto e Specifica Operazioni | slides |
Mercoledì 18/5 | Riuso: Interno, Esterno, Meccanismi, Studio di Caso | slides, |
Venerdì 20/5 | Laboratorio | Soppressa per Adesione Sciopero Nazionale Ricerca |
Lunedì 23/5 | Riuso: Valori Mutable in Java | MuRelazioneJAPI,MurelazioneADTX,MainMuRelazioneADTX in AltriEsercizi9listings.zip del 18/5 |
Martedì 24/5 | Riuso: Estensione Valori Mutable |
ADT |
Mercoledì 25/5 | Riuso: Valori Immutable |
RelazioneJAPI, RelazioneADTX, ImmPairADTX ParseTree in Java (vedi Lunedi 30 pv) |
Venerdì 27/5 | Laboratorio | |
Lunedì 30/5 | Esercizi: ParseTree in Java |
AltriEsercizi10.pdf |
Martedì 31/5 | Esercizi: ParseTree in OCaml | Esercizio2 di AltriEsercizi10.pdf e listings allegati (vedi sopra) svolto-in-aula Consigliato preparazione scritto: Esercizio3 |
Giovedi 16/6 | Appello: scritto Prima Prova Preliminare AULA L - ORA 9:30 |
Testo - - Soluzione - - Comunicazioni |
Martedì 28/6 | Prova Finale AULA L - ORA 9:30 |
|
Lunedi 25/7 | Appello: Prova Preliminare AULA L - ORA 9:30 |
Testo - - Soluzione - - Comunicazioni |
Martedì 27/7 | Prova Finale AULA L - ORA 9:30 |
|
Venerdi 16/9 | Appello: Prova Preliminare Studio prof. M.Bellia - ORA 9:30 |
Nota: iscrizione chiusa |