Fondamenti - LINGUAGGI (2012/2013)

Codice insegnamento
4S02789
Docente
Massimo Merro
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Sede
VERONA
Periodo
I semestre dal 1-ott-2012 al 31-gen-2013.
Pagina Web
http://profs.sci.univr.it/~merro/linguaggi.html

Per visualizzare la struttura dell'insegnamento a cui questo modulo appartiene, consultare * organizzazione dell'insegnamento

Orario lezioni

I semestre
Giorno Ora Tipo Luogo Note
lunedì 14.30 - 16.30 lezione Aula I  
martedì 8.30 - 10.30 lezione Aula I  
mercoledì 14.30 - 16.30 lezione Aula I  

Obiettivi formativi

L'obiettivo del corso è quello di presentare le basi teoriche dei linguaggi di programmazione. A tale scopo verranno introdotti vari linguaggi sequenziali paradigmatici anche di ordine superiore. Tutto il corso sarà incentrato sui concetti di semantica operazionale e di sistema di tipo. Verranno introdotte alcune tecniche formali per la verifica del comportamento dei programmi.

Programma

Induzione:
(i) Induzione matematica sui numeri naturali;
(ii) Induzione strutturale;
(iii)Induzione su un sistema di inferenza.

Semantica operazionale:
Semantica big step e small step per semplici linguaggi sequenziali, tra cui:
(i) Exp, Bool, linguaggi per espressioni aritmetiche e booleane.
(ii) Il linguaggio imperativo While dei comandi while
(iii)I linguaggi funzionali Fun e Lambda e loro variazioni; semantiche call-by-name e call-by-value.

Sistemi di tipo
(i) Assegnamenti di Tipo per i linguaggi funzionali Fun e Lambda
(ii) Le proprieta' di Progress and preservation.
(iii) Per il linguaggio Lambda lo studente dovra' conoscere le conseguenze computazionali dell'uso dei tipi; in particolare la necessita' di usare operatori espliciti di punto fisso.

Modalità d'esame

L'esame consiste in una prova scritta e una eventuale prova orale, a discrezione del docente.

Materiale didattico

Documenti