Corso di studi: Informatica e networking (Laurea magistrale)
- Denominazione: Informatica e networking
- Facoltà: SCIENZE MATEMATICHE, FISICHE E
NATURALI
- Classe di appartenenza: LM-18
INFORMATICA
- Interateneo: Si
- Lista Atenei: Università di
Pisa
Scuola Superiore S. Anna
- Interfacoltà: No
- Obiettivi formativi: Il Corso di Laurea
Magistrale in Informatica e Networking (Computer Science and Networking:
nel seguito CSN) è stato progettato per rispondere alla crescente
domanda di una emergente figura professionale, che richiede laureati
magistrali in grado di padroneggiare, in modo integrato, tanto le
tecnologie informatiche quanto quelle di networking nella progettazione
e realizzazione di infrastrutture hardware-software distribuite
innovative e di essere capace, al tempo stesso, di analizzare i
requisiti e di procedere, mediante soluzioni ad alto valore aggiunto,
alla progettazione e realizzazione di applicazioni basate su servizi
distribuiti in svariati settori dell’industria, commercio, ricerca,
servizi sociali e al cittadino, pubblica amministrazione.
Una tale
figura professionale non ha riscontri nell’attuale panorama delle lauree
nazionali e pochissimi sono anche gli esempi a livello internazionale.
Negli ultimi venti anni Internet ha sostanzialmente trasformato
l’approccio all’attuazione di molte attività industriali, sociali, di
ricerca e concernenti la vita di tutti i giorni. Recentemente il mondo
della ricerca e dell’industria ICT ha messo in evidenza come siano
necessarie, nei prossimi 10-15 anni, ulteriori forti evoluzioni e
cambiamenti alle infrastrutture di calcolo e comunicazione per andare
incontro a nuove e pressanti esigenze da parte di svariate aree
applicative, come automazione industriale, e-business, sistemi real-time
e mission-critical, gestione di emergenze e disastri, ubiquitous health
care, urban sensors, gestione delle fonti energetiche, e molte altre
ancora. Le evoluzioni e cambiamenti tecnologici, che sono già
parzialmente in atto (Future Internet), devono rispondere all’esigenza
che nuove applicazioni possono nascere nell’arco di tempo di pochi mesi,
invece che di diversi anni come tradizionalmente, e quindi di permettere
un uso ben più efficace e sicuro delle reti e dei sistemi distribuiti da
parte di industrie e società nel prossimo futuro anche su scala
world-wide. Il laureato magistrale in CSN sarà in grado di svolgere
attività che richiedono l'uso di metodologie avanzate nella analisi,
progettazione, sviluppo e gestione di infrastrutture distribuite e di
applicazioni in rete basate su tali infrastrutture. A questo scopo, i
laureati possiederanno una profonda conoscenze delle basi fondazionali
dell’informatica e delle comunicazioni, e conoscenze specialistiche
delle tecnologie informatiche e di comunicazione riguardo a: *
sistemi distribuiti e piattaforme abilitanti, architetture a servizi,
sistemi ad alte prestazioni, pervasive & mobile computing, * reti
di accesso su vari livelli di scala geografica, trasmissione e
tecnologie ottiche, modelli e tecniche di ingegneria del traffico, *
paradigmi, modelli e strumenti di programmazione e sviluppo
applicazioni, di analisi, progettazione e valutazione di sistemi e
applicazioni, pilotate da parametri di Qualità del Servizio. LM-CSN
si avvarrà di laboratori avanzati di architettura, programmazione,
comunicazione in configurazioni complesse centralizzate, parallele e
distribuite, organizzati in modo da permettere ad ogni studente di
accedere ed utilizzare apparecchiature e strumenti in modo
indipendente. LM-CSN intende avere una caratterizzazione e
organizzazione di tipo internazionale, basata su corsi tenuti in lingua
inglese, allo scopo di attrarre studenti da varie parti del mondo,
grazie al prestigio delle istituzioni proponenti ed alla qualità della
ricerca nei rispettivi settori riconosciuta a livello internazionale. È
previsto il contributo di docenti del Dipartimento di Ingegneria
dell’Informazione, in particolare appartenenti al settore
scientifico-disciplinare ING-INF/03 operanti nell’area Networking.
Esiste la volontà di verificare, successivamente all’attivazione, la
formalizzazione della collaborzione in una laurea magistrale di tipo
interfacoltà.
- Numero posti: 40
- Numero programmato: Locale
- Motivazioni numero programmato: Il
laureato in Informatica e Networking deve possedere una spiccata
capacità di progettazione, prototipazione, sperimentazione,
ottimizzazione e valutazione di sistemi ed applicazioni complesse. A
questo fine, un buon numero di insegnamenti sarà dotato di laboratori,
sia presso il polo didattico e il Dipartimento di Informatica
dell’Università di Pisa che presso la Scuola Superiore Sant’Anna, in cui
sviluppare e affinare queste capacità. Si tratta di sofisticati ed
avanzati laboratori di architettura, programmazione e comunicazione in
complesse configurazioni hardware-software centralizzate, parallele e
distribuite. Vista questa caratterizzazione, i laboratori saranno
realizzati e organizzati in modo da permettere ad ogni studente di
accedere ed utilizzare apparecchiature e strumenti in modo indipendente.
L’accesso ai laboratori è quindi possibile, con efficienza di profitto,
solo su classi di non elevata numerosità.
L’internazionalizzazione
del presente corso di laurea magistrale è ulteriore elemento che
contribuisce ad aumentare significativamente il bacino di utenza
potenzialmente interessato all’ammissione ma che, di conseguenza,
richiede accurata selezione delle candidature che pervengono su base
mondiale. Anche in base alle recenti immatricolazioni in corsi di
laurea specialistica nel settore ICT, si stima che la richiesta di
laureati in Informatica e Networking si aggirerà, almeno inizialmente,
su qualche decina di unità: il numero di studenti indicato (40) tiene
conto della prevista domanda di studenti stranieri, ed al contempo rende
possibile attirare un congruo numero di studenti italiani
particolarmente meritevoli. Tutte le motivazioni suddette sono
grandemente rafforzate dal fatto che la Scuola Superiore Sant’Anna ha
come scopo statutario, in analogia ad altre scuole superiori italiane,
l’istruzione e la formazione di studenti con caratteristiche di
eccellenza. I programmi di formazione offerti dalla Scuola Sant’Anna,
sono tutti, senza esclusione, a numero programmato al fine del
mantenimento di un rapporto controllato docente/allievo, necessario a
garantire la qualità dello standard formativo assunti dalla Scuola.
- Numero stimato immatricolati: 40
- Requisiti di ammissione: Il Corso di
Laurea Magistrale in Informatica e Networking è a numero programmato
locale, limitato a 40 posti. Per l’ammissione al Corso è quindi prevista
una Prova di Selezione, aperta anche a studenti europei ed
extra-europei.
La Prova di Selezione, da effettuare qualunque sia il
numero delle domande, consta di una prova scritta e/o di una prova orale
secondo quanto stabilito annualmente dal Consiglio di Corso di Studi. La
Commissione di Selezione è composta da docenti dell’Università di Pisa e
della Scuola Superiore Sant’Anna secondo quanto previsto dalla
Convezione tra le due istituzioni. Per essere ammessi alla Prova di
Selezione, i candidati devono essere in possesso di requisiti
curriculari relativi ai fondamenti delle scienze e tecnologie
dell’informazione. I requisiti curriculari minimi sono i
seguenti: - 12 CFU complessivi in uno o più dei settori
scientifico-disciplinari MAT/01, MAT/02, MAT/03, MAT/04, MAT/05, MAT/06,
MAT/07, MAT/08, MAT/09, FIS/01, FIS/02, FIS/03; - 60 CFU complessivi
in uno o più dei settori scientifico-disciplinari INF/01, ING-INF/03,
ING-INF/05. Tali requisiti sono automaticamente soddisfatti dalle
seguenti classi di laurea e lauree o diplomi di laurea: - Classe 26,
relativa al DM 509/1999 (Scienze e Tecnologie Informatiche); - Classe
L-31, relativa al DM 270/2004 (Scienze e Tecnologie Informatiche); -
Classe 9, relativa al DM 509/1999 (Ingegneria dell’Informazione), lauree
o diplomi di laurea: Ingegneria Informatica, Ingegneria delle
Telecomunicazioni; - Classe L-8, relativa al DM 270/2004 (Ingegneria
dell’Informazione), lauree o diplomi di laurea: Ingegneria Informatica,
Ingegneria delle Telecomunicazioni.
I requisiti curriculari
minimi devono comunque essere soddisfatti per candidati in possesso di
laurea o diploma di laurea diversi dai precedenti o in classi diverse
dalle precedenti. Per l’ammissione alla Prova di Selezione sono
validi titoli rilasciati da Università straniera, valutati equivalenti
ad una delle suddette classi o comunque idonei a rispettare i requisiti
curriculari. In tutti i casi, l’adeguatezza delle conoscenze e delle
competenze dei candidati è comunque accertata mediante la Prova di
Selezione. Requisito per l’adeguatezza della preparazione è altresì
una buona conoscenza della lingua inglese, che rappresenta la lingua con
cui vengono tenuti gli insegnamenti.
- Specifica CFU: 17/25 studio individuale,
8/25 attività in aula.
- Modalità determinazione voto di Laurea:
Voto di laurea in 110-esimi. Il voto viene determinato sommando
alla media degli esami, pesata rispetto al numero di CFU, la valutazione
della discussione della tesi. Questa valutazione, compresa tra 0 e 11
punti, viene data sulla base di criteri stabiliti dal Consiglio di Corso
di Studi.
- Attività di ricerca rilevante: Il
Dipartimento di Informatica dell’Università di Pisa consta di 22
professori ordinari, 18 professori associati, 15 ricercatori, 1
ricercatore in formazione e 4 assistenti. La maggioranza dei docenti
afferisce al settore scientifico disciplinare INF/01-Informatica. Sono
coperti anche i settori MAT/08-Analisi Numerica, MAT/09-Ricerca
Operativa, FIS/07-Fisica Applicata e BIO/10-Biochimica. Il Dottorato di
Ricerca in Informatica ha sede amministrativa presso il Dipartimento di
Informatica e fa parte della Scuola di Dottorato di Eccellenza in
Scienze di Base "Galileo Galilei".
Se consideriamo la
classificazione dell'Association for Computing Machinery (ACM), la
principale organizzazione che raccoglie professionisti, docenti e
ricercatori informatici, la ricerca nel dipartimento ricade nelle
seguenti aree: Computer Systems Organization, Software, Data, Theory of
Computation, Mathematics of Computing, Information Systems, Computing
Methodologies , Computer Applications, in ognuna delle quali il
dipartimento è attivo in molti qualificati progetti nazionali ed
internazionali, oltre che in collaborazione con le più significative
industrie del settore. La natura multidisciplinare del dipartimento
con una varietà di competenze culturali, scientifiche e tecnologiche
permette di guidare gli studenti all'interno di percorsi formativi
rivolti sia alla ricerca di base (fondazionale e/o sperimentale) che
all'acquisizione di abilità professionali attuabili nel mondo del
lavoro. Pertanto, nel Dipartimento di Informatica sono presenti quelle
competenze scientifico/tecnologiche coerenti, rilevanti e necessarie per
formare un laureato magistrale nella classe LM-18. Il Dipartimento di
Ingegneria dell’Informazione contribuisce con competenze scientifiche di
altissima qualificazione con gruppi di ricerca, nel settore ING-INF/03 e
nel campo del networking, attivi su apparati, protocolli e tecniche di
comunicazione su reti fisse e wireless, che collaborano attivamente con
i gruppi proponenti del Dipartimento di Informatica. Il Centro di
Eccellenza per l’Ingegneria dell’Informazione e della Comunicazione
(CEIIC) della Scuola Superiore Sant'Anna comprende personale
universitario della Scuola Superiore Sant'Anna e ricercatori aggregati
del co-locato Laboratorio Nazionale di Reti Fotoniche del CNIT
(Consorzio Nazionale Interuniversitario per le Telecomunicazioni).
L’attuale consistenza del Centro è di circa 50 persone tra professori,
ricercatori, allievi perfezionandi, assegnisti di ricerca e
collaboratori di ricerca. Le attività di ricerca del CEIIC includono
un largo ventaglio di tematiche di ricerca applicata e di ricerca di
base sia per quanto riguarda gli aspetti teorici che quelli sperimentali
nel campo delle telecomunicazioni afferenti al settore disciplinare
ING-INF/03 e dei Sistemi di Elaborazione delle Informazioni afferenti al
settore disciplinare ING-INF/05. In particolare, relativamente al
settore ING-INF/03 le macro-aree coperte riguardano le tecniche di
controllo del servizio, le reti ottiche di backbone e di accesso, le
reti wireless, le tecnologie e i componenti fotonici, i sistemi e le
tecniche di comunicazione ottica e le tecniche di processamento
tutto-ottico del segnale.
- Docenti referenti: UNIVERSITA’ DI
PISA
Ambriola Vincenzo, PO, INF/01, 6 CFU Attardi Giuseppe, PO,
INF/01, 9 CFU Brogi Antonio, PO, INF/01, 9 CFU Bruni Roberto, RU,
INF/01, 6 CFU Danelutto Marco, PA, INF/01, 9 CFU Ferragina Paolo,
PO, INF/01, 6 CFU Montanari Ugo, PO, INF/01, 6 CFU Vanneschi
Marco, PO, INF/01, 6 CFU SCUOLA SUPERIORE S.ANNA Castoldi Piero,
PA, ING-INF/03, 6 CFU Ciaramella Ernesto, PA, ING-INF/03, 6 CFU Di
Natale Marco, PA, ING-INF/05, 6 CFU Di Pasquale Fabrizio, PA,
ING-INF/03, 6 CFU Forestieri Enrico, PO, ING-INF/03, 6 CFU Prati
Giancarlo, PO, ING-INF/03, 6 CFU
- Percorso di eccellenza:
Istituzionalmente la Scuola Superiore Sant'Anna prevede che il
reclutamento dei propri allievi avvenga attraverso procedure volte ad
accertare l'elevata preparazione e le potenzialità di sviluppo culturale
e professionale dei candidati. Questa caratterizzazione verrà adottata
anche per gli studenti della Laurea Magistrale in Informatica e
Networking. Il superamento del concorso di ammissione ai Corsi ordinari
dà automaticamente accesso alla LM e esonera dalla partecipazione alle
prove selettive per l’ammissione della LM. Un percorso di eccellenza
verrà istituito anche da parte dell'Università di Pisa.
- Rapporto con il mondo del lavoro: I
rapporti con il mondo del lavoro rappresentano un ulteriore punto di
forza della Laurea Magistrale in Informatica e Networking, grazie ai
rapporti di collaborazione con imprese nazionali e multinazionali del
settore, e con enti pubblici locali e nazionali. Tra le grandi imprese
si segnalano Microsoft, Hewlett Packard, IBM, Selex Sistemi Integrati ed
altre aziende del Gruppo Finmeccanica, Athos Origin, TXT e-solutions,
Alcatel-Lucent, Marconi-Ericsson. Tra gli enti pubblici, rapporti
costanti si hanno con CNR e tutte le altre principali istituzioni di
ricerca, Agenzia Spaziale Italiana, CNIT, diverse reti di eccellenza
europee,nonchè pubbliche amministazioni locali e periferiche.
In
particolare il Centro di Eccellenza per l’Ingegneria dell’Informazione e
della Comunicazione è parte del Centro Integrato di Ricerca sulle Reti e
Tecnologie Fotoniche (IRCPhoNeT) insieme al Laboratorio Nazionale di
Reti Fotoniche e al Laboratorio di Ricerca e Sviluppo Marconi-Ericsson
di Pisa. I tre laboratori sono insediati nello stesso edificio sull’area
di ricerca del CNR di S. Cataldo e collaborano mediante un accordo di
ricerca di lungo termine su attività di ricerca e formative. Inoltre il
CEIIC ha accordi di ricerca con altre aziende italiane del gruppo
Finmeccanica (es. Selex Communications), Rete Ferrovie Italiane, e altre
piccole e medie imprese per le quali svolge attività di ricerca nel
campo delle reti di comunicazione e relative tecnologie. Questo ricco
insieme di rapporti con il mondo del lavoro costituisce la base su cui
realizzare collaborazioni didattiche sotto forma di esercitazioni
speciali (sotto la responsabilitò dei docenti), stage e tesi esterne,
per permettere agli studenti di verificare la loro preparazione
professionale mediante attività in contesti ad alta tecnologia e/o in
applicazioni distribuite a diretto contatto con l'utenza. Queste
esperienze verranno organizzate sulla base degli indirizzi scelti dagli
studenti.
- Informazioni aggiuntive: MOTIVAZIONI
DELL’ISTITUZIONE DEL CORSO INTERATENEO
Una figura professionale, che
possieda elevate competenze scientifiche e tecnologiche tanto nelle
discipline informatiche che in quelle di networking in maniera
fortemente integrata, non ha riscontri nell’attuale panorama delle
lauree nazionali e pochissimi sono anche gli esempi a livello
internazionale. Molto significativo è il fatto che, a livello
internazionale, le discipline dell’ICT tendano ad integrarsi sempre più
allo scopo di affrontare in modo nuovo e più efficace lo studio e la
realizzazione di sistemi distribuiti ed applicazioni distribuite. Per
questi motivi, l’attuazione della Laurea Magistrale in Informatica e
Networking richiede elevate competenze ed esperienze, scientifiche e
tecnologiche, in entrambi i settori. Tali competenze con l’obiettivo
primario della stretta relazione tra ricerca e didattica, non si
riscontrano in un singolo dipartimento universitario ma vanno ricercate
in più sedi ad alta specializzazione. Le desiderate caratteristiche di
complementarietà e, al tempo stesso, di integrazione sono attuabili con
successo nell’ambito della collaborazione tra - le aree
scientifico-disciplinari comprese nel Dipartimento di Informatica e nel
Dipartimento dell’Ingegneria dell’Informazione dell’Università di
Pisa, - il Centro di Eccellenza per l’Ingegneria dell’Informazione e
della Comunicazione della Scuola Superiore Sant’Anna. La
collaborazione tra Università di Pisa e Scuola Superiore Sant’Anna
permette di integrare e valorizzare al meglio le rispettive competenze
ed esperienze nei settori delle scienze e tecnologie di informatica e
delle comunicazioni per costruire la nuova figura professionale ad alta
specializzazione e qualificazione. Le istituzioni proponenti hanno
una elevata reputazione scientifica, riconosciuta a livello
internazionale, anche grazie alla partecipazione, tuttora in atto, a
rilevanti progetti di ricerca e reti di eccellenza a livello europeo e
nazionale, ed a importanti collaborazioni con industrie nazionali e
multinazionali.
SBOCCHI OCCUPAZIONALI E PROFESSIONALI Lo
sbocco occupazionale naturale del laureato magistrale in CSN è -
nelle imprese operanti nel campo delle infrastrutture hardware-software
di calcolo networking, sistemi distribuiti, architetture a servizi,
sistemi ad alte prestazioni, cluster computing, grid computing, global
computing, cloud computing, - nelle imprese, enti pubblici e
pubbliche amministrazioni operanti nel campo delle applicazioni basate
su servizi distribuiti, come automazione industriale, e-business,
sistemi real-time e mission-critical, gestione di emergenze e disastri,
ubiquitous health care, intelligent urban sensors, telepresenza e
telecontrollo, gestione delle fonti energetiche, vehicular networks, e
molte altre ancora. Infine, il laureato magistrale in Informatica e
Networking sarà dotato di una preparazione culturale, scientifica,
tecnologica e metodologica di base che gli permetterà di accedere ai
livelli di studio universitario successivi alla laurea magistrale nei
settori dell’informatica e comunicazioni.
DECRETO RETTORALE
N. 11056 DEL 04/08/2009
Curriculum: Computer Science and Networking
Primo anno (60 CFU)
Insegnamento |
CFU |
Esame a scelta |
9 |
Sistemi distribuiti:
paradigmi e modelli |
9 |
Sistemi ad alte
prestazioni e piattaforme abilitanti |
6 |
Reti di accesso,
metropolitane e di dorsale |
12 |
Gestione e configurazione
delle reti |
9 |
Programmazione avanzata |
9 |
Algorithm engineering |
6 |
Secondo anno (60 CFU)
Insegnamento |
CFU |
Modelli di calcolo |
9 |
Teoria e tecnica delle
comunicazioni ottiche |
12 |
Tesi di laurea |
15 |
Ingegneria dei servizi
software |
9 |
Gruppo: GR9 |
9 |
Gruppo: GR8 |
6 |
Gruppi per attività a scelta nel CDS Informatica e networking
Gruppo GR8 (6 CFU)
- Descrizione: Complementari da 6 CFU da
scegliere a seconda del piano studio
- Note: Piano di studio "Distributed
Systems and Applications": scegliere una attivita' nel gruppo
GR6i
Piano di studio "Distributed Systems and Infrastructures":
scegliere una attivita' nel gruppo GR6c
Piano di studio
"Distributed Systems and Architectures": scegliere una attivita' nel
gruppo GR6a
Gruppo GR6c (6 CFU)
- Descrizione: Complementari da 6 CFU di
comunicazioni
Attività contenute nel gruppo
Nome |
CFU |
Ambienti virtuali su rete |
6 |
Laboratorio di sistemi
fotonici |
6 |
Sistemi embedded |
6 |
Sistemi real-time |
6 |
Teoria dell'affidabilità |
6 |
Gruppo GR6i (6 CFU)
- Descrizione: Complementari da 6 CFU di
informatica
Attività contenute nel gruppo
Nome |
CFU |
Algoritmi paralleli e
distribuiti |
6 |
Applicazioni parallele e
distribuite |
6 |
Basi di dati distribuite e
parallele |
6 |
Complementi di piattaforme
abilitanti distribuite |
6 |
Componenti distribuite |
6 |
Information retrieval |
6 |
Laboratorio di progettazione di
software distribuito |
6 |
Metodi formali per la
sicurezza |
6 |
Metodi per la specifica e la
verifica di processi di business |
6 |
Metodi per la verifica del
software |
6 |
Modelli di costo e
progettazione di supporti |
6 |
Pervasive computing |
6 |
Programmazione concorrente |
6 |
Sistemi operativi
distribuiti |
6 |
Sistemi peer to peer |
6 |
Tollerenza ai guasti in sistemi
distribuiti |
6 |
Virtualizzazione dei sistemi:
metodologie, progetto e utilizzo |
6 |
Gruppo GR6a (6 CFU)
- Descrizione: Complementari da 6 CFU di
ing-comunicazioni
Attività contenute nel gruppo
Nome |
CFU |
Architetture di commutazione ed
elaborazione dati a pacchetto |
6 |
Aspetti architetturali e di
progetto di sistemi multimediali |
6 |
Prestazioni di reti
multimediali |
6 |
Gruppo GR9 (9 CFU)
- Descrizione: Complementari da 9 CFU da
scegliere a seconda del piano di studio
- Note: Piano di studio "Distributed
Systems and Applications": scegliere una attivita' nel gruppo
GR9i
Piano di studio "Distributed Systems and Infrastructures":
scegliere una attivita' nel gruppo GR9c
Piano di studio
"Distributed Systems and Architectures": scegliere una attivita' nel
gruppo GR9a
Gruppo GR9c (9 CFU)
- Descrizione: Complementari da 9 CFU di
comunicazioni
Attività contenute nel gruppo
Nome |
CFU |
Amplificazione ottica e
sensoristica |
9 |
Commutazione fotonica |
9 |
Propagazione ed ottica
applicata |
9 |
Reti e tecnologie per le
telecomunicazioni |
9 |
Gruppo GR9i (9 CFU)
- Descrizione: Complementari da 9 CFU di
informatica
Attività contenute nel gruppo
Nome |
CFU |
Metodi di ottimizzazione delle
reti |
9 |
Paradigmi ed architetture
avanzate |
9 |
Sicurezza delle reti |
9 |
Strumenti di programmazione per
sistemi paralleli e distribuiti |
9 |
Tecniche di data mining |
9 |
Tecniche numeriche e
applicazioni |
9 |
Teoria dell'informazione e
della trasmissione |
9 |
Gruppo GR9a (9 CFU)
- Descrizione: Complementari da 9 CFU di
ing-comunicazioni
Attività contenute nel gruppo
Nome |
CFU |
Architetture, componenti e
servizi di rete |
9 |
Aspetti prestazionali e di
progetto delle reti wireless |
9 |
Ingegneria del teletraffico |
9 |
Attività formative definite nel CDS Informatica e networking
Algorithm engineering (6 CFU)
- Obiettivi formativi: Obiettivi
In
questo corso studieremo, progetteremo e analizzeremo (con modelli
teorici e attraverso risultati sperimentali) soluzioni algoritmiche e
strutture dati avanzate per la risoluzione efficiente di problemi
combinatori che coinvolgono vari tipi di dato— quali interi, stringhe,
punti (geometrici), alberi, grafi. Il progetto interesserà alcuni
modelli di calcolo— RAM, 2-level memory, cache-oblivious, streaming— al
fine di ottenere soluzioni algoritmiche le cui valutazioni teoriche ben
riflettono le loro prestazioni reali, poiché tengono conto delle
caratteristiche architetturali e della gerarchia di memoria dei moderni
PC. Ogni lezione seguirà un approccio problem-driven che inizia
considerando un problema reale, lo astrae in modo combinatorio, e poi
procede al progetto e analisi di soluzioni algoritmiche tese a
minimizzare l’uso di alcune risorse computazionali quali: tempo, spazio,
communicazione, I/O, etc. Alcune soluzioni viste in classe saranno
discusse anche a livello sperimentale al fine di introdurre degli
strumenti appropriati per l’ingegnerizzazione e il tuning del
codice.
Syllabus 1) RAM model a. Data compression b.
Data processing: randomized, adaptive, self-adjusting c. Data
indexing and searching: strings, geometric points, trees and
graphs 2) 2-level memory model a. Definition and properties b.
Data sorting and permuting c. Data indexing and searching: strings
and multi-dimensional data d. Data sketching: bloom filters and
count-min sketch 3) Cache-oblivious model a. Definition and
properties b. Matrix multiplication c. VEB layout d. Tree
mapping
Struttura del corso 6 crediti. L’esame consiste di una
prova scritta e di una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste di una prova scritta e di una prova orale.
Algoritmi paralleli e distribuiti (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce le principali tecniche algoritmiche nell’ambito dei
modelli di calcolo paralleli e distribuiti. Definisce i parametri di
complessità significativi per questi modelli, i limiti computazionali e
gli strumenti necessari per affrontare il progetto e l’analisi di
algoritmi paralleli e distribuiti.
Syllabus 1) Modelli di
calcolo a. Il modello PRAM b. Reti a parallelismo fissato,
BSP c. Il modello distribuito 2) Tecniche di progetto e analisi di
algoritmi paralleli: a. Somme prefisse, List ranking, Euler
tour. b. Altre tecniche e problemi difficilmente
parallelizzabili 3) Tecniche di progetto e analisi di algoritmi
distribuiti: a. La complessità della comunicazione b. Algoritmi di
controllo c. Algoritmi fault tolerant d. Manipolazioni di dati
distribuiti 4) Esempi classici: a. Coordinazione e controllo b.
Broadcast e Spanning Tree. c. Calcolo su alberi: Saturazione e
valutazione di funzioni. d. L’elezione su anello e altre reti. e.
Routing
Struttura del corso 6 crediti. L’esame consiste in una
prova scritta che comprende il progetto di algoritmi e domande teoriche.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta che comprende il progetto di algoritmi e
domande teoriche.
Ambienti virtuali su rete (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce i fondamenti alla base degli Ambienti Virtuali,
includendo un’analisi delle forme di comunicazione dati via rete più
comunemente usate in quest’ambito. Il corso fornisce inoltre
un’introduzione agli strumenti di sviluppo e le relative metodologie di
progettazione. Esercitazioni pratiche in aula daranno agli studenti
l’opportunità di eseguire test su esempi concreti.
Syllabus 1)
Aspetti teorici a. Concetti generali b. Introduzione agli Ambienti
Virtuali c. Grafica interattiva per Ambienti Virtuali d. Pipeline
OpenGL e Shaders e. Fisica in tempo reale f. Motion Tracking g.
Interazione h. Dispositivi a ritorno di forza i. Architetture per
Ambienti Virtuali interconnessi j. Traffico dati e implicazioni delle
latenze k. Arbitraggio degli eventi l. Compressione geometrica
2) Sviluppo ed esercitazioni pratiche a. Architetture
software per Ambienti Virtuali b. Introduzione ai tools di
sviluppo c. Creazione di contenuti 3D d. Equipment e relativa
tecnologia e. Il task dell’integrazione, profiling e debugging f.
Test di comunicazione di rete in Ambienti Virtuali interconnessi
Struttura del corso 6 crediti consistenti in lezioni frontali
ed esercitazioni. L’esame consiste in una prova orale e una discussione
di un semplice progetto assegnato allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e una discussione di un semplice progetto
assegnato allo studente.
Amplificazione ottica e sensoristica (9 CFU)
- Obiettivi formativi: Obiettivi
Il
presente corso, articolato in due parti, dopo una introduzione ai
concetti fondamentali sui componenti ottici più comuni, si concentrerà
sulle tecnologie di amplificazione ottica e sensoristica in fibra più
diffuse. Il corso fornirà anche un modulo di laboratorio, con un
approccio hands-on, in cui lo studente apprenderà come utilizzare in
pratica i dispositivi in fibra ottica, e come effettuare misure ed
esperimenti con componenti ed amplificatori ottici. L’amplificazione
ottica è stata una delle tecnologie abilitanti più importanti degli
ultimi anni nelle comunicazioni, che ha consentito l’aumento
straordinario delle capacità e delle distanze trasmissive alla base
dell’odierno sviluppo di Internet e dei servizi basati su rete. Negli
ultimi anni, un nuovo settore sta emergendo, quello dei sensori in fibra
ottica, in cui i componenti ottici ed in fibra ottica sono utilizzati
per il rilevamento di molti parametri fisici, chimici ed ambientali,
trovando innumerevoli applicazioni in un’ampia gamma di settori,
dall’ingegneria elettrica, elettronica e nucleare, all’ingegneria civile
fino al settore dell’energia.
Syllabus
Amplificatori
ottici e sensori in fibra ottica - Le sorgenti luminose per le
comunicazioni ottiche: equazioni di rate nei semiconduttori ed il diodo
ad emissione luminosa (LED), il meccanismo di retroazione ottica ed il
laser, laser a semiconduttore, laser a singolo modo e multi-modali -
Fotodiodi: fotodiodi pin e fotodiodi a valanga - Componenti passivi:
fibra ottica, accoppiatore ottico, interferometro Mach-Zehnder,
tecnologie di filtri ottici, filtri ottici sintonizzabili, multiplatore
e de-multiplatore ottico - Dispositivi non reciproci: isolatore e
circolatore ottico - Basi di amplificazione ottica: emissione
stimolata ed amplificazione ottica, caratteristiche fondamentali degli
amplificatori ottici, guadagno, cifra di rumore, potenza di saturazione
- Amplificatori ottici discreti e distribuiti: amplificatori Raman e
amplificatori in fibra drogata all’Erbio (EDFA), amplificatori ottici a
semiconduttore (SOA), processi parametrici ed amplificatori
parametrici - Sensori in fibra ottica: introduzione alla sensoristica
in fibra ottica, sensori distribuiti basati su effetto Raman e
Brillouin, sensori basati su reticoli di Bragg in
fibra
Laboratorio di amplificazione ottica e componenti -
Utilizzare un power-meter ottico, utilizzare i fotodiodi pin ed i
fotodiodi a valanga - Misura di parametri indipendenti dalla
lunghezza d’onda su componenti ottici passivi. - Utilizzare
l’analizzatore di spettro ottico nelle misure di componenti ottici -
Caratterizzare un laser - Misura di guadagno e saturazione su
amplificatori ottici - La cifra di rumore degli amplificatori ottici:
fondamenti della misura - Caratterizzare un EDFA - Caratterizzare
la larghezza di riga: rilevazione ottica omodina ed eterodina -
Misure dinamiche su oscilloscopio e misure di spettro
elettrico
Struttura del corso 9 crediti consistenti in lezioni
frontali, esercitazioni e laboratorio. L’esame consiste in una prova
scritta.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta.
Applicazioni parallele e distribuite (6 CFU)
- Obiettivi formativi: Obiettivi del corso
Il corso discute le problematiche di applicazioni parallele e
distribuite, valutando diversi approcci e soluzioni in funzione delle
architetture di elaborazione e degli strumenti di programmazione usati.
Per ciascuna delle tematiche affrontate saranno illustrati casi di
studio ed applicazioni reali.
Syllabus 1) classi di
applicazioni e tecniche a) applicazioni intensive per il calcolo, le
comunicazioni, l'Input/Output b) tecniche di decomposizione delle
applicazioni c) implementazione di pattern di parallelismo 2)
applicazioni parallele per: a) architetture chip multiprocessing
(CMP) b) streaming computing 3) applicazioni per architetture
distribuite a a) piccola/media scala b) grande scala, sistemi
geograficamente distribuiti
Struttura del corso 3 CFU di
lezione frontale + 3 CFU di laboratorio. L'esame consiste in una prova
orale e nella discussione di un progetto sviluppato durante il corso.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L'esame
consiste in una prova orale e nella discussione di un progetto
sviluppato durante il corso.
Architetture, componenti e servizi di rete (9 CFU)
- Obiettivi formativi: Obiettivi
l
modulo fornisce i concetti elementari necessari a comprendere
l’architettura, gli elementi componenti ed i servizi delle moderne reti
a commutazione di pacchetto, con particolare riguardo a IPv6, mobile IP,
multicast, protocolli di trasporto, architetture per la garanzia della
Qualità di Servizio e nuove architetture peer-to-peer. La parte teorica
sarà inoltre accompagnata da esercitazioni sperimentali relative alle
modalità di funzionamento del TCP e all'implementazione in ambiente
linux di un software router.
Syllabus 1) IPv6 e MIP a.
Caratteristiche generali di IPv6 e formato dell'header b. Transizione
IPv4-IPv6 c. Mobilità in ambito IP: MIPv4 e MIPv6 2)
Multicast a. Indirizzamento Multicast b. IGMP c. Protocolli di
Routing Multicast (DVMRP, PIM-SM, PIM-DM) 3) Livello di
Trasporto a. UDP b. TCP c. DCCP 4) Qualità del
servizio a. Politiche per la gestione delle code b. Architettura
Intserv c. Architettura DiffServ 5) Architetture P2P a.
Descrizione generale dell'architettura b. Classificazione delle
architetture P2P ed esempi
6) Laboratorio a. Congestion
Control nel TCP b. Sofware router in ambiente Linux
Struttura
del corso 9 crediti (6 architetturali e 3 di laboratorio). L’esame
consiste in una prova orale con domande relative sia alla parte teorica
che all'esperienza di laboratorio.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale con domande relative sia alla parte teorica
che all'esperienza di laboratorio.
Architetture di commutazione ed elaborazione dati a pacchetto (6
CFU)
- Obiettivi formativi: Obiettivi
Il
corso presenta le principali architetture di commutazione, con
particolare riferimento alla commutazione di pacchetto. Dopo una breve
introduzione al concetto di commutazione (di circuito e pacchetto), il
corso si focalizzerà sulle architetture di packet switching,
presentandone gli schemi principali con relativa analisi delle
prestazioni e problematiche. Di seguito verrà affrontato il tema
dell’elaborazione dei pacchetti, presentando i più noti algoritmi di
lookup e di classificazione attualmente in uso. Infine verrà trattato il
tema del riconoscimento di pattern di dati, attraverso l’uso di tecniche
probabilistiche (mediante l’uso di strutture dati evolute quali Bloom
Filter) e deterministiche (mediante l’uso di automi a stati finiti
deterministici).
Syllabus 1) Generalità sui sistemi di
commutazione a. Commutazione di circuito b. Commutazione di
pacchetto 2) Architetture di commutazione di pacchetto a. Output
Queued Switches (OQ) i. Ritardo medio e massimo throughput ii.
Output link scheduling b. Input Queued Switches (IQ) i. Switching
fabrics, crossbar. ii. Head Of the Line blocking (HOL) iii.
Scheduling (MWM, MSM, etc.) c. Combined Input-Output queueing
(CIOQ) i. Emulazione di OQ 3) Packet Processing a.
Exact/Prefix match lookup i. Unibit e Multibit Trie ii.
Lulea-Compressed Tries iii. Tree bitmap b. Classificazione i.
Schemi mono/multi dimensionali c. Pattern Matching i. Tecniche
stocastiche ii. Tecniche deterministiche
Struttura del
corso 6 crediti. L’esame consiste in una prova orale e include la
discussione di un semplice progetto assegnato allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e include la discussione di un semplice
progetto assegnato allo studente.
Aspetti architetturali e di progetto di sistemi multimediali (6
CFU)
- Obiettivi formativi: relativi problemi
legati alla qualità del servizio ed alla sicurezza. La presentazione
delle architetture MoIP è orientata ad evidenziare le differenze con la
rete telefonica classica e fra le diverse soluzioni (SIP e H.323)
proposte per questi sistemi. Il corso si prefigge, inoltre, l’obiettivo
di presentare le diverse soluzioni e tecniche di progettazione a cui si
può fare riferimento per garantire ai sistemi MoIP un’affidabilità ed
una qualità del servizio percepita dall’utente finale almeno
paragonabile a quelle offerte dalla rete telefonica, e per ridurre i
rischi legati alle diverse tipologie di attacchi informatici, specifici
di questi sistemi.
Syllabus 1) Offerta di servizi telefonici
su reti IP a. Struttura della rete telefonica b. Evoluzione verso
servizi Multimedia over IP (MoIP) c. Architettura ITU-T H.323 d.
Architettura SIP e. Elementi architetturali per servizi di Telefonia
su IP f. Architettura IP Multimedia Subsystem (IMS) 2) Aspetti
progettuali dei sistemi MoIP a. Definizioni di Qualità del Servizio
in sistemi MoIP b. Tecniche per la valutazione della QoS c.
Tecniche per la progettazione di sistemi a QoS garantita d. Problemi
di sicurezza nei sistemi MoIP e. Soluzioni per i problemi di
sicurezza in sistemi MoIP Struttura del corso 6 crediti (4 sugli
aspetti architetturali, 2 sugli aspetti progettuali di sistemi MoIP).
L’esame consiste in una prova orale con discussione di un semplice
progetto assegnato allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale con discussione di un semplice progetto
assegnato allo studente.
Aspetti prestazionali e di progetto delle reti wireless (9 CFU)
- Obiettivi formativi: Obiettivi
Gli
obiettivi del corso sono la presentazione dell’evoluzione
dell’architettura delle reti cellulari, delle tecnologie maggiormente
diffuse per reti wireless LAN e MAN, e delle diverse soluzioni
disponibili per le reti Wireless Mesh Networks (WMN). Inoltre, il corso
è volto a fornire gli strumenti necessari per la progettazione di queste
reti e ad evidenziare i possibili problemi prestazionali a cui esse sono
soggette.
Syllabus 1) Reti radiomobili a. Organizzazione
generale di una rete radiomobile, b. Architettura di una rete
GSM c. Architettura di una rete UMTS d. Gestione della mobilità e
delle sessioni nelle reti cellulari 2) Reti Wireless LAN a. Lo
standard IEEE 802.11 b. Modi operativi delle reti IEEE 802.11 c.
Distributed Coordination Function e Point Coordination Function d.
Evoluzione dei sistemi 802.11 e. Sicurezza nelle reti IEEE
802.11 3) Reti WiMAX a. Architettura di una rete WiMAX b. Lo
standard IEEE 802.16 4) Wireless Mesh Networks (WMN) a. Protocolli
MAC b. Capacità c. Protocolli di Routing d. Protocolli di
Trasporto e. Aspetti di Fairness f. Aspetti di QoS, Sicurezza e
Management g. Il gruppo di lavoro IEEE 802.11s 5) Attività di
Laboratorio a. Aspetti di progettazione delle reti cellulari b.
Aspetti prestazionali e di progetto delle reti IEEE 802.11 c. Aspetti
prestazionali e di progetto delle reti WiMAX d. Tecniche per il
miglioramento delle prestazioni di WMN
Struttura del corso 9
crediti (6 su architetture e protocolli e 3 per le attività di
laboratorio). L’esame consiste in una prova orale con discussione di un
semplice progetto assegnato allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale con discussione di un semplice progetto
assegnato allo studente.
Basi di dati distribuite e parallele (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso presenta i principi relativi alla tecnologia delle basi di dati in
ambiente distribuito ed in ammbiente parallelo. Vengono trattati i temi
classici relativi ai Sistemi per la Gestione di Basi di Dati:
architettura, progettazione, elaborazione delle interrogazioni, gestione
delle transazioni.
Syllabus 1) Architettura dei SGBD
distribuiti 2) Progettazione di basi di dati distribuite a.
Progetto di frammentazione b. Progetto di allocazione 3)
Elaborazione delle interrogazioni distribuite a. Decomposizione della
interrogazione b. Ottimizzazione delle strategie d’accesso 4)
Gestione delle transazioni distribuite a. Atomicità b. Controllo
di concorrenza c. Affidabilità 5) Basi di dati parallele a.
Architettura shared nothing e partizionamento dei dati b. Algoritmi
paralleli per gli operatori relazionali c. Ottimizzazione delle
interrogazioni parallele
Struttura del corso 6 crediti (2 su
architettura e progettazione, 1 sulle interrogazioni, 2 sulle
transazioni e 1 sulle BD parallele). L’esame consiste in una prova
orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale.
Commutazione fotonica (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce i fondamenti delle tecnologie fotoniche esaminando i
dispositivi fotonici dal punto di vista strutturale, funzionale e di
fabbricazione. Verranno inoltre fornite le basi delle tecniche di
commutazione fotonica mediante i dispositivi fotonici non lineari basati
su semiconduttore e fibra. Il corso prevede esercitazioni in
laboratorio.
Syllabus 1) Semiconduttori per la fotonica a.
Proprietà ottiche dei semiconduttori. b. LEDs. c. Propagazione
ottica guidata e cavità, perdite e condizione di soglia. d. Laser
DBR, DFB, VCSEL, quantum cascaded, a microcavità. e. Parametri-chiave
di progetto e meccanismi di degradazione nei laser a
semiconduttore. f. Amplificatori ottici a semiconduttore. g.
Ricevitori PIN ed a effetto-valanga. 2) Fotonica passiva e
dispositivi funzionali integrati a. Ottica guidata integrata. b.
Dispositivi passivi integrati. c. Dispositivi funzionali
integrati. d. Dispositivi non lineari. 3) Tecniche di deposizione
e di crescita di semiconduttori composti. a. Ossidazione, sputtering,
evaporazione. b. CVD “Plasma enhanced” e “low-pressure”. c.
Epitassia a fase liquida (LPE/) e a fase di vapore (VPE/MOCVD). d.
Epitassia a fascio molecolare.(MBE). 4) Strumenti di
lavorazione/produzione a. Litografia (a fascio di elettroni, a fascio
laser, ottica), metallizzazione. b. Tecniche di incisione “umide” e
“a secco”. c. Tecniche di impiantazione ionica, diffusione,
annealing. d. Packaging dei dispositivi. 5) Caratterizzazione e
testing dei materiali/dispositivi a. Strumentazione per la
caratterizzazione dei materiali (diffrazione ai raggi x,
foto-luminescenza, misure basate su effetto Hall, tecniche di
spettroscopia e microscopia). b. Strumentazione per la
caratterizzazione di dispositivi, esempi di setup per testing. 6)
Dispositivi a cristalli fotonici a. Principi di base b. PCD a una,
due e tre dimensioni: tipologia, tecniche di fabbricazione e di
caratterizzazione. 7) Tecnologie per la fibra ottica a. Tecnologia
per fibre step- e graded-index. b. Fibre microstrutturate. c.
Dispositivi in fibra. d. Amplificatori ottici in fibra. e. Sensori
in fibra ottica. f. Accoppiamento in fibra 8) Tecnologia per il
vetro-su-Silicio. 9) Commutazione a rotazione di polarizzazione in
una fibra altamente non lineare (HNLF). 10) Inversione di segnale con
XGM in un SOA. 11) Caratterizzazione di un impulso di un laser
mode-locked. 12) Caratterizzazione di un NOLM mediante impulsi
ottici. 13) Porta logica ottica AND mediante HNLF 14) Generazione
di pacchetti RZ.
Struttura del corso 9 crediti consistenti in
lezioni frontali ed esercitazioni. L’esame consiste in una prova orale
ed eventualmente nella valutazione relazioni sulle esperienze di
laboratorio.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale ed eventualmente nella valutazione relazioni
sulle esperienze di laboratorio.
Complementi di piattaforme abilitanti distribuite (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso approfondisce e sviluppa, rispetto ai corsi fondamentali, lo
studio delle problematiche legate alle piattaforme abilitanti
distribuite, quali Grid e Cloud. Ciò avviene anche attraverso l'esame
delle soluzioni allo stato dell'arte, l'analisi nel dettaglio della loro
tecnologia e l'utilizzo pratico di alcune piattaforme abilitanti
distribuite di ultima generazione.
Syllabus Introduzione al
middleware distribuito Approfondimento dei concetti e tecniche di
grid computing Componenti e soluzioni per il grid
computing Virtualizzazione delle risorse Tecnologie di
virtualizzazione Approfondimento dei concetti e tecniche di cloud
computing Esempi pratici di cloud computing Strumenti di sviluppo
applicazioni per grid e cloud
Struttura del corso 9 CFU
distribuiti in due moduli. Il primo modulo (6 CFU) comprende lo studio
delle piattaforme grid e cloud, il secondo modulo (3 CFU) prevede
esercizi pratici per lo sviluppo di applicazioni e utilizzo delle
piattaforme.
Modalità di verifica L'esame consiste in una
prova orale sulle tematiche del corso, con discussione di un progetto
realizzato dallo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L'esame
consiste in una prova orale sulle tematiche del corso, con discussione
di un progetto realizzato dallo studente.
Componenti distribuite (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta di metodologie e tecniche per la definizione, progettazione
e utilizzazione di paradigmi di programmazione distribuita a componenti.
Gli aspetti che vengono approfonditi sono: modelli a componenti
distribuite, componenti ad alte prestazioni, modelli di costo e
progettazione di supporti, portabilità in sistemi eterogenei,
affidabilità e sicurezza. Inoltre, vengono presentati studi di casi in
relazione alle tecnologie correnti e previste.
Syllabus 1.
modelli a componenti distribuite, 2. componenti ad alte prestazioni,
3. modelli di costo e progettazione di supporti, 4. portabilità
in sistemi eterogenei, 5. affidabilità e sicurezza, 6. studio di
casi
Struttura del corso 6 CFU. L’esame consiste in una prova
scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Esame a scelta (9 CFU)
- Obiettivi formativi: Fermo restando che
la scelta di questo insegnamento può essere effettuta nell'ambito di
qualunque settore scientifico-disciplinare, la scelta è soggetta
all'approvazione del Consiglio di Corso di Studi. Il Consiglio indica
una griglia di scelta, consona alle esigenze di questa laurea
magistrale, consistente negli insegnamenti dei gruppi GR9a, GR9c, GR9i.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: Dipendente
dall'esame scelto.
Gestione e configurazione delle reti (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce i fondamenti della gestione di rete e dei servizi in
reti metropolitane e core, passando in rassegna i relativi protocolli e
tecniche. Si occupa inoltre dei problemi di ingegneria del traffico
nelle reti di trasporto ottiche che supportano il protocollo Internet
(IP). Infine applica i concetti studiati agli ambienti di simulazione e
a nodi di rete reali e a tipici scenari di rete.
Syllabus 1)
Sistemi di gestione di rete a. Fondamenti di gestione di rete b.
Gestione di reti IP c. Gestione di reti di trasporto d. Gestione
di applicazioni distribuite 2) Laboratorio di ingegneria del
traffico a. Concetti e terminologia di base su Internet (IP, livello
ottico) b. Standard internazionali (OIF, ITU, IETF) c. Metodi per
il progetto di reti di telecomunicazioni d. Robustezza ai guasti in
reti ottiche IP su WDM e. Teoria della disponibilità e
affidabilità f. Infrastrutture di rete per grid computing g.
Metrologia di rete orientata alle applicazioni h. Applicazione
sperimentale dei concetti 3) Laboratorio di software a.
Modellazione e simulazione di rete: introduzione ad OPNET b.
Modellazione di processi con OPNET + esercizi c. Variabili
statistiche, attributi + esercizi d. Processi dinamici +
esercizi e. Simulazione di una rete semplice f. Router
commerciali: architetture e configurazioni g. Valutazioni
sperimentali dei protocolli OSPF, MPLS ed RSVP h. Schemi di
ripristino in reti MPLS i. Multiplatori add/drop: architetture e
configurazioni
Struttura del corso 9 crediti di lezioni
frontali ed esercitazioni di laboratorio. L’esame consiste in una prova
orale e di una possibile discussione di un semplice progetto assegnato
allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e di una possibile discussione di un
semplice progetto assegnato allo studente.
Information retrieval (6 CFU)
- Obiettivi formativi: Il corso si pone
l'obiettivo di presentare i fondamenti teorici e gli strumenti di
algorithmic engineering utili per la l'organizzazione, l'analisi e la
realizzazione di sistemi per il recupero dell'informazione. Si
analizzeranno le prestazioni di numerose tecniche algoritmiche per il:
data streaming, data compression, data indexing, data sketching e data
searching, che ricorrono in numerose applicazioni di IR, e si
valuteranno i loro limiti computazionali. Si presenteranno inoltre i
componenti principali di un moderno motore di ricerca, e si
analizzeranno le soluzioni algoritmiche correntemente adottate per essi.
Allo studio teorico si accompagnerà una attività di laboratorio volta a
introdurre gli strumenti open-source oggi esistenti per la realizzazione
di un motore di ricerca, e per lo sviluppo di applicazioni a essi
correlate.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L'esame
consiste in una prova orale ed eventuale prova scritta o progetto.
Ingegneria dei servizi software (9 CFU)
- Obiettivi formativi:
Obiettivi
L’obiettivo del corso è presentare gli aspetti
principali della progettazione e della realizzazione dei servizi
software. Dopo avere introdotto gli standard attualmente adottati per la
realizzazione di servizi Web, il corso verte sulle caratteristiche della
architetture orientate ai servizi e analizza le tecniche utilizzate per
realizzare applicazioni individuando, componendo e adattando servizi
esistenti. Viene quindi illustrato l’utilizzo di linguaggi che
permettono sia la specifica che l’implementazione di processi aziendali
(“business processes”) mediante flussi di lavoro. Vengono poi descritte
le tecniche utilizzate per garantire proprietà non funzionali dei
servizi, quali qualità del servizio e aspetti di sicurezza. L’ultima
parte del corso è dedicata a descrivere il ruolo dell’ingegneria dei
servizi nel contesto più generale della economia basata sui servizi (e
della cosiddetta “scienza dei servizi”), illustrando le relazioni tra
aspetti ingegneristici e aspetti economici dei servizi (“business
models”, contratti di servizio) e l’importanza della “separation of
concerns” nella progettazione dei servizi.
Syllabus 1.
Protocolli e architetture dei servizi software a. Standard di base
dei servizi Web b. Architetture orientate ai servizi
2.
Metodologie di progettazione e realizzazione di servizi software a.
Individuazione, composizione e adattamento di servizi esistenti b.
Definizione e implementazione di processi aziendali (“business
processes”) mediante flussi di lavoro c. Linguaggi per la specifica e
l’esecuzione di business processes d. Trattamento e analisi di
proprietà non funzionali dei servizi (qualità del servizio,
sicurezza)
3. Ruolo dell’ingegneria dei servizi nel contesto
dell’economia basata sui servizi a. relazioni tra aspetti
ingegneristici e aspetti economici dei servizi (business models,
contratti di servizio) b. aspetti della “separation of concerns”
nella progettazione dei servizi
Struttura del corso Il corso è
articolato su 9 crediti, 6 dei quali dedicati agli aspetti di
progettazione e realizzazione dei servizi software e 3 al ruolo
dell’ingegneria dei servizi nel contesto dell’economia basata sui
servizi. L’esame prevede una prova scritta o la realizzazione di un
progetto e una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
prevede una prova scritta o la realizzazione di un progetto e una prova
orale.
Ingegneria del teletraffico (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso presenta i concetti fondamentali relativi alla teoria ed
all’ingegneria del traffico nelle reti di telecomunicazioni. Vengono
introdotti i processi di Markov a tempo discreto (catene) e quelli a
tempo continuo. Viene inoltre presentata la teoria elementare ed
intermedia delle code utili alla trattabilità dei modelli fondamentali
di sistemi ad attesa e a perdita impiegati per l’analisi di reti a
commutazione di pacchetto e di circuito. La trattazione degli indici
prestazionali fondamentali viene presentata passando ove necessario a
domini trasformati (Laplace, Zeta). Sono infine presentati i teoremi
fondamentali per la trattazione di reti di code markoviane aperte e
chiuse e le reti di tipo BCMP. Il corso presenta inoltre i metodi
numerici fondamentali per la trattazione di problemi di analisi delle
prestazioni riconducibili a soluzioni basate su approcci markoviani.
Syllabus 1) Processi di Markov a stato discreto a.
Processi di Markov a stato discreto e tempo discreto (Catene di
Markov) b. Processi di Markov a stato discreto e tempo continuo 2)
Processi puntuali a. Processi di sola nascita e di sola morte b.
Processo di Bernoulli a tempo continuo e tempo discreto c. Processo
di Poisson 3) Processi di nascita e morte a. Condizioni di
ergodicità b. Valutazione dei momenti di primo e secondo ordine 4)
Generalità sull’analisi del traffico in rete a. Modelli stocastici
b. Modelli deterministici c. Non stazionarietà del traffico.
Definizioni TCBH, ADPH 5) Code Markoviane a. notazione di Kendall;
Geo/Geo/1, M/M/Ns, M/M/Ns/0, M/M/1/Nw; b. Formula B di Erlang,
Formula C di Erlang, Formula di Engset. c. Problemi e relative
soluzioni per il calcolo numerico delle formule Erlang B e Erlang C.
Sviluppo di funzioni MATLAB per il calcolo delle probabilità di perdita
in code M/M/1/Ns e M/M/Ns/Nw. Soluzione mediante MATLAB di sistemi a
coda M/Cox2/1/Nw, M/H2/1/Nw e M/E2/1/Nw. d. Approccio
Matrix-Geometric per la soluzione di Catene di Markov descritte da
matrici di Hessenberg a blocchi. e. Applicazione dell’approccio
Matrix-Geometric per lo studio di sistemi a coda M/Cox2/1.
6)
Code non Markoviane: a. La trattazione di una semplice coda non
markoviana: la coda M/G/1; b. la catena di Markov immersa; analisi
della coda in regime asintotico. c. Code M/G/1 con classi di utenza
e con priorità
7) Reti di code: a. Reti di code markoviane
aperte e chiuse. Reti di code acicliche. b. Teorema di Burke.
Teorema di Jackson. c. Teorema di Gordon-Newell. d. Algoritmo
della convoluzione e approccio Mean Value Analysis per la soluzione
delle reti di code di Gordon-Newell. e. Reti di code BCMP. Indici
prestazionali in reti di code markoviane chiuse e BCMP.
8)
Tecniche numeriche per la soluzione di catene di Markov a. Librerie
Matfun e Stats di MATLAB. Generazione di osservazioni di vv.aa. di
Erlang k, iperesponenziale, ipoesponenziale e di Coxn. b. Grafico
quantile-quantile. Decomposizione agli autovalori per il calcolo del
transitorio in Catene di Markov. c. Metodi diretti per il calcolo
delle probabilità asintotiche di stato di Catene di Markov.
9
crediti (6 architetturali e 3 di laboratorio). L’esame consiste in una
prova scritta, una prova Matlab ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta, una prova Matlab ed una prova orale.
Laboratorio di progettazione di software distribuito (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso affronta il problema dello sviluppo di sistemi software
distribuiti rispondenti ai requisiti e consegnati nel rispetto di tempi
e costi prestabiliti. Il processo di sviluppo presentato e seguito nel
corso di laboratorio prevede attività tecniche (analisi di dominio,
specifica dei requisiti, progettazione in UML, realizzazione in Java o
in un altro linguaggio di programmazione orientato agli oggetti,
documentazione) e gestionali (incontri con il committente, verifiche
ispettive, collaudo).
Syllabus 1. Analisi del dominio 2.
Specifica dei requisiti 3. Progettazione in UML mediante un ambiente
integrato di progettazione 4. Codifica in Java (o in un altro
linguaggio di programmazione orientato agli oggetti) mediante un
ambiente integrato di sviluppo 5. Verifica e
validazione
Struttura del corso 6 crediti. L’esame consiste in
un colloquio individuale con discussione di un progetto realizzato
durante il corso.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in un colloquio individuale con discussione di un progetto
realizzato durante il corso.
Laboratorio di sistemi fotonici (6 CFU)
- Obiettivi formativi: Descrizione
Il
corso, di forte ispirazione sperimentale, introduce lo studente alla
conoscenza e all’utilizzo dei principali componenti e delle tecniche
sperimentali impiegate nell’ambito della fotonica. Il corso inoltre
illustrerà i principi di funzionamento dei principali strumenti di
analisi e di misura (tra cui oscilloscopi, oscilloscopi a campionamento,
analizzatori di spettro). Gli Obiettivi del corso sono di Apprendere il
funzionamento dei dispositivi e della strumentazione principalmente
utilizzata in fotonica di apprendere tecniche basilari di misura di
effettuare pratica in laboratorio.
Syllabus 1) Sorgenti laser
e modulatori a. Laser DFB e Diodi Laser b. Laser Fabry-Pèrot c.
Laser Mode-Locking d. Modulazione della luce i. Diretta ii.
Esterna 2) Dispositivi usati in fotonica a. Polarizzatori e
controllori di polarizzazione b. Isolatori, Circolatori e
Accoppiatori c. Filtri ottici d. Filtri Ottici Periodici e.
Rivelatori f. OTDR g. Cenni di amplificazione ottica h.
Accoppiamento fibra-aria-dispositivi 3) Strumentazione a.
Oscilloscopi a campionamento elettrico b. Oscilloscopi
real-time c. Analizzatori di Spettro Ottico d. Polarimetri e.
Controllori di temperatura f. Cenni di acquisizione dati e
automatizzazione dei processi di misura Struttura del corso 5
crediti consistenti in lezioni frontali ed esercitazioni. L’esame
consiste in una prova orale e di una possibile tesina da realizzare in
laboratorio.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e di una possibile tesina da realizzare in
laboratorio.
Metodi di ottimizzazione delle reti (9 CFU)
- Obiettivi formativi:
Obiettivi
Obiettivo del corso è presentare le principali
tecniche di modellazione e le principali metodologie algoritmiche che si
presentano a livello di progetto e gestione di reti di comunicazione.
Verranno presentati rilevanti problemi di progetto e gestione di
reti di comunicazione, quali QoS routing, problemi di location, problemi
di resiliency e robustezza, equilibrio in reti di traffico. Verranno
quindi proposte tecniche di modellazione e metodologie risolutive sia
per taluni problemi di base che per problemi "NP-Hard”.
Syllabus 1) Problemi di ottimizzazione di rete di base:
modelli e algoritmi a. Cammini minimi b. Flusso massimo c.
Flusso di costo minimo 2) Problemi di ottimizzazione di rete
“NP-Hard”: modelli e algoritmi a. Modelli di routing b. Modelli di
network design c. Principali tecniche euristiche d. Approcci
esatti 3) Applicazioni a. “QoS routing” b. Problemi di
“location” c. Problemi di “resiliency” d. Robustezza nelle reti di
comunicazione e. Equilibrio in reti di traffico f. Struttura
del corso 9 crediti (1/2 sui problemi di base, 5/4 su modelli e
metodi per problemi “NP-Hard” e 3 su rilevanti applicazioni). L’esame
consiste in una prova scritta seguita da una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta seguita da una prova
orale.
Metodi formali per la sicurezza (6 CFU)
- Obiettivi formativi:
Obiettivi
introduzione ad alcune nozioni e problemi relativi
alla sicurezza delle applicazioni di rete e presentazione di alcuni
formalismi e tecniche per affrontarli.
Syllabus - Introduzione
alla sicurezza - Modelli per la sicurezza - Protocolli
crittografici: - descrizione formale - proprietà di sicurezza -
tecniche di analisi statiche e dinamiche - Language-based
security: - problemi e proprietà - formalismi, metodi e
tecniche - history-based security - sicurezza dei servizi web e
della loro orchestrazione
Struttura del corso: 6 CFU. Esame con
prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: Esame con
prova orale.
Metodi per la specifica e la verifica di processi di business (6
CFU)
- Obiettivi formativi: Obiettivi:
Il
corso si pone l'obiettivo di illustrare i concetti principali e
le problematiche inerenti la gestione di processi, intesi come flussi
di lavoro (workflow) costruiti componendo certe attivita' atomiche, e
di fornire una panoramica dei linguaggi, dei modelli concettuali e
degli strumenti automatici basati su essi, che possono essere usati
per affrontare le problematiche in maniera adeguata. Per
realizzare tale obiettivo, il corso si propone di conciliare
le tecniche di astrazione, con l'approccio strutturato e modulare e
coi modelli operazionali propri della ricerca scientifica in
ambito informatico, mostrando l'influenza esercitata dalle proprieta'
di interesse ai fini della analisi e della verifica automatica
sulla scelta dei linguaggi e modelli usati per la specifica e
la progettazione di processi. Il percorso di apprendimento
portera' gli studenti ad acquisire dimestichezza con i termini
tecnici dell'area, con i diversi modelli per strutturare e comporre i
processi in modo rigoroso, con le proprieta' logiche che questi
modelli possono essere richiesti soddisfare e con le tecniche di
analisi e verifica dei processi. Inoltre potranno sperimentare i
concetti visti con strumenti automatici per progettare e analizzare
processi.
Syllabus: Introduzione alle problematiche
relative alla gestione dei processi - Terminologia (business process,
business process management, business process management system,
business process model, process orchestration, business process
lifecycle, workflow) e classificazione (orchestrazione vs
coreografia, automazione, strutturazione) - Cenni sull'evoluzione
dei sistemi di gestione di processi aziendali Modellazione di
processi - Modelli concettuali e livelli di astrazione -
Decomposizione funzionale e modularizzazione - Orchestrazione di
processi - Proprieta' di interesse nella progettazione, analisi e
verifica di processi basati su workflow - Pattern di
orchestrazione (sequenza, split parallelo, split esclusivo, and-join,
join esclusivo,...) e workflow strutturati - Modelli rigorosi per
workflow: reti di Petri e workflow nets Strumenti automatici per la
progettazione e analisi di workflow - sperimentazione su ambiente di
progettazione di processi workflow con strumenti automatici per
progettare, analizzare processi di workflow
Esami: Il corso e'
organizzato per una frequenza attiva e continua. L'esame comprende un
progetto e una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L'esame
comprende un progetto e una prova orale.
Metodi per la verifica del software (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso si propone di introdurre e sperimentare la tecnica di verifica di
correttezza di sistemi (software e hardware) chiamata Model Checking. Si
svilupperanno i prerequisiti necessari e si approfondira' lo studio e
l'utilizzo di metodi algoritmici (efficienti) per la verifica basati sul
Model Checking. L'utilizzo di tecniche di Model Checking permette di
verificare effettivamente la correttezza di classi significative di
programmi superando i limiti delle soluzioni tradizionali basate su
testing e simulazione.
Syllabus Logica temporale. Automi
e parole infinite. Algoritmi di verifica: le tecniche di base
(linear time-branching time) L'esplosione del numero degli stati: l
Model Checking simbolico e la tecnica dell'astrazione Strumenti e
pacchetti. Casi di studio
Struttura del corso. 6 CFU.
L’esame consta di una prova orale ed eventualmente di un progetto
didattico.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consta di una prova orale ed eventualmente di un progetto
didattico.
Modelli di calcolo (9 CFU)
- Obiettivi formativi:
Obiettivi
Vengono introdotti i principi della semantica
operazionale, della semantica denotazionale e delle tecniche per
metterle in relazione per un linguaggio imperativo e per un linguaggio
funzionale di ordine superiore. Viene anche presentata la semantica
operazionale e osservazionale di due calcoli per la descrizione di
processi (CCS e pi-calcolo). Infine si esaminano i modelli operazionali
con probabilità discrete e li si presentano dal punto di vista degli
automi probabilistici.
Syllabus 1) Semantica operazionale e
denotazionale di un semplice linguaggio imperativo (IMP) a.
Introduzione e sistemi di prova con regole di inferenza b. Sintassi e
semantica operazionale di IMP c. Tecniche di prova per induzione.
(4h) d. Ordinamenti parziali completi e. Teorema del minimo punto
fisso f. Segnature e algebre dei termini g. Semantica
denotazionale di IMP h. Equivalenza tra semantica operazionale e
denotazionale di IMP 2) Semantica operazionale e denotazionale di un
linguaggio funzionale higher order (HOL) a. Sintassi e semantica
operazionale lazy di HOL b. Domini e costruzioni di domini c.
Semantica denotazionale lazy di HOL d. Relazione tra semantica
operazionale e denotazionale di HOL 3) Sistemi di transizione e
calcoli di processo per sistemi comunicanti mobili e
probabilistici a. Sintassi e semantica operazionale di un calcolo di
processi (CCS) b. Semantica osservazionale del CCS c. Logica di
Hennessy-Milner d. Sintassi e semantica di un calcolo per processi
mobili (pi-calculus) e. Modelli operazionali con probabilità
discrete, processi di Markov f. Automi probabilistici (PA) g.
Simulazione e bisimulazione di PA
Struttura del corso 9
crediti (4 su IMP, 2 su HOL e 3 sui calcoli di processo). L’esame finale
consiste di una prova scritta e di una orale. La prova scritta finale
può essere sostituita da due prove scritte da sostenere durante il
corso.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
finale consiste di una prova scritta e di una orale. La prova scritta
finale può essere sostituita da due prove scritte da sostenere durante
il corso.
Modelli di costo e progettazione di supporti (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta di metodologie e tecniche per la progettazione di supporti
a tempo di esecuzione di paradigmi di programmazione e applicativi per
sistemi distribuiti, basandosi sull’approccio dell’architettura astratta
e del modello dei costi delle computazioni e delle comunicazioni.
Vengono presentate sia metodologie e tecniche generali, che studi di
casi significativi e definiti o modificati di volta in
volta.
Syllabus 1. Architetture astratte e modelli di costo
per sistemi distribuiti 2. Metodologie e tecniche per analisi statica
di applicazioni distribuite 3. Metodologie e tecniche per analisi di
applicazioni distribuite a tempo di esecuzione 4. Progetto di
supporti a tempo di esecuzione e ottimizzazioni 5. Strumenti
configurazione, inizializzazione, esecuzione 6. Studio di
casi
Struttura del corso 6 CFU. L’esame consiste in una prova
scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Paradigmi ed architetture avanzate (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta di modelli architettuali e di studi di casi di architetture
di calcolo avanzate, con particolare riguardo a sistemi, sia generali
che dedicati, basati su componenti ad alta scala di integrazione, come
multiprocessor on chip, graphic processing unit, fpga, networks on chip
e loro composizioni. Accanto ai paradigmi architetturali, il corso
studia modelli di programmazione e strumenti di sviluppo applicazioni,
con caratteristiche di ottimizzazione dei pattern di comunicazione,
delle gerarchie di memoria, dell’eterogeneità, dell’adattività dinamica
nella gestione delle computazioni e delle risorse, del
context-awareness, della mobilità, del deployment statico e dinamico,
rispetto ai modelli di costo in termini di Qualità del Servizio,
performance, tempo di risposta in real time, banda di elaborazione,
risparmio energetico. Vengono mostrati studi di casi riferiti a
tecnologie avanzate, anche attraverso attività sperimentali e di
laboratorio.
Syllabus 1. Paradigmi architetturali a.
Architetture multiprocessor on chip b. Graphic processing units c.
Networks on chip d. Sistemi distribuiti basati su componenti ad alta
integrazione e. Strategie di comunicazione f. Gerarchie di
memoria g. Gestione della ridondanza 2. Modelli di programmazione
a. Adattività e context-awareness b. Deployment dinamico su
sistemi eterogenei c. Energy reliability d. Modelli di costo e QoS
per applicazioni su complessi ad alta integrazione 3. Studi di
casi
Struttura del corso 9 CFU (6 CFU sulle parti 1 e 2, 3 CFU
per lo studio di casi con attività di laboratorio). L’esame consiste in
una prova scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Pervasive computing (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta di metodologie e tecniche per la progettazione ed
applicazione di paradigmi di pervasive/ubiquitous computing: ambient
intelligence, context-awareness, human-centered computing, sentient
computing, ed altri. Vengono studiate tecnologie, sistemi e framework
per supportare questi paradigmi in distribuito e messi in relazione con
modelli generali paralleli e distribuiti. Il corso presenta diversi
studi di casi.
Syllabus 1. modelli di pervasive/ubiquitous
computing 2. ambient intelligence, 3. context-awareness, 4.
human-centered computing, 5. sentient computing, 6. analisi e
valutazione di tecnologie, sistemi e framework, 7. studio di
casi
Struttura del corso 6 CFU. L’esame consiste in una prova
scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Prestazioni di reti multimediali (6 CFU)
- Obiettivi formativi: Obiettivi
Il
modulo fornisce i concetti elementari necessari per affrontare le
problematiche relative alla valutazione delle prestazioni delle moderne
reti a commutazione di pacchetto, con particolare riguardo ai meccanismi
di inoltro affidabile dell’informazione e alle architetture legate alla
gestione di flussi multimediali con garanzie di qualità del servizio.
Saranno analizzati sia tradizionali approcci di carattere probabilistico
(in relazione all’analisi di eventi rari e alla modellizzazione di
funzioni e protocolli di rete) che metodologie basate sull’analisi di
worst-case, alla base del dimensionamento di reti IntServ e
DiffServ.
Syllabus 1) Network Calculus a. Concetti
generali: curve di arrivo e di servizio, bound relativi a backlog e
delay b. Caratterizzazione del traffico mediante token bucket c.
Applicazioni a Internet: architetture IntServ e DiffServ d. Modelli
basati sui tempi di arrivo e di partenza dei pacchetti: GR node e PSRG
node 2) Modellizzazione del traffico a. Modelli di traffico
SRD b. Modelli di traffico LRD c. Modellizzazione di connessioni
TCP 3) Simulazione di Eventi Rari a. Teoria delle Grandi
Deviazioni b. Effective Bandwidth c. Restart d. Importance
Sampling
Struttura del corso 6 crediti. L’esame consiste in
una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale.
Programmazione avanzata (9 CFU)
- Obiettivi formativi: Obiettivi
Gli
obiettivi del corso sono: a. di fornire agli studenti una conoscenza
approfondita di come come concetti e metafore ad alto livello dei
linguaggi di programmazione si traducono in sistemi eseguibili e quali
siano i loro costi e limiti b. di familiarizzare gli studenti con i
moderni principi, tecniche e migliori pratiche per la costruzione di
software sofisticato c. di introdurre tecniche di programmazione a
livelli di astrazione più elevata, in particolare generative
programming, component programming e web computing d. di presentare
frameworks allo stato dell’arte che incorporano queste tecniche. Il
corso in particolare si focalizza su questioni di qualità relative al
progetto dettagliato ed alla codifica, quali l’affidabilità, le
prestazioni, l’adattabilità e l’integrabilità in sistemi più
ampi.
Syllabus 1. Pragmatica dei Linguaggi di
Programmazione 2. Supporto Run Time e Ambienti di Esecuzione 3.
Programmazione Generica 4. Librerie di Classi e Framework 5.
Programmazione Generativa 6. Interoperabilità tra Linguaggi 7.
Programmazione Basata su Componenti 8. Web Services 9. Web e
Application Frameworks 10. Linguaggi di Scripting
Struttura
del Corso 9 crediti (3 su pragmatica dei linguaggi, 3 su metafore di
programmazione avanzate, 3 sulla programmazione web). L’esame consiste
nella preparazione di elaborato finale scritto, a soluzione di un
problema complesso di programmazione.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste nella preparazione di elaborato finale scritto, a soluzione di
un problema complesso di programmazione.
Programmazione concorrente (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta di metodologie e tecniche per la programmazione di sistemi
concorrenti e distribuiti. Vengono approfonditi i classici modelli ad
ambiente locale e ad ambiente globale, ed applicati a tecnologie
esistenti (librerie di comunicazione e a memoria condivisa) e linguaggi
concorrenti. Inoltre, viene studiata l’applicazione a modelli di più
alto livello, come programmazione parallela strutturata e framework
distribuiti, supportati da diversi studi di casi.
Syllabus 1.
Modelli di programmazione concorrente 2. Applicazione a librerie di
comunicazione 3. Applicazione a librerie a memoria condivisa 4.
Linguaggi concorrenti 5. Ambienti e strumenti di programmazione
parallela strutturata e framework distribuiti 6. Studio di
casi
Struttura del corso 6 CFU. L’esame consiste in una prova
scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Propagazione ed ottica applicata (9 CFU)
- Obiettivi formativi: Propagazione ed
ottica applicata
Il presente corso, articolato in tre moduli,
fornirà i fondamenti di campi elettromagnetici , ed esaminerà in
dettaglio le implicazioni nell’ambito dell’ottica applicata e della
propagazione guidata, in fibra o in guida dielettrica, così come
nell’ambito della di propagazione wireless. Più in dettaglio, il
modulo di insegnamento sui fondamenti di campi elettromagnetici e
propagazione offrirà allo studente un’introduzione iniziale ai concetti
fondamentali connessi alla teoria dei campi elettromagnetici e sarà
quindi incentrato sulla teoria delle linee di trasmissione, la
propagazione delle guide d’onda dielettriche, gli amplificatori ed i
laser in fibra o in guida d’onda. Una parte non trascurabile sarà
dedicata al design di specifiche componenti ottiche in fibra ed in
guida, fornendo elementi di analisi e la logica sottostante al
comportamento dei dispositivi ottici in modo tale da rendere lo studente
capace di applicare indipendentemente i concetti fondamentali al design
di dispositivi reali di interesse pratico; verranno inoltre descritti
metodi numerici per l’analisi modale, basati sugli elementi finiti, così
come strumenti di modellazione statica e dinamica di amplificatori
ottici in fibra ed in guida. Il modulo di insegnamento sui fondamenti
di ottica applicata fornirà i concetti e le nozioni basilari sulle onde
luminose, la loro natura, la loro descrizione e le loro caratteristiche
fisiche, ed illustrerà inoltre i principali settori di applicazione
dell’ottica. Il modulo di insegnamento sulle reti di comunicazione
wireless approfondirà in particolare gli aspetti legati alla
trasmissione wireless, e tratterà i fondamenti, le tecnologie utilizzate
ed i protocolli esistenti nelle comunicazioni su reti
wireless.
Gli argomenti trattati nel corso, suddivisi in aree
tematiche, sono:
Campi elettromagnetici e propagazione
-
Equazioni di Maxwell - Linee di trasmissione - Propagazione e
riflessione di onde piane - Guide d’onda dielettriche
rettangolari - Guide d’onda cilindriche: le fibre ottiche - Il
metodo agli elementi finiti per l’analisi modale e la propagazione in
guida d’onda - Amplificatori ottici e laser in fibra ottica -
Amplificatori ottici e laser integrati in guida
d’onda
Fondamenti di ottica applicata
- Ottica
geometrica e l’ottica dei raggi luminosi - Ottica matriciale -
Equazioni di Maxwell in ottica - Il fenomeno della
polarizzazione - Interferenza e diffrazione - Ottica
quantistica - I laser e le loro applicazioni
Comunicazioni
wireless
- Introduzione alla trasmissione wireless - Nozioni
fondamentali sulle reti wireless
Struttura del corso
9
crediti consistenti in lezioni frontali ed esercitazioni. L’esame
consiste in una prova orale e di una possibile discussione di un
semplice progetto assegnato allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e di una possibile discussione di un
semplice progetto assegnato allo studente.
Reti di accesso, metropolitane e di dorsale (12 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce i fondamenti dei processi stocastici e teoria dei
segnali avanzata applicata alla stime e i fondamenti di teoria delle
code. Il corso coprirà anche le tecnologie di rete wireless e i relativi
protocolli. Infine presenterà le principali architetture per i segmenti
di accesso, metropolitani e di core.
Syllabus 1) Processi
stocastici e teoria delle code a. Concetti generali b. Percorsi
casuali e altre applicazioni c. Rappresentazione spettrale d.
Stima dello spettro e. Catene e processi di Markov f. Teoria delle
reti elementare g. Teoria delle reti intermedia 2) Reti di
comunicazione senza fili a. Introduzione alle trasmissioni e alle
reti senza fili b. Protocolli per reti senza fili c. Reti
CDMA d. IEEE 802.11 (WiFi) e. IEEE 802.16 (WiMax) f. Reti senza
fili magliate g. Reti senza fili di sensori 3) Progetto di
reti a. Gerarchia di rete b. Segmento di accesso c. Segmento
metropolitano d. Segmento di core e. Architetture
future
Struttura del corso 12 crediti consistenti in lezioni
frontali ed esercitazioni. L’esame consiste in una prova orale e di una
possibile discussione di un semplice progetto assegnato allo
studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e di una possibile discussione di un
semplice progetto assegnato allo studente.
Reti e tecnologie per le telecomunicazioni (9 CFU)
- Obiettivi formativi:
Obiettivi
L’obiettivo del corso è di fornire allo studente
un’ampia panoramica dell’architettura e dei protocolli utilizzati nelle
reti di telecomunicazione e delle tecnologie a livello fisico per
trasmettere i dati. Inoltre viene fornita un’introduzione sugli
strumenti utilizzati per la progettazione delle reti di
telecomunicazione. Il corso è diviso in tre moduli. Il primo modulo
riguardante le reti di telecomunicazione introduce i concetti
fondamentali dell’interconnessione in rete di dispositivi. Quindi, il
secondo modulo riguardante campi elettromagnetici e propagazione tratta
in dettaglio lo strato fisico delle reti e fornisce le basi di
propagazione guidata e non e di trasmissione dati. Infine, il terzo
modulo riguardante l’ottimizzazione delle reti idi telecomunicazione
introduce gli strumenti utilizzati nella modellazione ed ottimizzazione
delle reti di telecomunicazione.
Syllabus 1) Reti di
Telecomunicazione a. Introduzione alle reti di
telecomunicazione b. Commutazione a pacchetto ed a circuito c.
Livelli protocollari e protocolli d. Mezzi di trasmissione e. Il
livello fisico f. I protocolli di livello 2, livello 3 e livello
4 g. MPLS, VLAN, VPN h. Introduzione alla Qualità del Servizio
(QoS) ed all’ instradamento ed al controllo di ammissione basati sulla
QoS i. Codifica vocale, Skype 2) Campi elettromagnetici e
propagazione a. Equazioni di Maxwell b. Linee di
trasmissione c. Propagazione e riflessione di onde piane d. Guide
d’onda dielettriche rettangolari e. Guide d’onda cilindriche: le
fibre ottiche f. Il metodo agli elementi finiti per l’analisi modale
e la propagazione in guida d’onda g. Amplificatori ottici e laser in
fibra ottica h. Amplificatori ottici e laser integrati in guida
d’onda 3) Ottimizzazione delle reti di telecomunicazione a.
Introduzione alla programmazione lineare b. Introduzione alla teoria
dei grafi c. Introduzione all’instradamento ed all’assegnazione delle
lunghezze d’onda
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consta di un colloquio orale sui temi trattati a lezione ed un’eventuale
discussione di una tesina assegnata allo studente.
Sicurezza delle reti (9 CFU)
- Obiettivi formativi: Il corso introduce
i principali concetti e gli strumenti metodologi per analizzare un
sistema
informatico dal punto di vista della sicurezza e per
aumentare il livello di sicurezza offerto dal sistema stesso. Il
corso adotta un approccio sistemico alla sicurezza vista come una
proprietà del sistema informatico complessivo a partire dal livello
del sistema operativo. 1. Concetti di Base a. Attributi di
sicurezza e relazione con altri attributi di un sistema i.
Confidenzialità ii. Integrità iii. Disponibilità b.
Vulnerabilità c. Minaccia d. Attacco i. Attacchi
elementari ii. Attacchi complessi e. Contromisura f.
Rischio 2. Analisi delle Vulnerabilità 3. Analisi delle
Minacce 4. Analisi delle Contromisure a. Contromisure a livello
hardware/firmware b. Contromisure a livello di nucleo del sistema
operativo c. Contromisure a livello delle applicazioni d.
Contromisure a livello di rete e. Sviluppo di software sicuro f.
Strumenti per la rilevazione delle intrusioni i. Firewall ii.
Intrusion Detection System iii. Network Intrusion Detection
System g. Politica di Sicurezza 5. Analisi del Rischio a.
Approcci qualitativi b. Approcci quantitativi c. Approcci ibridi
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: Prova
orale.
Sistemi ad alte prestazioni e piattaforme abilitanti (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta delle architetture di sistemi ad alte prestazioni secondo
diversi modelli ed approcci, in particolare sistemi multiprocessor a
memoria condivisa ed a memoria distribuita, cluster, multi cluster,
grid, cloud, farms, data centre. Tali sistemi vengono studiati in
termini di modello architetturale, supporti statici e dinamici a modelli
computazionali e di programmazione parallela e distribuita, valutazione
delle prestazioni, capacità di essere combinati in piattaforme
abilitanti complesse ed eterogenee, fornendo esempi di campi di
applicazione. Vengono approfondite le caratteristiche e le tendenze
tecnologiche, come l’utilizzo di tecnologie multicore/GPU e reti ad alta
velocità.
Syllabus 1. Modelli architetturali generali di
sistemi a moduli cooperanti 2. Analisi e valutazione delle
prestazioni di sistemi paralleli e distribuiti 3. Architetture a
memoria condivisa: SMP, NUMA, COMA 4. Architetture a memoria
distribuita ad accoppiamento stretto e lasco 5. Cluster,
multicluster, farms, grid, cloud, data centre 6. Caratteristiche di
compilatori e supporti a tempo di esecuzione 7. Piattaforme complesse
eterogenee 8. Impatto tecnologico su moduli di elaborazione e di
comunicazione e su piattaforme
Struttura del corso 6 CFU.
L’esame consiste in una prova scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Sistemi distribuiti: paradigmi e modelli (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta dei paradigmi e dei modelli di programmazione utilizzati
per sistemi distribuiti e paralleli sia a livello delle applicazioni che
degli strumenti di supporto. Partendo da modelli di programmazione
strutturata (algorithmical skeleton, parallel design pattern) o basati
sul concetto di componente o di servizio, verranno presi in
considerazione sia i problemi relativi agli aspetti funzionali (potere
espressivo, modularità, riuso) che quelli relativi agli aspetti non
funzionali (performance, fault tolerance, adattività). Il modulo di
laboratorio permetterà di sperimentare diversi approcci e soluzioni
sulle architetture distribuite maggiormente diffuse, come reti di
workstation, griglie computazionali e cloud.
Syllabus 1)
Paradigmi per la programmazione parallela e distribuita a.
Programmazione strutturata b. Componenti c. Workflow 2) Modelli
implementativi a. Posix-TCP/IP-SSH/SCP b. RPC/RMI c.
Distributed Virtual Shared Memory d. Parallel Virtual File
Systems e. Sistemi “Middleware” 3) Laboratorio a. Ambienti a
skeleton b. Ambienti a componenti c. Implementazione di semplici
supporti run time d. Implementazione di semplici
applicazioni
Struttura del corso 9 crediti (3 sui paradigmi, 3
sui modelli implementativi e 3 di (preparazione alle attività di)
laboratorio). L’esame consiste in una prova orale con discussione di un
semplice progetto assegnato allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale con discussione di un semplice progetto
assegnato allo studente.
Sistemi embedded (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso copre le principali fasi dello sviluppo di sistemi embedded, con
particolare attenzione al le tecniche basate su modelli (model-based) e
all’uso di metodi formali per l'analisi delle proprietà del sistema.
Verranno esaminati problemi e soluzioni relativi a tutte le fasi di
sviluppo, comprendendo: analisi dei requisiti, progettazione a livello
di sistema, modelli orientati ai componenti, modelli software, verifica
di proprietà, scelta e progettazione dell’architettura, generazione di
codice e testing.
Syllabus 1) Modello di sviluppo di sistemi
embedded a. I sistemi embedded e l'impatto sulla moderna elettronica
industriale b. Le fasi del processo di sviluppo, progettazione basata
su modelli. c. Modelli di calcolo per sistemi embedded: macchine a
stati finiti, FSM gerarchiche, automi temporizzati, dataflows. d.
Analisi dei requisiti utente, test di sistema, tracciamento dei
requisiti scelta e progettazione dell’architettura, modelli orientati ai
componenti, modelli software, raffinamento, preservazione della
semantica, generazione di codice. Strumenti, metodi e standard per la
modellazione di sistema. e. Introduzione alle tecniche di verifica,
analisi funzionale e temporale. f. Generazione automatica di
codice. g. Tecniche di test, test di conformità, il concetto di
copertura nel test, copertura MC/DC. 2) Programmazione di Sistemi
Embedded: sistemi operativi e comunicazione wireless – Tecnologie ed
esempi.
Struttura del corso 6 crediti consistenti in lezioni
frontali, esercitazioni e laboratorio. L’esame consiste in una prova
orale e nella discussione di un semplice progetto assegnato allo
studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale e nella discussione di un semplice progetto
assegnato allo studente.
Sistemi operativi distribuiti (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso fornisce i concetti e le tecniche necessarie ad estendere la
definizione di Sistema Operativo, già nota per una singola macchina
fisica, fino a comprendere piattaforme di esecuzione più complesse,
inerentemente parallele e distribuite. Vengono confrontate più
tecnologie di esecuzione distribuita e realizzazioni di Sistema
Operativo Distribuito (DOS), analizzando le diverse astrazioni di
sistema fornite, le problematiche conseguenti, le scelte di
implementazione, le potenzialità ottenibili. Una parte importante
del corso è costituita dalla presentazione dal punto di vista
tecnologico di un Sistema Operativo Distribuito di
riferimento.
Syllabus Richiami e fondamenti Modelli di
sistema distribuito e meccanismi di base Sistemi middleware, qualità
del servizio DOS single-sistem-image (SSI) Istanze di kernel
cooperanti, implementazione, applicabilità; DOS geografici
Organizzazioni virtuali; sicurezza, meccanismi di comunicazione e
cooperazione; File system distribuiti su larga scala; Meccanismi
di esecuzione Eterogeneità delle risorse nei DOS Tipi di risorse
e vincoli imposti al sistema Impatto sulle astrazioni e
l'implementazione del sistema Complementi DOS ed architetture di
calcolo gerarchiche multilivello DOS e virtualizzazione : interpreti
di sistema, contenimento, virtualizzazione,
paravirtualizzazione Future Internet e DOS
Struttura del
corso 6 CFU, di cui 4 CFU su DOS SSI e geografici. Il corso assume la
disponibilità di un laboratorio per gli studenti. La prova d'esame
consiste in un orale con discussione di un progetto legato ad uno dei
Sistemi Operativi Distribuiti presentati nel corso.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: La prova
d'esame consiste in un orale con discussione di un progetto legato ad
uno dei Sistemi Operativi Distribuiti presentati nel
corso.
Sistemi peer to peer (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce le principali metodologie e tecniche per la
progettazione e la realizzazione di sistemi P2P. In particolare
verranno introdotte le problematiche relative alla definizione di
overlay P2P strutturati e non. Le tecniche introdotte verranno
inoltre esemplificate con riferimento ad un insieme di applicazioni
reali. Il corso infine prevede la presentazione di un insieme di
strumenti per la simulazione e la realizzazione di sistemi
P2P.
Syllabus 1. sistemi P2P: classificazione e
caretteristiche generali 2. overlay P2P non strutturati a.
routing, b. analisi di reti non strutturate: Random Graphs, Power Law
Graphs, c. Small World Networks, Scale Free Networks d. reti
ibride: elezione di superpeers e. esempi 3. overaly P2P
strutturati: Distributed Hash Tables a. indicizzazione
distribuita b. routing c. bilanciamento del Carico d.
esempi e. Range Query su DHT: Skip-Graphs f. Proximity Aware
Overlays: Internet Coordinate Systems 4. Cooperative Content
Distribution a. strategie di distribuzione dei contenuti b.
strategie di collaborazione: elementi di teoria dei giochi c.
compressione delle informazioni: network Coding, Bloom Filters d.
esempi 5. DHT in applicazioni reali 6. Voice Over Peer to
Peer 7. Strumenti di simulazione e di supporto per reti P2P
:
Struttura del Corso 6 crediti. L'esame consiste in una prova
scritta o nello svolgimento di un progetto. La prova orale è
obbligatoria in entrambe i casi.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L'esame
consiste in una prova scritta o nello svolgimento di un progetto.
La
prova orale è obbligatoria in entrambe i casi.
Sistemi real-time (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce i meccanismi di kernel e le tecniche per aumentare la
predicibilità dei sistemi controllati da computer.
Syllabus 1.
Concetti di base sull’elaborazione real-time. Domini
dell’applicazione. Tipici requisiti di sistema. Limiti degli approcci
tradizionali. Modelli dei task. Tipiche specifiche di tempo. Scheduling
dei task. Metriche per la valutazione di prestazioni. 2. Algoritmi di
scheduling Real-Time Tassonomia degli algoritmi. Scheduling con
specifiche di precedenza. Scheduling di task periodici. Analisi basat
sull’utilizzazione. Analisi basata sul tempo di risposta. Gestione di
task non periodici. Server a priorità fissata. Server a priorità
dinamica. 3. Protocolli per l’accesso a risorse distribuite Il
fenomeno di inversione di priorità. Protocolli non-preemptive Protocolli
ad eredità della priorità. Politica di gestione dello stack di risorse.
Tempi di blocco dell’elaborazione. Analisi della schedulability. 4.
gestione del sovraccarico Definizione di carico computazionale.
Metodi per la gestione del sovraccarico. Controllo d’accesso. SCheduling
robusto. Elaborazione non perfetta. Salto del job. Scheduling elastico.
Gestione degli overrun. Meccanismo di prenotazione delle risorse.
Tecniche di richiamo delle risorse. 5. aspetti
implementativi Meccanismi di kernel per il supporto real-time
Strutture dati richieste. Rappresentazione temporale Problemi di
overhead. Primitive fondamentali del kernel. Stati del processo e
transizione di stati. Sincronicità e asincronicità.
Struttura
del corso 6 crediti consistenti in lezioni frontali, esercitazioni e
laboratorio. L’esame consiste in una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale.
Strumenti di programmazione per sistemi paralleli e distribuiti (9
CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta della progettazione,valutazione e utilizzo di strumenti e
ambienti di programmazione per applicazioni di sistemi paralleli e
distribuiti. I paradigmi di programmazione, e relativi modelli di costo,
riguardano le computazioni ad alte prestazioni di tipo stream- e
data-parallel, distributed shared memory, programmazione adattiva e
context-aware, programmazione ad eventi ad alte prestazioni,
programmazione real-time, programmazione di politiche di tolleranza ai
guasti, ed altri. Vengono definiti gli strumenti, statici e dinamici,
per questi paradigmi e ne vengono valutate le prestazioni mediante studi
di casi in attività sperimentale e di laboratorio.
Syllabus 1.
Modelli di programmazione stream-parallel e data-parallel 2.
Distributed shared memory 3. Programmazione adattiva e
context-aware 4. Programmazione ad eventi ad alte prestazioni 5.
Programmazione real-time 6. Programmazione di politiche di tolleranza
ai guasti, 7. Ambienti e strumenti di sviluppo 8. Supporti a
tempo di esecuzione 9. Studi di casi
Struttura del corso 9
CFU (6 sulla metodologia, 3 su studi di casi e attività di laboratorio).
L’esame consiste in una prova scritta ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
Tecniche di data mining (9 CFU)
- Obiettivi formativi: Obiettivi
I
formidabili progressi della potenza di calcolo, della capacità di
acquisizione e memorizzazione dei dati e di connettività hanno creato
quantità di dati senza precedenti. Il data mining, ovvero la scienza
dell’estrazione di conoscenza da tali masse di dati, si è quindi
affermato come ramo interdisciplinare dell’informatica. Le tecniche
di data mining sono state applicate a molti problemi in ambito
industriale, scientifico e sociale, e si ritiene che avranno un impatto
sempre più profondo sulla società. L’obiettivo del corso è quello di
fornire: 1. un’introduzione ai concetti di base del data mining e del
processo di estrazione della conoscenza, con approfondimenti sui modelli
analitici e gli algoritmi più diffusi; 2. una rassegna delle tecniche
avanzate per il mining delle nuove forme di dati; 3. una rassegna
delle principali aree applicative e di casi di studio
paradigmatici.
Syllabus - Concetti di base del data mining e
del processo di estrazione della conoscenza - Preprocessing ed
analisi esplorativa dei dati - Pattern frequenti e regole
associative - Classificazione: alberi di decisione e metodi
Bayesiani - Clustering: metodi basati su partizione, gerarchici,
basati su densità - Esperimenti analitici con strumenti di data
mining - Mining di serie temporali e dati spazio-temporali -
Mining di dati sequenziali, mining di grandi grafi e reti -
Linguaggi, standard e architetture dei sistemi di data mining -
Impatto sociale del data mining - Data mining e protezione della
privacy - Cenni alle applicazioni: Grande distribuzione,
Marketing, CRM Industria delle telecomunicazioni, Analisi
finanziaria, analisi di rischio Rilevamento di frodi Pubblica
amministrazione e sanità Mobilità e trasporti
Struttura del
Corso 9 crediti (6 sui fondamenti, 3 sulle tecniche avanzate e le
applicazioni). Il corso è tenuto in lingua inglese L’esame consiste in
una prova scritta, un progetto di data mining ed una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta, un progetto di data mining ed una prova
orale.
Tecniche numeriche e applicazioni (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso propone l’analisi e l’approfondimento di metodi numerici per la
risoluzione di problemi applicativi. Particolare rilievo e’ dato alle
tecniche di algebra lineare numerica piu’ frequentemente usate nelle
applicazioni.
Syllabus 1. Preliminari di algebra lineare:
diagonalizzabilita’ e forme canoniche, matrici definite positive,
decomposizione ai valori singolari, norme, condizionamento di una
matrice 2. Metodi diretti per sistemi lineari: matrici elementari,
fattorizzazioni LU, LLh, QR, rotazioni di Givens, metodi di Cholesky e
di Householder 3. Metodi iterativi per sistemi lineari: metodi
classici, ultrarilassamento, metodo del gradiente coniugato 4. Metodi
iterativi per sistemi non lineari: metodo di Newton, metodi
quasi-Newton 5. Metodi iterativi per il calcolo di autovalori:
condizionamento del problema, metodo delle potenze, metodi LR e QR,
tridiagonalizzazione di una matrice simmetrica 6. Problema lineare ai
minimi quadrati: equazioni normali, uso della SVD 7. Metodi per
matrici tridiagonali: riduzione ciclica, uso delle successioni di Sturm,
tecniche divide et impera 8. Matrici non negative: teorema di
Perron-Frobenius, matrici stocastiche 9. Trasformata discreta di
Fourier: alcune applicazioni
Struttura del corso 9 crediti.
L’esame consiste in una prova orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale.
Teoria dell'affidabilità (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce i concetti di relaibility, availability, mean time to
failure, mean time to repair e li applica alle reti di
telecomunicazione. Inoltre il corso introdurrà i metodi per l’analisi
dell’affidabilità sia in regime stazionario che in
transitorio.
Syllabus 1. Definizione di affidabilità,
availability, realiability, mean time to failure, mean time between
failure, mean time to repair. 2. Basi matematiche: Teoria della
Probabilità. Catene di Markov. 3. L’analisi combinatoria applicata
alla teoria dell’affidabilità. 4. Affidabilità di un sistema.
Two-terminal, k-terminal, all-terminal reliability. Metodi per il
calcolo dell’affidabilità di un sistema tramite grafi e riduzione dei
grafi. 5. Metodi probabilistici per l’analisi dell’affidabilità in
regime stazionario. 6. Metodi basati sulle catene di Markov per
l’analisi dell’affidabilità in transitorio
Struttura del
corso 6 crediti consistenti in lezioni frontali, esercitazioni e
laboratorio. L’esame consiste in una prova scritta.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta.
Teoria dell'informazione e della trasmissione (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corsa tratta in modo elementare dei Fondamenti della Teoria
dell’Informazione, Introducendo concetti come Entropia, Codifica,
Compressione correzione di errori, dovrebbe servire come prerequisito
per gli studi successivi che trattano la generazione la codifica e la
trasmissione dell’informazione. Syllabus Concetti generali di
Teoria dell'Informazione. La funzione entropia. La proprietà di
equiripartizione asintotica. Sorgenti d'informazione discreta.
Codifica in assenza di rumore: codici istantanei e codici univocamente
decifrabili; il teorema della codifica in assenza di rumore. Costruzione
dei codici ottimali: il metodo di Huffman. Codifica aritmetica Il
canale discreto senza memoria. Capacità, Schemi di decisione e
probabilità di errore. La codifica del canale. Il teorema fondamentale.
I codici correttori a blocchi. I codici lineari, algoritmi di
decodifica, capacità correttiva, probabilità di errore. I Codici
ciclici, I codici BCH, i codici di Reed Solomon, applicazioni. Il
canale continuo: introduzione alla teoria della trasmissione.
Struttura del corso 9 crediti (6 sulla teoria dell’informazione,
3 sulla trasmissione). L’esame consiste in una prova scritta e una
orale.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta e una orale.
Teoria e tecnica delle comunicazioni ottiche (12 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce gli studenti ai principi fondamentali della teoria della
comunicazione e della trasmissione con particolare enfasi sulle
caratteristiche spettrali dei segnali e sulle prestazioni e complessità
dei sistemi ottici. Vengono illustrati i più comuni effetti trasmissivi
che devono essere presi in considerazione nella progettazione di moderni
sistemi ottici ad alta capacità e vengono introdotti i fondamenti della
modulazione e demodulazione ottica. Vengono altresì analizzate le
strutture di trasmettitori e ricevitori ottici ad alte prestazioni e le
loro proprietà rispetto al rumore. Programma 1. Teoria della
trasmissione numerica a. Trasmissione numerica su canali
gaussiani b. Progetto di sistema per canali limitati in banda c.
Equalizzazione adattativa d. Codifica di canale e di linea 2.
Progetto di sistemi ottici a. Amplificazione e rumore ottico b.
Propagazione su fibra ottica c. Effetti trasmissivi lineari e non
lineari 3. Fondamenti di comunicazione ottica a. Trasmettitori
ottici e formati di modulazione b. Impatto degli effetti lineari e
non lineari nelle fibre ottiche c. Ricevitori ottici e
rumore Struttura del corso 12 crediti consistenti in lezioni
frontali ed esercitazioni. L’esame consiste in una prova scritta.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova scritta.
Tesi di laurea (15 CFU)
- Obiettivi formativi: La prova finale per
il conseguimento della Laurea Magistrale in Informatica e
Telecomunicazioni, valutata da una commissione nominata dalle strutture
didattiche, consiste nella presentazione e discussione dei risultati di
una tesi che rivesta caratteristiche di originalità, redatta sotto la
guida di un relatore accademico, docente del Corso di Laurea Magistrale,
e di un eventuale relatore esterno nel caso di attività svolta presso
un'azienda o ente esterno. La valutazione della prova finale sarà basata
sulla qualità del lavoro svolto e sulla capacità di lavoro autonomo, di
sintesi e di comunicazione del candidato.
- Modalità di verifica finale: La
valutazione della prova finale sarà basata sulla qualità del lavoro
svolto e sulla capacità di lavoro autonomo, di sintesi e di
comunicazione del candidato.
Tollerenza ai guasti in sistemi distribuiti (6 CFU)
- Obiettivi formativi: Obiettivi
Il
corso introduce le tematiche di tolleranza ai guasti per sistemi
distribuiti. Verranno descritti in dettaglio le tecniche di replicazione
software, azioni atomiche, strategie di checkpointing e protocolli di
rollback recovery. Ciascuna tecnica verrà studiata nel contesto in cui è
stata originalmente introdotta e successivamente approfondita nel
contesto dei sistemi paralleli e distribuiti. Verranno approfonditi
alcuni dettagli di implementazione, come le memorie stabili, e verrà
fatta una panoramica sui modelli di valutazione degli overhead
introdotti dai supporti alla tolleranza ai guasti. Un parte del corso è
dedicata allo studio sperimentale delle tecniche esistenti e di
implementazione, tramite sessioni in laboratorio.
Syllabus 1)
Tecniche di tolleranza ai guasti per sistemi distribuiti a.
Replicazione software b. Azioni atomiche c. Checkpointing e
Rollback Recovery d. Modelli di costo dei supporti alla tolleranza ai
guasti 2) Supporti a. Primitive di comunicazione di supporto
b. Memoria Stabile c. Message Logging d. Garbage collection di
checkpoint 3) Laboratorio a. Implementazione di strategie di
checkpointing e rollback recovery esistenti b. Implementazione canali
di comunicazione con message logging c. Supporto alla tolleranza ai
guasti per modelli di programmazione parallela
Struttura del
corso 6 crediti (3 su tecniche (1) e supporti (2), 3 di laboratorio.
L’esame consiste nello studio di approfondimento in termini di progetto
di un aspetto trattato nel corso, di natura non necessariamente
programmativa, e di un esame orale in cui discutere tale studio.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste nello studio di approfondimento in termini di progetto di un
aspetto trattato nel corso, di natura non necessariamente programmativa,
e di un esame orale in cui discutere tale studio.
Virtualizzazione dei sistemi: metodologie, progetto e utilizzo (6
CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta delle tecniche di virtualizzazione nei sistemi di
elaborazione ai vari livelli. Il corso è organizzato su due argomenti
fondamentali che descrivono (1) le tecniche di virtualizzazione e (2) i
principali utilizzi dei sistemi virtualizzati. Questi due argomenti
saranno complementati da una’analisi più approfondita sulle metodologie
di virtualizzazione dei vari componenti di un sistema di calcolo
integrate da esperienze di progettazione e utilizzo di sistemi
virtualizzati.
Syllabus 1) Approcci alla virtualizzazione
a. Virtualizzazione al livello delle applicazioni, del SO, della
macchina fisica b. Metodolologie di virtualizzazione: simulazione,
traduzione del codice binario, para-virtualizzazione c. Costo della
virtualizzazione e benchmarking d. Virtualizzazione di singole
machine e cluster di macchine 2) Uso ed applicazioni della
virtualizzazione a. Consolidamento e parallelismo in eccesso b.
Gestione dinamica delle risorse fisiche c. Gestione delle risorse
virtualizzate 3) Metodologie per la virtualizzazione di un sistema di
calcolo a. Virtualizzazione del processore b. Virtualizzazione
della memoria c. Virtualizzaione dei dispositivi di I/O (storage,
rete, …) 4) Casi di studio a. Soluzioni di virtualizzazione
complete: installazione e configurazione. Gestione del ciclo di vita
delle macchine virtuali, migrazione. b. Esercizi di virtualizzazione
di kernel didattici (trap-and-emulate, interposizione al livelllo del
SO, …) 5) interrelazioni tra virtualizzazione e
sicurezza.
Struttura del corso 6 crediti uniformemente
distribuiti sugli argomenti 1, 2, 3 ognuno dei quali conterrà
esercitazioni e esperienze di laboratorio tratte da 4. L’esame consiste
in una prova orale con discussione di un semplice progetto assegnato
allo studente.
- Propedeuticità: Le propedeuticità ed
eventuali obblighi di frequenza sono stabiliti dal Consiglio di Corso di
Studi.
- Modalità di verifica finale: L’esame
consiste in una prova orale con discussione di un semplice progetto
assegnato allo studente.
|
|