Università degli Studi di Perugia

Insegnamento FUNCTIONAL PROGRAMMING

Nome del corso di laurea Matematica
Codice insegnamento A002256
Curriculum Matematica per la crittografia
Docente responsabile Stefano Marcugini
Docenti
  • Stefano Marcugini
Ore
  • 42 Ore - Stefano Marcugini
CFU 6
Regolamento Coorte 2020
Erogato Erogato nel 2020/21
Erogato altro regolamento
Attività Affine/integrativa
Ambito Attività formative affini o integrative
Settore INF/01
Periodo Primo Semestre
Tipo insegnamento Obbligatorio (Required)
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento Inglese
Contenuti Paradigma programmazione funzionale.
Linguaggio Ocaml.
Ricorsione.
Pattern matching.
Liste.
Backtracking.
Grafi.
Algoritmi di ricerca.
Cenni di lambda-calcolo.

Realizzazione di un parser.
Testi di riferimento M. Cialdea Mayer, C. Limongelli. Introduzione alla Programmazione Funzionale. Esculapio.

http://caml.inria.fr/ (per scaricare interprete e documentazionein inglese)
Obiettivi formativi Risultati d'apprendimento previsti.

Orientati alle conoscenze.
Conoscenza delle principali tecniche di modellazione di problemi basate su agenti nel settore dell'intelligenza artificiale.
Conoscenza delle principali tecniche di ricerca nello spazio degli stati, non informata, informata, di ricerca locale, basate su ragionamento automatico, inferenza, pianificazione automatica.
Apprendimento con rinforzo e ottimizzazione di politiche.
Conoscenza delle principali tecniche di modellazione di problemi basate su reti complesse ed applicazioni al settore dell'intelligenza artificiale.
Conoscenza delle problematiche etiche nell'intelligenza artificiale

Conoscenza del paradigma di programmazione funzionale e aspetti di base del lambda calcolo, tecniche di backtracking, pattern matching


Orientati alle abilita'.
Capacita' di utilizzare le conoscenze apprese per modellare, progettare e implementare soluzioni di problemi applicativi reali caratterizzati da agenti artificiali e/o reti complesse.
Capacità di modellare ed implementare applicazioni intelligenti utilizzando tecniche di pattern matching, ed il paradigma funzionale
Capacità di progettare strutture dati complesse.
Capacità di realizzare applicazioni basate sul paradigma funzionale
Prerequisiti Nessuno
Metodi didattici lezioni frontali, esercitazioni
Altre informazioni Sito del Corso:
www.unistudium.unipg.it

Calendario esami:
consultare il sito www.informatica.unipg.it
Modalità di verifica dell'apprendimento Progetto assegnato dal docente e prova orale.

Lo svolgimento del progetto è finalizzato a verificare la capacità di applicare correttamente le conoscenza teoriche e la capacità di comprensione delle problematiche proposte.

La prova orale consiste in una discussione della durata di circa 30 minuti finalizzata a accertare il livello di conoscenza e di comprensione sui contenuti teorici del corso raggiunto dallo studente. Inoltre la prova orale consentirà di verificare la capacità di comunicazione dello studente con proprietà di linguaggio ed organizzazione autonoma dell'esposizione.

Su richiesta dello studente l'esame puo' essere sostenuto anche in lingua Inglese.

Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa
Programma esteso Paradigma programmazione funzionale.
Linguaggio Ocaml.
Ricorsione.
Pattern matching.
Liste.
Backtracking.
Grafi.
Algoritmi di ricerca.
Ricerca in profondita', ricerche in ampiezza, ricerche euristiche. Branch and bound, algoritmo A*.
Cenni di lambda-calcolo.
Implementazione di un parser.
Condividi su