Regolamento Didattico del Corso di Laurea Specialistica in Informatica

1. Obiettivi formativi

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 dell’informatica;

   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 dell'Unione Europea oltre l'italiano, con riferimento anche ai lessici disciplinari;

   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 dell’informazione

2. Articolazione del corso di studio

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 dell’Università di Pisa. In tutti gli altri casi è necessaria una valutazione puntuale.

 

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.

3. Insegnamenti fondamentali

Formazione Informatica (crediti totali 42)

Calcolabilità e complessità (CC INF/01 AA025 cfu 9)

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)

Compilatori (COP INF/01 AA026 cfu 6)

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

Costruzione di interfacce (CI INF/01 AA027 cfu 9)

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

Linguaggi (LIN INF/01 AA029 cfu 6)

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

Sistemi Intelligenti I (SI1 INF/01 AA035 cfu 6)

Introduzione all'Intelligenza Artificiale e agli agenti intelligenti

Risoluzione dei problemi come ricerca

Rappresentazione della conoscenza e ragionamento

Pianificazione

Apprendimento automatico

Tecniche di specifica e dimostrazione (TSD INF/01 AA031 cfu 6)

Tecniche di dimostrazione per induzione e coinduzione

Specifica e dimostrazione di proprietà computazionali

Semantica operazionale strutturata

Sviluppo di specifiche mediante raffinamento

Formazione Interdisciplinare (crediti totali 12)

Lo studente deve scegliere due esami tra i seguenti:

Ottimizzazione combinatoria e reti (ORC MAT/09 AA413 cfu 6)

Algoritmi polinomiali di ottimizzazione di reti

Approcci euristici

Tecniche di rilassamento

Algoritmi esatti per problemi NP-ardui

Matematica computazionale (MC MAT/08 AA039 cfu 6)

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

Modelli della Fisica (MF FIS/02 BB002 cfu 6)

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

4. Insegnamenti complementari

Lo studente deve acquisire almeno 36 crediti scegliendo tra gli insegnamenti del seguente elenco:

Tutti gli insegnamenti complementari della Laurea di I livello in Informatica.

Algoritmi per “Information Retrieval” (AIR INF/01 AA239 cfu 6)

Modelli dell'Information Retrieval e relative funzioni di matching

Tecniche di Information Retrieval dipendenti dal mezzo espressivo

Temi “avanzati'” di Information Retrieval

Basi di dati distribuite e parallele (BDD INF/01 AA251 cfu 6)

Basi di dati di supporto alle decisioni (BDS INF/01 AA250 cfu6)

I sistemi informativi direzionali

Data warehouse e OLAP

La tecnologia OLAP

Progettazione di Data warehouse

Data mining

Bioinformatica (BIO INF/01 AA252 cfu 6)

Introduzione alla genomica e alla proteomica

Studio algoritmico di sequenze biologiche

Filogenesi ed evoluzione

Basi di dati biologici

Complementi di Analisi Matematica (CAM MAT/08 AA253 cfu 6)

Strumenti di base del calcolo differenziale ed integrale per funzioni vettoriali di piu variabili

Spazi funzionali e equazioni differenziali, inquadramento teorico ed utilizzo

 

Domotica (DOM INF/01 ZY364 cfu 6)

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)

Elaborazione del linguaggio naturale (ELN INF/01 AA255 cfu 6)

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à dell’informazione

Fondamenti di grafica tridimensionale (FGT INF/01 AA545 cfu 6)

Modelli avanzati di illuminazione

Algoritmi per il rendering

Modellazione

Architetture per la grafica interattiva

Strutture e algoritmi per la rappresentazione di geometrie

Fondamenti dei linguaggi di programmazione: automi (FA INF/01 AA424 cfu 3)

Fondamenti dei linguaggi di programmazione: linguaggi logici (FLL INF/01 AA504 cfu 3)

Informatica e didattica (ID INF/01 AA256 cfu 6)

Psicologia dell'apprendimento

Classificazione del software didattico:

Presentazione di ambienti didattici e delle attuali ricerche nel campo.

Informatica per enti pubblici (IEP INF/01 AA257 cfu 6)

Gestione della popolazione e del territorio

Gestione amministrativa e contabile

