Università di Pisa
Anno Accademico 2018-19
docente: prof. Marco Bellia, dott.ssa Francesca Pistolato
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, formulazione 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 ancora 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.
Martedì 26/2 | Presentazione del corso. Principi di Calcolabilità: Funzioni Calcolabili e Programmi | Presentazione Lezione1
EserciziLezione1 [GM] Cap.1 |
---|---|---|
Mercoledì 27/2 | Linguaggi di Programmazione: Macchina Astratta, Funzione Universale. Classificazione e Spettro | Lezione2
EserciziLezione2
[GM] Cap.1 e Cap.13 |
Giovedì 28/2 | Macchina Astratta: Struttura e Realizzazione. Interprete, Compilatore, Macchine virtuali | Lezione3
Esercizi3Lezione3
[GM] Cap.1 |
Venerdì 28/2 | Laboratorio: A1. Uso Strumenti, Esercizi di Espressivita' | LaboratorioA1 Listings01-03-19.zip |
Martedì 05/3 | Completamento Lezione3. Esercizi | |
Mercoledì 06/3 | Lessico, Sintassi, Grammatiche. | Lezione4:Parte1 [GM] Cap.2 |
Giovedì 07/3 | Sintassi Astratta, AST. Semantica SOS. | Lezione4:Parte2 [GM] Cap.2 |
Venerdì 8/3 | Laboratorio: A2. Sintassi Concreta in C | LaboratorioA2 Listing3.zip |
Martedì 12/3 | Sintassi, Semantica: Esercizi |
EserciziVari CastEAllocazione.zip |
Mercoledì 13/3 | Decidibilita' e Modelli di Calcolo: Lambda-Calcolo | Lezioni5(Parte1) [GM] Cap.3 |
Giovedì 14/3 | Modelli di Calcolo: Macchina a Stati | Lezioni5(Parte2) |
Venerdì 15/3 | Laboratorio: A3.Sintassi Astratta in C | LaboratorioA3
UnionEx.c
ParseTreeEDeriva.zip Sviluppo.zip |
Martedì 19/3 | Modelli di Calcolo: Esercizi Ambiente, Memoria, AR |
EserciziVari(5bis,7,7bis) Lezione6(parte1)[GM]Cap.4 |
Mercoledì 20/3 | AR: Struttura e Proprieta` Ciclo Interpretativo di AM a Stack di AR |
Lezione6(parte2)[GM]Cap.5 |
Giovedì 21/3 | Controllo di Sequenza nei L. Prescritti Linguaggi Funzionali: Principi |
Contr. di Seq. (parte1) [GM]Par6.1-6.3 L.F.: Principi [GM]Par11.1-11.2 |
Venerdì 22/3 | Laboratorio: Sincronizzazione Codice di LaboratorioA3 Linguaggio SmallC: Sinatassi Astratta Strumenti. OCaml: Istalazione e Uso |
Avviso LaboratorioA3.zip Laboratorio1.pdf OCamlLab1.ml |
Martedì 26/3 | OCaml: Termini, Patter, Costrutti match_with e function |
SAT Ocaml del Lambda Calcolo: tipi SAT Ocaml Lambda Calcolo: operazioni SAT Ocaml del Lambda Calcolo: test Esercizio |
Mercoledi 27/3 | Controllo: Comandi. Blocchi: Stack di AR |
Controllo di Sequenza [GM]Cap.6 |
Giovedi 28/3 | Astrazioni di Controllo: Procedure, Funzioni e Trasmissione Valore, Costante, Reference, Nome, Funzione. Higher Order |
AstrazionidiControllo [GM]Cap.7 Rinviata a Martedi 2/4 |
Venerdì 29/3 | Laboratorio: SmallC: Implementazione SAT ed operazioni associate |
Laboratorio2.pdf SmallC.ml |
Martedi 02/4 | Astrazioni di Controllo: Lezione non svolta Giovedi 28/3 | Materiale di giovedi 28/03 [GM]Cap.7 |
Mercoledi 03/4 | Dati, Tipi di Dato, Tipi. Tipi Union e Tipi Algebrici | Lezione9 [GM]Cap.8 |
Giovedi 04/4 | SmallC: Semantica SOS, Stato e Dichiarazioni | |
Venerdì 05/4 | Laboratorio SmallC: Semantica SOS, Stato, Store, Env |
Laboratorio3.pdf SmallC.ml (aggiornato) |
Martedi 09/4 | Esercizi: I tipi store e env di SmallC, Trasmissione |
SmallC SoluzioneEx1 SoluzioneEx2 SoluzioneEx3 Trasmissione: value, reference |
Mercoledi 10/4 | Tipi di Dato Astratto | Lezione10 [GM]Cap.9 |
Giovedi 11/4 | Tipi Astratti mediante Moduli e Classi | Lezione10 (aggiornata) [GM]Cap.9 |
Venerdì 05/4 | Laboratorio SmallC: Semantica SOS, Stato, Dichiarazioni |
Laboratorio4.pdf
SmallC.ml (aggiornato) Soluzione.ml |
Martedi 16/4 | Annulata: Indisponibilta Aula | |
Mercoledì 17/4 | Linguaggi Object Oriented | Lezione11[GM]Cap.10 |
Giovedì 18/4 | Java: Programmazione Procedurale |
Lezione12 (aggiornata) EserciziVari |
Martedì 30/4 | Completamento Lez.12 ed Esercizi Vari | vedi materiale di giovedi 18/4 |
Giovedì 02/5 | Java: Basilari di Gerarchia di classi | Lezione13 |
Venerdì 03/5 | Laboratorio SmallC: Semantica SOS, Espressioni e Comandi |
Laboratorio5.pdf SmallC.ml |
Martedì 07/5 | Completamento Lezione 13, Vector, Iset: Testo e Sviluppo |
Vector.pdf Iset.java |
Mercoledì 08/5 | Programmare Nuovi Tipi di Dato: Immutable in Java e in Ocaml |
Lezione14 Iset.java |
Giovedì 09/5 | Interfacce: Usi, Eccezioni: Costrutti, Dati Astratti: Meccanismi per esprimerli in Java | Lezione15 |
Venerdì 10/5 | Laboratorio SmallC: Semantica SOS, Espressioni e Comandi |
Laboratorio6.pdf SmallC.ml |
Martedì 14/5 | Completamento Lezione 15: Polimorfimo Generico. Esercizi: StackImm, StackImm2, StackADT |
StackImm.java StackImm2.java StackImm2ADT.java |
Mercoledì 15/5 | Polimorfismo di Sottotipo. Tipi Astratti Mutable e Immutable. Studio di un Caso |
Lezione16 STACKS.zip |
Giovedì 16/5 | Completamento Lezione 16: Stack Mutable. Equivalenza di Tipi in Java. Metodi Additionals: equals con generici. | Lezione17Parte1.pdf |
Venerdì 17/5 | Laboratorio SmallC: Varianti ed Uso |
Laboratorio7.pdf SmallC.ml (aggiornato) |
Martedì 21/5 | Equals: per Sostituzione e strutturale. Clone: Mecanismo. Clone: Shallow. Clone Intermediate e Deep: l'interfaccia MuCloneable | Lezione17P1-2-3 |
Mercoledì 22/5 | Linguaggi Funzionali: Proprieta' Generali e in OCaml. Tipi di dato, Tipi Polimorfi. Higher Order. Tipi Astratti. | Lezione19Parte1e2.pdf [GM] Cap.11 |
Giovedì 23/5 | Linguaggi Funzionali: Principio di Astrazione, Riuso. Astrazioni di Pattern: Higher Order, Fold, map, filter. Verifica ed Efficienza: Dimostrazione di una proprieta` | Lezione19Parte2.pdf |
Venerdì 24/5 | Esercitazione Pratica: Programmazione con OCaml e con Java |
TipiAstratti.pdf Listing.zip |
Martedì 28/5 | Completamenti ed Esercizi |
PolySet.ml (soluzione) Listing.zip (soluzione) |
Lunedi 03 Giugno | Appello: Prova Preliminare AULA M1 - ORA 14:00 |
Iscrizione Obbligatoria Testo Allegati OCaml Java |
Venerdi 14 Giugno | Prova Finale AULA Seminari Est (dip. Informatica) - ORA 16:00 |
Iscrizione Obbligatoria |
Lunedi 24 Giugno | Appello: Prova Preliminare AULA M1 - ORA 09:00 |
Iscrizione Obbligatoria Testo Allegati OCaml Java |
Venerdi 5 Luglio | Prova Finale AULA Seminari Est (dip. Informatica) - ORA 09:00 |
Iscrizione Obbligatoria |
Giovedi 18 Luglio | Appello: Prova Preliminare AULA M1 - ORA 09:00 |
Iscrizione Obbligatoria Testo Allegati OCaml Java |
Martedi 30 Luglio | Prova Finale AULA Seminari Est (dip. Informatica) - ORA 09:00 |
Iscrizione Obbligatoria |
Lunedi 2 Settembre | Appello: Prova Preliminare AULA M1 - ORA 14:00 |
Iscrizione Obbligatoria Testo Allegati OCaml Java |
Venerdi 6 Settembre | Prova Finale AULA Riunioni Est (dip. Informatica) - ORA 09:00 |
Iscrizione Obbligatoria |
Mercoledi 8 Gennaio 2020 | Appello: Prova Preliminare AULA L - ORA 09:00 |
Iscrizione Obbligatoria Testo Allegati OCaml Java |
da concordare | Appello: Prova Finale |
Iscrizione Obbligatoria |
Giovedi 23 Gennaio 2020 | Appello: Prova Preliminare AULA L - ORA 09:00 |
Iscrizione Obbligatoria Testo Allegati OCaml Java |
da concordare | Appello: Prova Finale |
Iscrizione Obbligatoria |
> | ||
> | ||
> |
(