Obiettivi formativi

Il corso mira a fornire le conoscenze fondamentali per comprendere la natura profonda degli strumenti, dei metodi e dei problemi della specifica di sistemi software basata su canoni di rigore matematico e orientata da principi di progettazione di alta qualità.

Si presta particolare attenzione agli aspetti concettuali più che all'esposizione di metodi particolari, al fine di favorire la costruzione di un bagaglio culturale persistente rispetto alla continua evoluzione del settore dei metodi formali di specifica del software.

Il programma del corso richiede una precedente familiarità con i concetti basilari di logica e con le principali tematiche dell'ingegneria del software.

Attività formative

Il corso prevede lo svolgimento di 32 ore di lezioni ed esercitazioni frontali in aula e di 12 ore di esercitazioni in laboratorio.

L'apprendimento della materia è sostenuto dallo studio dei materiali didattici di riferimento, nonché di eventuali altri materiali bibliografici opzionali, e dal loro uso per la produzione di contributi durante lo svolgimento del corso, quali: sviluppo di esercizi, elaborazione di tesine, approfondimento di temi speciali d'interesse, sperimentazione in laboratorio, presentazione di seminari, etc.

Temi speciali di interesse di questa edizione del corso sono:

  1. metodi di specifica evolutiva di sistemi software
  2. metodi di sintesi di programmi da specifiche formali
  3. formalizzazione del processo di sviluppo del software
nonché i temi risultanti da combinazioni dei temi suddetti.

Programma del corso