Gestione delle risorse

Laboratorio di computer games (LCG INF/01 AA549 cfu 6)

Game design e story telling

Librerie per la programmazione di video game

Progettazione e realizzazione di un video game

Laboratorio di informatica musicale (LIM INF/01 AA258 cfu 6)

Laboratorio orientato alle applicazioni (LOA INF/01 AA274 cfu 12)

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

Laboratorio di sistemi informativi economico/aziendali (LSA INF/01 ZY116 cfu 6)

Matematica computazionale: calcolo parallelo (MCP MAT/08 AA241 cfu 6)

Parallelismo illimitato e parallelismo limitato

Modelli di calcolo

Algoritmi fondamentali

Algoritmi per sistemi lineari:

Trasformata di Fourier e applicazioni

Matematica computazionale: geometria computazionale (MCG MAT/08 AA242 cfu 6)

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

Matematica computazionale: metodi per equazioni differenziali (MCM MAT/08 AA362 cfu 6)

Mining di dati web (MDW INF/01 AA546 cfu 6)

Strumenti e le conoscenze necessarie per gestire correttamente dati provenienti dal WWW utilizzando tecniche di data mining

Modellazione e analisi di sistemi complessi (MAS INF/01 AA244 cfu 6)

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

Organizzazione della produzione e sistemi logistici (OP SECS-P/08 PP323 cfu 6)

Nozioni di base di micro e macro economia

Il sistema economico

La logistica interna

La logistica ed il layout

Valutazione dell'investimento in macchine e sistemi informatizzati

La logistica nell'organizzazione del lavoro in fabbrica

La logistica esterna

Qualità e logistica

Percezione robotica (Pro INF/01 AA283 cfu 6)

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

Peer to peer computing (P2P INF/01 AA547 cfu 6)

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 interfacce e valutazione dell’usabilità (PIV INF/01 AA265 cfu 6)

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 dell'Usabilità

Nuove tecniche di interazione

Quantum computing (QC INF/01 AA267 cfu 6)

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

Reti Mobili (RM INF/01 AA268 cfu 6)

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

Reti Neurali I (RN1 INF/01 AA245 cfu 6)

Processi di apprendimento

Il perceptron

Algoritmo dei Minimi Quadrati (LMS)

Perceptron multistrato

Algoritmi costruttivi

Reti Neurali II (RN2 INF/01 AA285 cfu 6)

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

Semantica e Teoria dei Tipi (STT INF/01 AA269 cfu 6)

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)

Sicurezza nelle reti informatiche 1 (SR1 INF/01 AA286 cfu 6)

Analisi dei rischi: individuazione di vulnerabilità, minacce ed attacchi

Valutazione dei rischi conseguenti

Determinazione delle possibili contromisure

Valutazione dei costi e del ritorno dell'investimento

Metodologie open source per l'analisi del rischio

Sicurezza nelle reti informatiche 2 (SR2 INF/01 AA287 cfu 6)

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

Sistemi informativi aziendali (SIA INF/01 AA353 cfu 6)

Sistemi intelligenti II (SI2 INF/01 AA036 cfu 6)

Apprendimento

Reti neurali

Pattern recognition

Algoritmi genetici

Robotica

Storia dell’informatica (SDI INF/01 AA550 cfu 3)

Tecniche di data mining (TDM INF/01 AA270 cfu 6)

Il processo di knowledge discovery

Regole Associative

Classificazione con alberi di decisione

Clustering

Tecnologie di convergenza su IP (TIP INF/01 AA271 cfu 6)

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

Teoria dei Segnali (TSE INF/01 AA275 cfu 6)

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

Trattamento della qualità del servizio in Internet (TQI INF/01 AA273 cfu 3)

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

5. Organizzazione didattica

Didattica su semestri

Ogni anno di corso è articolato su due semestri,

Esami

Per tutti i corsi la valutazione dell’esame è espressa in 30esimi.

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.

Allocazione degli insegnamenti sugli anni di corso e sui semestri (*)

 

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.

Prova finale per il conseguimento del titolo

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 vienSistema Qualità.scuna attività. attribuita una valutazione compresa tra 0 e 11 punti.

Calcolo del voto di Laurea

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.

Sistema Qualità

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à.