Linguaggi di Programmazione e Laboratorio

LAUREA in MATEMATICA

Università di Pisa
Anno Accademico 2016-17
docente: 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.


Lunedì 27/2 Presentazione del corso Presentazione
Martedì 28/2 Principi di Calcolabilità: Funzioni Calcolabili e Programmi Lezione1
Giovedì 2/3 Calcolabilità, Algoritmi e Linguaggi di Programmazione Lezione2
Venerdì 3/3 Annullata
Lunedì 6/3

Macchina Astratta: Struttura e Realizzazione.
Interprete, Compilatore: Proprietà

Lezione3 (1-9) [GM] cap.1
Martedì 7/3 Interprete, Compilatore: Confronti, Front-End, RTS
Sintassi: Gramatiche, Derivazione, Ambiguità
Lezione3 (10-16) Lezione4 (1-12) [GM] cap.2
Mercoledì 8/3 Completamenti ed Esercizi testo-esercizi , Testo+Soluzioni
Giovedì 9/3 Annullata
Lunedì 13/3 Semantica: Denotazionale, Operazionale e SOS Lezione4 (12-fine) [GM] cap.2
Martedì 14/3 Modelli di Calcolo: Lambda Calcolo, Logica Combinatoria, Macchine a Stato Lezione5 (1-9) [GM] cap.3, par.11.6
Mercoledì 15/3 Completamenti ed Esercizi Lezione5 (10-17) esercizi
Giovedì 16/3 Laboratorio Definiamo SmallC: Sintassi, Semantica Laboratorio1
Lunedì 20/3 Completamenti ed Esercizi Lezione5(18-20) testo-esercizi Testo+Soluz.
Martedì 21/3 Ambiente: Binding, Scope. Memoria: Statica, Dinamica Lezione6 (1-17) [GM] cap.4-5
Mercoledì 22/3 Controllo di Sequenza: Statements atomici e strutturati Lezione7 [GM] cap6.1
Giovedì 23/3 Laboratorio Strumenti di Sviluppo: Ocaml - Istallazione e uso Esercizi + Ocaml:Listing1
Lunedì 27/3 Espressioni (divergenza, side effects), Comandi controllo sequenza Lezione7[4-14](4-14) [GM] cap.6.2-3
Martedì 28/3

Ricorsione, Tail Recursion e Memoization. Programmazione Strutturata. Astrazioni di Controllo: introduzione

C:Listing + Lezione7[14-23] [GM] cap.6.4-5
Mercoledì 29/3 Completamenti ed Esercizi testo&soluzione QSort2 Qsort3
Giovedì 30/3 Laboratorio Ocaml: Uso. Sviluppo: Dcl Uso + Dcl + Sviluppo
Lunedì 3/4 Astrazioni di controllo: Trasmissione per Valore, Costante, Reference, Risultato, Valore-Risultato, Nome, di Funzione. Higher Order ed Eccezioni Lezione8 [GM] cap.7
Martedì 4/4 Completamenti ed Esercizi Testo Testo+Soluzioni
Mercoledì 5/4 Trasmissione di Funzione. Esercizio:Trasmissione per Nome. Esercizio:TrasmXNome
Giovedì 6/4 attività rinviata al 10/4
Lunedì 10/4 Laboratorio: Exp, Cmd, Prog. Env&Store Uso + Exp,Cmd,Prog,Store + Sviluppo
Martedì 11/4 Higher Order, Eccezioni. Dati e Tipi. Lezione9 [GM] cap.8-8.8
Mercoledì 12/4 Tipi Astratti Lezione10 [GM] cap.9
Giovedì 13/4 Attività Rinviata al 20/4
Lunedì 17/4

Vacanza Accademica

Martedì 18/4 Vacanza Accademica
Mercoledì 19/4 Annullata
Giovedì 20/4 Laboratorio: Env&Store, Semantica dcl, Implementazione Env&Store&dcl + Sviluppo
Lunedì 24/4 Tipi Astratti: AF, I. Moduli Lezione10 slides 8-15
Martedì 25/4 Festa Nazionale
Mercoledì 26/4 Linguaggi Object Oriented: Principi Lezione11 slide 1-13,18 [GM] cap.10
Giovedì 27/4 Laboratorio: dcl , Semantica Exp, Implementazione OCaml dclSem + Sviluppo
Lunedì 1/5 Festa Nazionale
Martedì 2/5 Linguaggi Object Oriented: Java Basic 1 Lezione11 15-17 Lezione12 1-5
Mercoledì 3/5 Linguaggi Object Oriented: Java Basic 2 Lezione12
Giovedì 4/5 Laboratorio: exp, Implementazione OCaml expSem + Sviluppo
Lunedì 8/5 Linguaggi Object Oriented: Java Basic 3 Lezione13 Esercizi5
Martedì 9/5 Completamenti ed Esercizi Esercizi5:testo+Listing+Soluzione (aggiornato)
Mercoledì 10/5 Java: Eccezioni+Astrazioni e Riuso Lezione14
Giovedì 11/5 Laboratorio: exp, Semantica Cmd, Implementazione OCaml cmdSem + Sviluppo
Lunedì 15/5 Completamenti ed Esercizi Lezione15 + Listing
Martedì 16/5 Java Additionals: equals, clone, toString, elements Lezione16 + Listing + Vector + LinkedList
Mercoledì 17/5 Linguaggi Funzionali: Principi Lezione17 + Listing
Giovedì 18/5 Laboratorio: Sincronizzazione Codice Prodotto SmallC + Sviluppo
Lunedì 22/5 Completamenti ed Esercizi: Astrazioni in java, Ocaml Testi (1,2)+ Listings&Soluzioni
Martedì 23/5 Completamenti ed Esercizi: Estensioni e Additionals Testi (3,4) + Listing&Soluzioni + Clone: Metodologia
Mercoledì 24/5 Completamenti ed Esercizi: Estensioni e Additionals Testi (5,7) + Listing&Soluzioni
Giovedì 25/5 Laboratorio: Conclusioni e Comunicazione Valutazioni SmallC + Sviluppo
Lunedì 29/5 Completamenti ed Esercizi Testi + Listing&Soluzioni
Martedì 30/5 Esercizi: Astrazioni in Java Testi + Listing&Soluzioni
Mercoledì 31/5 Esercizi: Estensioni in Java Testi + Listing&Soluzioni
Giovedì 1/6 Esercizi: Estensioni in Ocaml e Java Testi + Listing&Soluzioni (*)
 
Lunedì 19/6 Appello: Prova Preliminare
AULA P1 - ORA 9:00
Testo - - Soluzione - - Comunicazioni
Venerdì 23/6 Prova Finale
AULA E1 - ORA 15:00
Iscrizione
Venerdì 30/6 Prova Finale
AULA E1 - ORA 15:00
Iscrizione
Giovedì 6/7 Appello: Prova Preliminare
AULA P1 - ORA 9:00
Testo - - Soluzione - - Comunicazioni
da fissare Prova Finale
AULA - ORA
Comunicazioni
Lunedì 24/7 Appello: Prova Preliminare
AULA P1 - ORA 9:00
Testo - - Soluzione - - Comunicazioni
da fissare Prova Finale
AULA - ORA
Comunicazioni