• Slides del corso
  • Programma. Obiettivi, Materiale didattico e strumenti, Inquadramento storico
  • Macchine astratte, interpretazione e compilazione
  • Elementi di semantica operazionale
  • OCAML
  • Tipi di dato
  • Espressioni e comandi (funzionale ed imperativo puri)
  • Blocchi e ambiente (linguaggio funzionale e imperativo)
  • Sottoprogrammi e funzioni nel linguaggio funzionale
  • Sottoprogrammi nel linguaggio imperativo
  • Classi e oggetti
  • Passaggio di parametri
  • Implementazione dell'ambiente in linguaggi funzionali
  • Implementazione della memoria a pila nel linguaggio imperativo
  • Implementazione degli oggetti
  • Gestione della memoria a heap
  • Supporto a tempo di esecuzione
  • Java 1
  • Java 2
  • Java3
  • Java 4
  • Astrazioni
  • Astrazioni procedurali
  • Eccezioni
  • Dimostrazioni sulle procedure
  • Specifica di astrazioni sui dati
  • Implementazione di astrazione sui dati
  • Un esempio: specifica ed implementazione dellÕambiente
  • Dimostrazioni sui tipi di dato
  • Esempio; S-espressioni
  • Esempio: lista ordinata
  • Iteratori
  • Esempio: iteratore per lista ordinata
  • Esempio: Iteratore per S-espressioni
  • Gerarchie di classi
  • Gerarchie di classi 2
  • Esempio: S-espressioni come classi astratte
  • Polimorfismo
  • Esempio: liste polimorfe
  • Programmi ML (da scaricare)
  • Programmi ML su Data Types
  • Programmi ML su Semantica di espressioni pure e comandi puri, blocchi funzionali e imperativi, funzioni e procedure, classi e oggetti; Implementazione dell'ambiente in linguaggi funzionali; Implementazione di memoria e heap in linguaggi imperativi e orientati ad oggetti (con istruzioni per l'uso)
  • Compiti vecchi