MODELS OF COMPUTATION Canale unico
Docente coordinatore e verbalizzante: ADOLFO PIPERNO
Docenti
Obiettivi formativi
Obiettivi generali
L'insegnamento è indirizzato all'acquisizione delle conoscenze matematiche relative ad aspetti fondamentali dei linguaggi di programmazione funzionale e imperativa con particolare attenzione ai meccanismi di esecuzione dei programmi.
Obiettivi specifici
Conoscenza e comprensione:
Alla fine del corso lo studente avrà piena comprensione degli strumenti matematici proposti.
Capacità di applicare conoscenza e comprensione:
Lo studente sarà in grado di approfondire lo studio consultando autonomamente manuali o pubblicazioni scientifiche.
Capacità critiche e di giudizio:
Le conoscenze acquisite permetteranno allo studente di individuare e confrontare in altri ambiti gli argomenti proposti nell'uso di linguaggi di programmazione, in particolare nell'ambito lavorativo.
Capacità di comunicare quanto si è appreso:
Lo studente viene stimolato ad esporre e comunicare le proprie esperienze ai suoi colleghi.
Capacità di proseguire lo studio in modo autonomo nel corso della vita:
Il corso tratta aspetti fondamentali della programmazione, assicurando allo studente la possibilità di individuarli autonomamente nell'uso di ogni particolare linguaggio.
Risultati di apprendimento attesi
Obiettivi generali
L'insegnamento è indirizzato all'acquisizione delle conoscenze matematiche relative ad aspetti fondamentali dei linguaggi di programmazione funzionale e imperativa con particolare attenzione ai meccanismi di esecuzione dei programmi.
Obiettivi specifici
Conoscenza e comprensione:
Alla fine del corso lo studente avrà piena comprensione degli strumenti matematici proposti.
Capacità di applicare conoscenza e comprensione:
Lo studente sarà in grado di approfondire lo studio consultando autonomamente manuali o pubblicazioni scientifiche.
Capacità critiche e di giudizio:
Le conoscenze acquisite permetteranno allo studente di individuare e confrontare in altri ambiti gli argomenti proposti nell'uso di linguaggi di programmazione, in particolare nell'ambito lavorativo.
Capacità di comunicare quanto si è appreso:
Lo studente viene stimolato ad esporre e comunicare le proprie esperienze ai suoi colleghi.
Capacità di proseguire lo studio in modo autonomo nel corso della vita:
Il corso tratta aspetti fondamentali della programmazione, assicurando allo studente la possibilità di individuarli autonomamente nell'uso di ogni particolare linguaggio.
Prerequisiti
Nessuno
Programma dell’insegnamento
Introduzione al lambda-calcolo, sintassi e semantica operazionale. [10 ore]
Teorema di Church-Rosser. [10 ore]
Tesi di Church. [10 ore]
Strutture dati e loro rappresentazione nel lambda-calcolo. [10 ore]
Sistemi di tipi, normalizzazione forte e debole. [10 ore]
Teorema di Böhm. [10 ore]
Testi di riferimento
Note distribuite dal docente
Bibliografia
Nessuna
Modalità di svolgimento
Didattica frontale, articolata in lezioni per circa il 70% delle ore ed in esercitazioni per il restante 30%.
Frequenza
Non obbligatoria
Modalità di esame
La prova di esame sarà scritta (fondamentale per la valutazione finale) con domande a risposta chiusa o aperta.
Si può prevedere (a richiesta dello studente) una prova orale di discussione della prova scritta.
Si prevede una prova intermedia.
Esempi di domande
beta-riduzione di lambda-termini, loro astrazione in logica combinatoria, assegnamento di tipi
- Anno accademico2024/2025
- Corso di studio a cui afferisce l’insegnamentoComputer Science - Informatica
- Codice insegnamento1047638
- Anno e semestre1º anno - 1º semestre
- TipologiaAttività formative affini ed integrative
- AmbitoAttività formative affini o integrative
- SSDINF/01
- Presenza obbligatoriaNo
- Linguaeng
- CFU6 CFU
- Durata complessiva60 ore
- Distribuzione delle ore36 classroom hours, 24 training hours