Università di Pisa
Anno Accademico 2014-15
docenti: proff. Marco Bellia, Vincenzo Ciancia
Guide to the material study. The participation to the lesson is the first fundamental step in the study of the course. During the lesson, all the material that is essential for the study of the arguments of the lesson, will be presented and discussed, together with indications on the complementary readings, if any. The next step is the individual revision of the content of the slides that have been discussed during the last lesson. This revision must be done before the next lesson and consists in re-consider each sentence, formula, example in the slide, and motivate each of them. In this revision, the complementary readings should be of help. Solve and discuss all the proposed exercises, if any. Use this activity as the basis for reading additional papers or book chapters that You consider of value for the study of the arguments of the lesson, and/or again, challenge Himself in dealing with issues (problems, exercises) that are related to such arguments.
Finally, annotate any question or doubt and use the question time to discuss them with Myself during the week.
Lunedì 23/2 | Presentazione; Linguaggi, programmi, funzioni calcolabili | Introduzione (slides 1-12) |
---|---|---|
Martedì 24/2 | LP: Struttura, Potenza e Espressività, Metodologie, Classificazioni | Introduzione (slides 13-20) |
Mercoledì 25/2 | Linguaggi Low/Hight Level, Macchine Astratte e implementazione | MacchineAstratte (slides 1-9) |
Lunedì 2/2 | Macchine Intermedie: Compilatore, Interprete, e soluzioni miste | MacchineAstratte (slides 10-14) |
Martedì 3/3 | Definizione di Liaguaggi: Sintassi, Grammatiche, Stringhe, Parse Tree, Ambiguità | Sintassi |
Mercoledì 4/3 | Semantica SOS | Semantica |
Venerdì 6/3 | Esercizi, Discussioni in Aula M | EsercitazioneDel6/3 |
Lunedì 9/3 | Fondamenti di Calcolabilità e Linguaggi, Lambda-Calcolo | Fondamenti-1 |
Martedì 10/3 | Fondamenti di Linguaggi: Logica Combinatoria | Fondamenti:Completa con Esercizi |
Mercoledì 11/3 | Ambiente e Memoria nei Linguaggi e loro AM | parte1 |
Venerdì 13/3 | Esercizi, Discussioni in Aula M | EserciziDiscussiEProposti |
Lunedì 16/3 | Memoria Dinamica: Stack e Heap | parte1+parte2 |
Martedì 17/3 | Strutturare il controllo: Espressioni, Comandi | costrutti strutturati: parte1 |
Mercoledì 18/3 | Programmazione Strutturata. Ricorsione di coda | Programmi Strutturati-Completa |
Venerdì 20/3 | Laboratorio: prof. V. Ciancia | Lecture 1 |
Lunedì 23/3 | Astrazioni: Procedure, Funzioni e Mecc. di Trasmissione | in lucidi del 24/3 |
Martedì 24/3 | Astrazioni: Trasmissione di Procedure e Funzioni con Esercizio | Astrazioni |
Mercoledì 25/3 | Funzioni che calcolano funzioni e Eccezioni | Funzioni & Eccezioni |
Mercoledì 25/3 | Esercitazione: Sviluppo QS con Program. Strutturata | SA+Progettazione+StrutturaProgr. |
Venerdì 27/3 | Laboratorio: prof. V. Ciancia | Lecture 2 |
Lunedì 30/3 | Dati e Tipi | Dati e Tipi |
Martedì 31/3 | API-ADT e Moduli | API-ADT e Moduli |
Mercoledì 1/4 | Programmazione Strutturata: Studio di QSort Polimorfa | Specifica Astratta e Progetto di Sviluppo Una prima Versione in C: Seq.h , QSort.h |
Lunedì 13/4 | Linguaggi Object Oriented: Principi. Java: Classi e Oggetti | Linguaggi OO: Java - 1: Classi e Oggetti |
Martedì 14/4 | Astrazioni, Ereditarità e Riuso. Istallazione e Uso di Java | Linguaggi OO: Java - 2: Ereditarietà e Riuso |
Mercoledì 15/4 | Programmazione Strutturata: Studio di QSort Polimorfa | Versione C con liste Doubly-Linked: bool.h, mut.h, MutSubS.h, ST-Intermedio, QSort.h, ST-Finale, |
Venerdì 17/4 | Laboratorio: prof. V. Ciancia | |
Lunedì 20/4 | Java: Variabili, Campi, Descrittori di Classi e Metodi, AR e Invocazione | Java: Basics1 |
Martedì 21/4 | Java: Shadowing, Overriding, Late Binding | Java: Basics2 |
Mercoledì 22/4 | P.S.: Studio di QSort Polimorfa. Doubly Linked List in C e in Java |
class1,
class2,
class3 Esercizi di verifica |
Venerdì 24/4 | Laboratorio: prof. V. Ciancia | |
Lunedì 27/4 | Java: Overloading, Eccezioni | Java: Basics3 (slide 1-13) |
Martedì 28/4 | Java: Modificatori, ADT, Interfacce, Polimorfismo Generico | Java: Basics3(slides 14-20) |
Mercoledì 29/4 | P.S.: Studio di QSort Polimorfa in Java | QSortVersion4-PolyM.pdf |
Lunedì 4/5 | P.S.: QSort Polimorfa in Java ed Esercizi | |
Martedì 5/5 | Linguaggi Funzionali: Principi. OCaml: Tipi Concreti e Tipi Astratti | Linguaggi Funzionali: API-ADT in OCaml |
Mercoledì 6/5 | Esercizi |
RelazioneAPI
RelazioneAPI-Imm EserciziDaDiscutereLunedi |
Lunedì 11/5 | Esercizi: Implementazione Multipla | Mutable Immutable e Multipla |
Martedì 12/5 | Esercizi: API-ADT in OCaml | OCaml+Esercizi I/O in Java |
Mercoledì 13/5 | Esercizi in OCaml e in Java | HigherOrder: Memo |
Venerdì 15/5 | Laboratorio: prof. V. Ciancia | |
Lunedì 18/5 | Esercizi in OCaml: Estendere Tipi | Listing1:Ex3 Listing2:Ex3 |
Martedì 19/5 | Esercizi in OCaml e in Java | Listing2:Ex5 Listing3:Ex5 |
Mercoledì 20/5 | Esercizi in OCaml e in Java | Listing3 MutableFunRel:Ex3+Ex5 ImmutableFunRel:Ex3+Ex5 |
Venerdì 22/5 | Laboratorio: prof. V. Ciancia | |
Lunedì 25/5 | Esercizi in OCaml e in Java | SimpleTree in OCaml SimpleTree in Java |
Martedì 26/5 | Laboratorio: prof. V. Ciancia | |
Mercoledì 27/5 | Laboratorio: prof. V. Ciancia | |
Venerdì 29/5 | annullata vedi avvisi: Prova di Esame | |
Venerdì 5/6 | FacSimile Prova di Esame: Testo1ora Soluzione1ore | Sala Riunioni Est * ore 11:00-13:00 (* Dipartimento di Informatica) |
Giovedì 25/6 | Esame: Prima Prova Preliminare | Aula E1 ore 09:00-11:00 |
Giovedì 2/7 | Esame: Prima Prova Finale | Aula seminari Est* ore 16:00-17:00 |