Il Corso di Laurea Specialistica in Informatica ha come obiettivo la
formazione di una figura professionale di “informatico specialista”, dotato di
una preparazione culturale di base che permetta di affrontare con successo il
progredire delle tecnologie, di contribuire al loro avanzamento e di accedere
ai livelli di studio universitario successivi (p.e. master e dottorato di
ricerca).
Il percorso formativo del Corso di Laurea Specialistica in Informatica si
propone di preparare laureati che, tra l’altro:
• possiedano solide conoscenze sia dei
fondamenti che degli aspetti applicativi dei vari settori
• conoscano approfonditamente il metodo
scientifico di indagine, comprendano e utilizzino gli strumenti di matematica
discreta e del continuo, di matematica applicata e di fisica, che sono di
supporto all’informatica ed alle sue applicazioni;
• conoscano in modo approfondito i principi, le
strutture e l’utilizzo dei sistemi di elaborazione;
• conoscano fondamenti, tecniche e metodi di
progettazione e realizzazione di sistemi informatici, sia di base sia
applicativi;
• abbiano conoscenza di diversi settori di
applicazione;
• possiedano elementi di cultura aziendale e
professionale;
• siano in grado di utilizzare fluentemente, in
forma scritta e orale, almeno una lingua
• siano in grado di lavorare con ampia
autonomia, anche assumendo responsabilità di progetti e strutture.
La laurea specialistica in Informatica oltre che l’accesso a livelli di
studio successivi consente di ricoprire, sia in aziende private che in enti
pubblici, tra l’altro, il ruolo di
• direttore di sistemi informativi,
• coordinatore di progetto,
• esperto di ricerca applicata,
• manager informatico,
• progettista di tecnologia innovativa,
• sistemista avanzato.
In particolare, lo specialista in Informatica sarà in grado di svolgere
attività che implicano l’uso di metodologie avanzate, innovative e sperimentali
nella progettazione, sviluppo, direzione lavori, stima, collaudo e gestione di
strutture, impianti, sistemi e processi complessi o innovativi elettronici, di
automazione e di generazione, trasmissione ed elaborazione
L’iscrizione alla laurea specialistica in Informatica è consentita a chi
possiede una laurea di I livello ma il riconoscimento automatico di tutti i
crediti acquisiti è previsto solo per le lauree della classe 26: Scienze e
Tecnologie Informatiche
I due anni del corso di studio prevedono:
• esami
fondamentali nel settore scientifico disciplinare INF/01 per 42 Crediti
Formativi Universitari (cfu),
• esami
interdisciplinari per 12 cfu,
• esami
complementari per 36 cfu.
• esami a scelta
dello studente in qualunque settore scientifico disciplinare per 6 cfu
• la preparazione
della prova finale per 24 cfu
Nel seguito del presente regolamento vengono descritti gli insegnamenti
fondamentali e complementari del Corso di laurea, specificando anche il settore
scientifico disciplinare, i crediti attribuiti, la sigla e il codice.
Non tutti gli insegnamenti sono obbligatori, ma per alcuni di essi è
prevista una scelta da parte degli studenti.
Annualmente, il consiglio di corso di studio potrà attivare nuovi
insegnamenti complementari.
Macchine di Turing standard e non (deterministiche e non, a più nastri,
I/O)
Linguaggi calcolabili, MdT universale
Funzioni ricorsive e linguaggi di programmazione
Totalità e diagonalizzazione
Riducibilità, problemi insolubili
Funzioni di misura di tempo e spazio
Classi (tempo/spazio) deterministiche e non. P- e NP-completezza
Altre classi (co-NP, caso, approssimazione, parallelismo)
Linguaggi, macchine astratte e macchine virtuali
Analisi lessicale e sintattica: linguaggi regolari, automi a stati finiti
Linguaggi context-free, automi a pila LL e LR
Analisi statica e generazione di codice: codici intermedi, bytecode, codici
a tre indirizzi
Attribute grammars
Realizzazione di driver e generatori
Ottimizzazione: principi, analisi dataflow
Introduzione a C++
Sistemi grafici
Fondamenti di grafica
Modello model-view-controller
Programmazione ad eventi
Sistemi di riferimento e trasformazioni geometriche
Librerie e framework per la grafica
Programmazione di interfacce grafiche
Interfacce Web
Cenni alla grafica 3D
Elementi di Semantica
Sistemi di tipi
Controllo di sequenza, procedure, ricorsione
Ambiente, scoping, parametri, moduli, classi, gestione della memoria
Analisi statica
Relazione tra traduzione e strutture a run time
Introduzione all'Intelligenza Artificiale e agli agenti intelligenti
Risoluzione dei problemi come ricerca
Rappresentazione della conoscenza e ragionamento
Pianificazione
Apprendimento automatico
Tecniche di dimostrazione per induzione e coinduzione
Specifica e dimostrazione di proprietà computazionali
Semantica operazionale strutturata
Sviluppo di specifiche mediante raffinamento
Lo studente deve scegliere due esami tra i seguenti:
Algoritmi polinomiali di ottimizzazione di reti
Approcci euristici
Tecniche di rilassamento
Algoritmi esatti per problemi NP-ardui
Elementi di teoria delle matrici
Metodi iterativi per sistemi lineari
Metodi per il calcolo degli autovalori
Il problema lineare dei minimi quadrati
Matrici con struttura e applicazioni a problemi differenziali
Approssimazione di funzioni
Oscillatore armonico, con varianti
Sistemi deterministici lineari: proprietà generali. Spazio delle fasi
Equilibrio e stabilità dei sistemi lineari
Esempi di sistemi non lineari in natura
Sistemi deterministici non lineari. Equilibrio e stabilità
Fenomeni periodici in natura
Sistemi non lineari e cicli limite: alcuni esempi
Cenni alla teoria della risposta lineare
Lo studente deve acquisire almeno 36 crediti scegliendo tra gli
insegnamenti del seguente elenco:
Modelli
Tecniche di Information Retrieval dipendenti dal mezzo espressivo
Temi “avanzati'” di Information Retrieval
I sistemi informativi direzionali
Data warehouse e OLAP
La tecnologia OLAP
Progettazione di Data warehouse
Data mining
Introduzione alla genomica e alla proteomica
Studio algoritmico di sequenze biologiche
Filogenesi ed evoluzione
Basi di dati biologici
Strumenti di base del calcolo differenziale ed integrale per funzioni
vettoriali di piu variabili
Spazi funzionali e equazioni differenziali, inquadramento teorico ed
utilizzo
Sistemi domotici e reti domotiche, le periferiche, i mezzi di
comunicazione.
Standard internazionali europei
Proposte alternative proposte o allo studio: power modulation, TCP/IP
Problemi inerenti l'interoperabilità.
Tecnologie emergenti
Domotica per persone con esigenze speciali (persone disabili ed anziane)
Il calcolatore e il trattamento dei dati linguistici: problematiche e cenni
storici
L’analisi del linguaggio come processo cognitivo e sue relazioni con la
linguistica
Fonetica, fonologia, morfologia, sintassi, semantica del mondo
La tecnologia della lingua e le sue applicazioni nella società
Modelli avanzati di illuminazione
Algoritmi per il rendering
Modellazione
Architetture per la grafica interattiva
Strutture e algoritmi per la rappresentazione di geometrie
Psicologia
Classificazione del software didattico:
Presentazione di ambienti didattici e delle attuali ricerche nel campo.
Gestione della popolazione e del territorio
Gestione amministrativa e contabile
Gestione delle risorse
Game design e story telling
Librerie per la programmazione di video game
Progettazione e realizzazione di un video game
Mettere in pratica tecniche di programmazione avanzata nella progettazione
e realizzazione di un'applicazione articolata e complessa
Apprendere l'uso di strumenti e le modalità di sviluppo in collaborazione
di gruppo
Compiere un intero ciclo di sviluppo software: dalla progettazione, alla
implementazione, al testing, all'integrazione, al rilascio
Parallelismo illimitato e parallelismo limitato
Modelli di calcolo
Algoritmi fondamentali
Algoritmi per sistemi lineari:
Trasformata di Fourier e applicazioni
Test geometrici elementari. Intersezione di segmenti
Rappresentazione di punti, poligoni
Tecnica dello ”Sweeping line''
Inviluppi convessi
Triangolazione di un poligono semplice
Problemi di ricerca su poligoni
Coppia di punti più vicini. Algoritmo di Shamos-Hoey
Organizzazione di insiemi di punti e segmenti per la ricerca veloce
Skip lists
Strumenti e le conoscenze necessarie per gestire correttamente dati
provenienti dal WWW utilizzando tecniche di data mining
La nozione di macchina virtuale (Abstract State Machine)
Macchine virtuali per piattaforme di linguaggi di programmazione (e.g. Java
Virtual Machine)
Macchine virtuali per protocollo (di mutua esclusione, di trasmissione
dati, di membership ecc)
Macchine virtuali per architetture (e.g. macchine con pipelining)
Macchine virtuali per embedded systems
Nozioni di base di micro e macro economia
Il sistema economico
La logistica interna
La logistica ed il layout
Valutazione
La logistica nell'organizzazione del lavoro in fabbrica
La logistica esterna
Qualità e logistica
Cenni sui sistemi di percezione biologici
Sistemi sensoriali artificiali antropomorfi e non antropomorfi
Tatto artificiale
Visione artificiale e tecniche di elaborazione delle immagini
Fondamenti di meccanica e controllo di robot
Cenni di navigazione robotica
Cenni sui sistemi di coordinamento senso-motorio biologici
Architetture di supervisione e controllo di robot
Schemi di controllo/coordinamento antropomorfi e non antropomorfi
Sistemi Distribuiti: Fondamenti
Naming, Sincronizzazione
Replicazione, Modelli di Consistenza
P2P middleware
Sistemi P2P non strutturati: Gnutella, Kazaa, Freenet
Sistemi P2P strutturati:Chord, Tapestry, CAN, Pastry
Applicazioni P2P: file sharing, ambienti virtuali distribuiti
Progettazione di Presentazioni Grafiche e Multimediali
Metodi per progettare e modellare applicazioni interattive
Progettazione e valutazione di Siti Web
Interfacce Utenti Adattabili e Adattive
Progettazione interfacce per dispositivi mobili
Metodi per la valutazione
Nuove tecniche di interazione
Algebra Lineare
Meccanica Quantistica
Modelli di computazione Quantum Computing
Circuiti quantistici
Macchina di Turing quantistica
Algoritmi quantistici: fattorizzazione e ricerca
Implementazioni fisiche di computers quantistici
Cenni di crittografia quantistica e teletrasporto quantistico
struttura delle reti mobili e loro classificazione
reti cellulari: GSM, GPRS, UMTS
reti celllulari: gestione della località
reti cellulari: handoff
reti ad hoc: routing
risparmio energetico
personal area networks
Processi di apprendimento
Il perceptron
Algoritmo dei Minimi Quadrati (LMS)
Perceptron multistrato
Algoritmi costruttivi
Metodi di ottimizzazione di reti multistrato: tecniche di pruning
Radial Basis Functions (RBF)
Sistemi che si autorganizzano:
Apprendimento Hebbiano
Apprendimento Competitivo
Cenni alle Reti Modulari
Introduzione alla computazione Fuzzy
Memoria FAM (Fuzzy Associative Memory)
Metodi non derivativi di ottimizzazione
Neuro-Fuzzy-Soft Computing
Introduzione alla computazione genetica
Programmazione evolutiva
Algoritmi genetici
Algoritmi evolutivi e Reti Neurali
Evoluzione
Il lambda calcolo con tipi semplici, ricorsivi e polimorfi
Subtyping
Isomorfismo di Curry-Howard
Aspetti della programmazione orientata ad oggetti relativi a tipi e
concorrenza
Elementi di teoria delle categorie
Modelli categoriali per il lambda calcolo (categorie cartesiane chiuse) e
per la programmazione concorrente e interattiva (categorie monoidali, coalgebre,
bialgebre)
Analisi dei rischi: individuazione di vulnerabilità, minacce ed attacchi
Valutazione dei rischi conseguenti
Determinazione delle possibili contromisure
Valutazione dei costi e del ritorno
Metodologie open source per l'analisi del rischio
Studio di strumenti (hardware e software) da utilizzare per proteggere il
sistema e permettere agli utenti di interagire con esso in maniera sicura
Firewall ed ids
Approcci a signature e statistici
Metodologie e strumenti informatici necessari per
a) riportare il sistema ad un corretto funzionamento
b) individuare i dati che sono stati violati
c) identificare gli attaccanti
Apprendimento
Reti neurali
Pattern recognition
Algoritmi genetici
Robotica
Il processo di knowledge discovery
Regole Associative
Classificazione con alberi di decisione
Clustering
Il routing in Internet: BGP e OSPF
Integrazione dei servizi: RSVP
IP over ATM
Protocolli di trasporto multicast: RTP
Il multicast su IP: IGMP
La tecnica del tunnelling
IPv6 per le applicazione non "best-effort"
Il protocollo WAP
Classificazione dei segnali determinati
Serie di Fourier
Proprietà degli spettri
Trasformata Continua di FourierTrasformata Discreta di Fourier. Dualità
discreto-continuo
Trasformata Finita di Fourier
Sistemi lineari
Correlazione e densità spettrale
Campionamento di segnali
Relazioni fra le varie Trasformate di Fourier.
Esempi di applicazioni di metodi di analisi di segnali in diverse
discipline
Metriche per la descrizione della qualità del servizio
Gli strumenti per la acquisizione delle metriche
Lo spettro della "Long range dependence"
La tipologia di servizio "less than best effort"
Architettura Datagrid/MDS e il protocollo LDAP
Altre architetture ed applicazioni
Ogni anno di corso è articolato su due semestri,
Per tutti i corsi la valutazione
I corsi di insegnamento hanno di norma un esame composto da una prova
scritta e da una prova orale.
I corsi di laboratorio non prevedono un esame finale, ma una valutazione
fatta dal docente durante lo svolgimento del corso mediante prove in itinere
e/o progetto finale.
Il numero di esami fondamentali della laurea è 8.
Agli esami fondamentali devono essere aggiunti quelli a scelta dello
studente (6 cfu in qualunque settore scientifico disciplinare) e gli esami
complementari (per 36 cfu). Il numero complessivo degli esami varia tra 8 e 15.
Anno di corso |
Primo semestre (insegnamento) |
cfu |
Esame? |
Secondo semestre (insegnamento) |
cfu |
Esame? |
Primo |
Calcolabilità e complessità |
9 |
SI |
Tecniche
di Specifica e dimostrazione |
6 |
SI |
|
Linguaggi |
6 |
SI |
Compilatori |
6 |
SI |
|
Sistemi intelligenti |
6 |
SI |
Esame interdisciplinare |
6 |
SI |
|
Costruzione di Interfacce |
9 |
SI |
Esame complementare |
12 |
SI/NO |
Totali |
|
30 |
4 |
|
30 |
3/4/5 |
Secondo |
Esame interdisciplinare |
6 |
SI |
A scelta dello studente |
6 |
SI/NO |
|
Esame/i complementare |
12 |
SI/NO |
Tesi di laurea |
24 |
NO |
|
Esame/i complementare |
12 |
SI/NO |
|
|
|
Totali |
|
30 |
1/2/3/4/5 |
|
30 |
0/1 |
(*) La suddivisione in anni di
corso è indicativa. In particolare i corsi complementari, interdisciplinari e a
scelta possono essere sostenuti in qualunque momento. Lo studente può acquisire
i 120 cfu necessari al conseguimento del titolo in un tempo inferiore ai due
anni.
L’esame di laurea consiste nella discussione di una tesi scritta che
rivesta caratteristiche di originalità davanti a una commissione nominata dagli
organi competenti. A seguito della discussione, al lavoro di tesi vien
Il voto di laurea viene calcolato nel modo seguente: tutte le attività
formative al termine delle quali sia stato attribuito un voto e che concorrono
a formare i 276 crediti necessari alla laurea (non tenendo conto dei 24 crediti
relativi alla tesi di laurea) contribuiscono alla formazione di un voto medio,
espresso in 110, ottenuto mediante una media pesata rispetto al numero dei
crediti di ciascuna attività. Il voto di Laurea è ottenuto sommando al voto
medio la valutazione della discussione della tesi.
Il corso di laurea specialistica in Informatica intende adottare il Sistema
CampusOne CRUI per la misura della qualità della didattica. Tale sistema è
stato sperimentato dall'anno accademico 1995/96 nell’ambito del Diploma
Universitario e consiste nella valutazione annuale della qualità delle sue
attività.