Insegnamento FUNCTIONAL PROGRAMMING

Corso
Matematica
Codice insegnamento
A002256
Curriculum
Matematica per la crittografia
Docente
Stefano Marcugini
Docenti
  • Stefano Marcugini
Ore
  • 42 ore - Stefano Marcugini
CFU
6
Regolamento
Coorte 2022
Erogato
2022/23
Attività
Affine/integrativa
Ambito
Attività formative affini o integrative
Settore
INF/01
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