Università di Pisa
Anno Accademico 2020-21
prof. Marco Bellia
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.
Mercoledi' 24/ 02 |
Presentazione del Corso |
Presentazione |
---|---|---|
Giovedi' 25/ 02 |
Funzioni Calcolabili, Linguaggi di Programmazione, Algoritmi |
Lezione1 |
Lunedi' 01/03 |
Linguaggi: Algoritmi, Espressivita' e Paradigmi |
Lezione2 |
Martedi' 02/03 |
LaboratorioA1: Unione Disgiunta in C |
LaboratorioA1
UB0.c UB0A.c Solution.c |
Mercoledi 03/03 |
Macchine Astratte: Struttura e Realizzazione |
Lezione3 [BM]-cap.1 |
Giovedi 04/03 |
Compilatori e Interpreti: Confronto |
Lezione4 [BM]-cap.2 |
Lunedi 08/03 |
Completamenti ed Esercizi |
Esercizi Vari |
Martedi 09/03 |
ANNULLATA |
|
Mercoledi 10/03 |
Linguaggi: Sintassi, Token, Stringhe, ParseTree |
Lezione4 [BM]-cap.2 |
Giovedi 11/03 |
Linguaggi: Sintassi, Context Free Ambigue | Lezione4 [BM]-cap.2 |
Lunedi 15/03 |
Esercizi |
|
Martedi 16/03 |
LaboratorioA2: OCaml - Installazione e Uso | Guida e Tests |
Mercoledi 17/03 |
Linguaggi: Semantica SOS e Teorie I ordine | |
Giovedi 18/03 |
Funzioni di Decisione | Lezione5 [BM]-cap3 |
Lunedi 22/03 |
Esercizi Sintassi e Semantica | EserciziVari3 |
Martedi 23/03 |
LaboratorioA3: OCaml - Panoramica | |
Mercoledi 24/03 |
Modelli di Calcolo: Lambda Calcolo | |
Giovedi 25/03 |
Modelli di Calcolo: Macchina a Stati |
Lezione5 Lezione6 [BM]-cap4 |
Lunedi 29/03 |
OCaml: Tipi Algebrici | OCamlLab3b.ml |
Martedi 30/03 |
Lambda Calcolo: Sintassi Astratta in OCaml |
Last21Testo.ml Soluzioni Discusse.ml |
Mercoledi 31/03 |
Macchina Astratta: Memoria, AR, Stack di AR | Lezione6 [BM]-cap5 |
Giovedi 01/04 |
Linguaggi: Controllo di Sequenza | Lezione7 {BM]-cap6 |
Lunedi 12/04 |
Laboratorio1: Linguaggio Small21 - AST |
Small21: Aggiornato |
Martedi 12/04 |
Laboratorio1B: Small21: Sintassi Concreta |
SoluzionidiIeri |
Mercoledi 14/04 |
Comandi Strutturati, Ricorsione di coda e memoization | Lezione7 [BM]-cap6 |
Giovedi 15/04 |
Astrazioni e Forme di trasmissione dei Parametri | Lezione8 [BM]-cap7 |
Lunedi 19/04 |
Esercizi - La Macchina Astratta AM21 |
Laboratorio1B: Soluzione.ml Attivita di Oggi.pdf all1.ml |
Martedi 20/04 |
Laboratorio2: Small21 - Store e Frame di AM21 | |
Mercoledi 21/04 |
Parametri per Nome, Procedura/Funzione, Higher Order, Eccezioni | Lezione8 [BM]-cap7 |
Giovedi 22/04 |
Dati, Tipi di Dato, Tipi | Lezione9.pdf [BM]-cap8 |
Lunedi 26/04 |
Esercizi e Sistema di Tipi |
Soluzione.ml del 20/04 |
Martedi 27/04 |
Laboratorio3: AM21 - AR e Stack AR | |
Mercoledi 28/04 |
Valori, Tipi, Metodologia PreSAI | Valori Mutable , Lezione 9 |
Giovedi 29/04 |
Tipi Astratti | Lezione10 [BM]-cap9 |
Lunedi 03/05 |
Sistema di Tipi di Small21 | |
Martedi 04/05 |
Laboratorio4: Dichiarazioni di Small21 |
Esercizi del 03/04: Soluzioni |
Mercoledi 05/05 |
Tipi Astratti | |
Giovedi 06/05 |
Linguaggi Funzionali: Principi | Lezione11 [BM]-cap11 |
Lunedi 10/05 |
Esercizi Vari |
Laboratorio4:Soluzione.ml |
Martedi 11/05 |
Laboratorio5: Comandi e Statements |
Small21:Definizione.pdf (agg.) |
Mercoledi 12/05 |
Linguaggi Funzionali: Higher Order e Riuso | slides Lezione11 (v. 06/05) |
Giovedi 13/05 |
Linguaggi OO: Principi - Riuso al I ordine | Lezione12 [GM]-cap10 |
Lunedi 17/05 |
Completeremo l'attiva' del 10/07 |
Esercizio5 |
Martedi 18/05 |
Laboratorio6: Inline e Proc-Fun Block | |
Mercoledi 19/05 |
Java: Fondamenti | |
Giovedi 20/05 |
Java: AST, AR, Esecuzioni | |
Lunedi 24/05 |
Java: Considerazioni ed Esercizi | |
Martedi 25/05 |
Laboratorio7: Array Statici | |
Mercoledi 26/05 |
Java: Fondamenti II | |
Giovedi 27/05 |
Esami di Fine Corso | |
Seminari Progetto |
||
Martedi 15/06 |
Trasmissione per Costante e Condivisione di Array in Small21 |
|
Lunedi 5/07 |
Dichiarazione Multipla di Variabili e Trasmissione Multipla di Parametri |
|
Lunedi 5/07 |
Switch e le correlate case, default, break in Small21: Una definizione C quasi integrale |
|
Giovedi 29/07 |
Trasmissione per Nome in Small21 |
|
Giovedi 29/07 |
Trasmissione per Procedura e Funzione in Small21 con Deep Binding |
|
Giovedi 02/09 |
Il costrutto For del Pascal in Small21 |
|
Venerdi 17/09 |
nat come sottotipo di int in Small21 |
|
Martedi 19/10 |
Trasmissione per Result e per Value-Result in Small21 |
|
Martedi 26/10 |
Puntatori di C: Valori ed operatori &, *, new, in Small21 |
|
Giovdi 28/10 |
Funzioni con Invocazioni Tail Recursive in Small21 |
|
Venerdi 29/10 |
Variabili ed Espressioni per Inizializzazione ed Assegnamento di Array in Small21 |
|
Venerdi 29/10 |
Iteratore while-do e comando continue di C in Small21 |
|
Venerdi 29/10 |
Tipi e Valori Record in Small21 |
|
> | ||
> |