In questo corso studieremo la teoria del ``linguaggi di programmazione'' che e' il fondamento della costruzione del software. Lo scopo principale e' quello di descrivere il comportamento dei programmi in modo preciso ma allo stesso tempo astratto. Saranno analizzati i costrutti dei linguaggi imperativi, funzionali e ad oggetti sia dal punto di vista della semantica statica (tipi) che dinamica (esecuzione) e la loro interazione.

Scopo del corso e' fornire allo studente gli strumenti necessari per la progettazione di sistemi intelligenti a supporto delle decisioni, basati sulla teoria delle decisioni ed i modelli grafico-probabilistici tipici dell'Intelligenza Artificiale (Influence Diagrams, Reti Bayesiane, ecc...). 

Il corso ha lo scopo di fornire allo studente le conoscenze relative alla progettazione di sistemi multimediali, delle principali codifiche audio/video/immagini ed alla produzione di software per il trattamento di immagini.