Fondamenti - LINGUAGGI (2015/2016)

Codice insegnamento
4S02789
Docente
Massimo Merro
crediti
6
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Periodo
I semestre dal 1-ott-2015 al 29-gen-2016.
Pagina Web
http://profs.scienze.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
martedì 10.30 - 12.30 lezione Aula I  
mercoledì 8.30 - 10.30 lezione Aula I  
giovedì 10.30 - 12.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 e loro variazioni; semantiche call-by-name e call-by-value.
(iv) I linguaggi ad oggetti.

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.

Opinione studenti frequentanti - 2015/2016