Programma di Modulo I:

OBIETTIVI FORMATIVI:   Il corso intende fornire allo studente una panoramica dettagliata dei linguaggi di programmazione che implementano paradigmi diversi dal solo modello procedurale visto nei corsi precedenti.    

 

CONOSCENZA E CAPACITÀ DI COMPRENSIONE:    Conoscenza di modelli non procedurali alla programmazione.     

 

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:   Ricerca di soluzioni basate su modelli di programmazione non esplicitamente procerurale.  

 

AUTONOMIA DI GIUDIZIO:    Comprensione di quale sia l'approccio di programmazione migliore dato l'ambito di applicazione.   

 

ABILITÀ COMUNICATIVE:   Lo studente avrà la capacità di descrive i modelli non procedurali.  

 

CAPACITÀ DI APPRENDIMENTO:   Richesta una rivoluzione nella modalità di pensare a chi è abituato a pensare proceduralmente.   

 

 

PROGRAMMA

 

Paradigma Dichiarativo: In questa parte del corso, si vuole introdurre lo studente alla programmazione dichiarativa basata sulla logica. Dopo una prima analisi delle differenze dei paradigmi di programmazione procedurali e dichiarativi, viene introdotto il Prolog come un linguaggio dichiarativo. Il linguaggio verrà descritto dal punto di vista sintattico e verranno introdotti i principali tipi di dati e gli operatori. Verranno descritte delle applicazioni nell'ambito dell'intelligenza artificiale e dell'elaborazione del linguaggio naturale. Verrà infine introdotta il legame con la logica dei predicati e con la logica del prim'ordine.

Paradigma Funzionale: In questa parte del corso, lo studente verrà introdotto ai principi di programmazione funzionale. Il linguaggio utilizzato è il Python che è un linguaggio ibrido che contiene alcuni di questi principi.

 

MODALITA' D'ESAME

L'esame consta di una prova al calcolatore nella quale si chiede di realizzare dei programmi che soddisfino i requisiti / risolvano i problemi descritti nel testo fornito agli studenti. Successivamente, lo studente discute con i professori la prova effettuata e infine affronta una prova orale sugli aspetti più teorici del corso.    

 

TESTI  

 

Paradigma Dichiarativo: I. Bratko, Prolog Programming for Artificial Intelligence, Addison Wesley