Corso di studi: Informatica e networking (Laurea magistrale)
- Denominazione: Informatica e
networking
- Dipartimento : INFORMATICA
- Classe di appartenenza: LM-18
INFORMATICA
- Interateneo: Si
- Lista Atenei: Scuola Superiore
Sant'Anna, Pisa
- Interdipartimentale: No
- Obiettivi formativi: Il Corso di
Laurea Magistrale in Informatica e Networking (Computer Science and
Networking) è stato progettato per rispondere alla crescente domanda di
un’emergente figura professionale, che richiede laureati magistrali in
grado di padroneggiare, in modo integrato, tanto le tecnologie
informatiche quanto quelle di networking. Queste competenze si rivolgono
alla progettazione e realizzazione d’infrastrutture hardware-software
distribuite innovative e, 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.
Il Corso di Laurea ha una forte valenza interdisciplinare ed è
tenuto interamente in lingua inglese. 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 evidenziato come siano necessarie, nei prossimi 10-15 anni, ulteriori
forti evoluzioni e cambiamenti nelle 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 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 di questo CdS sarà in grado
di svolgere attività che richiedono l'uso di metodologie avanzate
nell’analisi, progettazione, sviluppo e gestione d’infrastrutture
distribuite e di applicazioni in rete basate su tali infrastrutture.
A questo scopo, i laureati possiederanno una profonda conoscenza 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 d’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. Il CdS si avvarrà di laboratori avanzati di architettura,
programmazione e comunicazione, in configurazioni complesse
centralizzate, parallele e distribuite, organizzati in modo da
permettere a ogni studente di accedere ed utilizzare apparecchiature e
strumenti in modo indipendente. Il CdS ha una caratterizzazione e
organizzazione di tipo internazionale, interamente basata su
insegnamenti 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 appartenenti al
settore scientifico-disciplinare ING-INF/03 operanti nell’area
Networking.
- Motivazioni numero programmato:
L’Università di Pisa e la Scuola Superiore Sant’Anna hanno
stipulato una Convenzione, per l’istituzione del Corso di Laurea
Magistrale a titolo congiunto in Informatica e Networking, in data
16/07/2009. La Convenzione prevede che il Corso di Laurea sia ad accesso
programmato locale, con definizione annuale del numero di posti
concordato tra le due istituzioni, previo superamento di una valutazione
a carattere selettivo, volta ad accertare le conoscenze e le competenze
dei candidati.
Si stima che la richiesta di laureati in Informatica e
Networking si aggiri su qualche decina di unità all'anno. Il limite al
numero programmato è fissato a 40. A questo numero, che vale per
studenti comunitari e extracomunitari residenti in Italia, occorre
aggiungere un numero di studenti extracomunitari non residenti in Italia
in base al contingente stabilito annualmente, di norma tra 10 e 20.Il
Corso di Laurea è infatti internazionale e tenuto interamente in lingua
inglese. La Convenzione è stata rinnovata in data 22/01/2013. Il
Corso di Laurea intende garantire un’elevata qualità dello standard
formativo attraverso un rapporto controllato tra numero di docenti e di
studenti. Inoltre un buon numero d’insegnamenti sarà dotato di
laboratori avanzati, sia presso il polo didattico e il Dipartimento di
Informatica dell’Università di Pisa che presso la Scuola Superiore
Sant’Anna, realizzati e organizzati in modo da permettere a ogni
studente di accedere e utilizzare apparecchiature e strumenti in modo
indipendente. 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.
L’internazionalizzazione è 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.
- Numero stimato immatricolati: 40
- Requisiti di ammissione: Il Corso di
Laurea Magistrale in Informatica e Networking è a numero programmato
locale, limitato a 40 posti oltre al contingente di studenti
extracomunitari. 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 tutti 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
del curriculum e della discussione della tesi. La valutazione è definita
collegialmente dai membri della commissione di laurea sulla base di
criteri stabiliti dal Consiglio di Corso di Studi.
- Attività di ricerca rilevante:
Dipartimento di Informatica dell’Università di Pisa consta di 25
professori ordinari, 16 professori associati, 18 ricercatori. 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.
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. L’Istituto di
Tecnologie della Comunicazione, dell’Informazione e della Percezione
(TeCIP) 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 TeCIP è di 11 professori e 21 ricercatori,
oltre a più di 120 tra dottorandi e assegnisti di ricerca. Le
attività di ricerca del TeCIP 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.
- 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. Si segnalano Microsoft,
Hewlett Packard, IBM, Selex Sistemi Integrati e altre aziende del Gruppo
Finmeccanica, Athos Origin, TXT e-solutions, Alcatel-Lucent,
Marconi-Ericsson, Telecom, List, Amazon, Google, Yahoo. Tra gli enti
pubblici, rapporti costanti si hanno con il CNR e tutte le altre
principali istituzioni di ricerca, Agenzia Spaziale Italiana, CNIT,
diverse reti di eccellenza europee, nonché pubbliche amministrazioni
locali e periferiche.
In particolare il TeCIP è 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 TeCIP ha accordi di ricerca
con altre aziende italiane del gruppo Finmeccanica, 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. Molto importante è il fatto che
alcuni tipi di contatti sono funzionali al sostegno economico degli
studenti e alla possibile assunzione dopo il conseguimento della
laurea.
- 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 TeCIP 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 dell'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 Informatica e
Networking è: • nelle imprese operanti nel campo delle infrastrutture
innovative hardware-software di calcolo e 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 (57 CFU)
Insegnamento |
CFU |
Programmazione
avanzata |
9 |
Algorithm
engineering |
9 |
Ingegneria del
teletraffico |
9 |
High Performance
Computing |
9 |
Gestione e
configurazione delle reti |
9 |
Fondamenti di segnali,
sistemi e reti |
12 |
Secondo anno (63 CFU)
Insegnamento |
CFU |
Sistemi distribuiti:
paradigmi e modelli |
9 |
Ingegneria dei servizi
software |
9 |
Esame a scelta |
9 |
Tesi di laurea |
15 |
Gruppo: GR-a |
9 |
Gruppo: GR-c |
12 |
Gruppi per attività a scelta nel CDS Informatica e networking
Gruppo GR-a (9 CFU)
- Descrizione: Insegnamenti affini o
integrativi
Attività contenute nel gruppo
Nome |
CFU |
Algoritmi paralleli e
distribuiti |
6 |
Ambienti virtuali su
rete |
6 |
Amplificazione ottica e
sensoristica |
9 |
Architetture, componenti e
servizi di rete |
9 |
Architetture di
commutazione ed elaborazione dati a pacchetto |
6 |
Aspetti prestazionali e di
progetto delle reti wireless |
6 |
Basi di dati distribuite e
parallele |
6 |
Calcolo scientifico ad alte
prestazioni |
6 |
Commutazione fotonica |
9 |
Componenti distribuite |
6 |
Laboratorio di Algoritmi
per Big Data |
6 |
Laboratorio di
progettazione di software distribuito |
6 |
Laboratorio di protocolli e
architetture di routing |
6 |
Laboratorio di sistemi
fotonici |
6 |
Metodi di ottimizzazione
delle reti |
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 |
Prestazioni di reti
multimediali |
6 |
Problemi di sicurezza in
applicazioni web |
6 |
Programmazione
concorrente |
6 |
Propagazione e ottica
applicata |
6 |
Reti e tecnologie per le
telecomunicazioni |
9 |
Reti wireless di sistemi
embedded |
6 |
Sistemi embedded |
6 |
Sistemi peer to peer |
6 |
Sistemi real-time |
6 |
Tecniche di data mining |
9 |
Tecniche numeriche e
applicazioni |
6 |
Teoria dell'affidabilità |
6 |
Teoria dell'informazione e
della trasmissione |
9 |
Teoria e tecnica delle
comunicazioni ottiche |
9 |
Tollerenza ai guasti in
sistemi distribuiti |
6 |
Gruppo GR-c (12 CFU)
- Descrizione: Insegnamenti
caratterizzanti
Attività contenute nel gruppo
Nome |
CFU |
Applicazioni parallele e
distribuite |
9 |
Architettura e progetto di
piattaforme di elaborazione complesse |
12 |
Information retrieval |
6 |
Modelli di calcolo |
9 |
Piattaforme abilitanti
distribuite |
6 |
Sicurezza delle reti |
9 |
Sistemi operativi
distribuiti |
6 |
Strumenti di programmazione
per sistemi paralleli e distribuiti |
6 |
Virtualizzazione dei
sistemi |
6 |
Attività formative definite nel CDS Informatica e networking
Algorithm engineering (9 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: Huffman,
arithmetic, lz77, lz78, MTF, RLE, bzip, front coding b. Data indexing
and searching: integers (VEB and x/y fast trie), strings (trie, patricia
trie, suffix tree, suffix array), trees (ternary search trees).
c. Hashing: Universal, Perfect, Cuckoo, minimal ordered perfect.
d. Randomized data structures: Treaps, Skip lists, Bloom filter, count
min-sketch. e. Compressed data structures for sequences, trees and
graphs.
2) 2-level memory model a. Definition and
properties b. Data sorting (atomic items and strings) and
permuting c. Data indexing and searching: strings (2-level indexing,
String B-trees), geometric points (nearest neighbour search and locality
sensitive hashing) d. Data sketching: bloom filters and count-min
sketch
3) Cache-oblivious model a. Definition and
properties b. Matrix multiplication c. BST layout
Esame
scritto e orale
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste di una prova scritta e di una prova orale.
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à: Propedeuticità
necessaria: Fondamenti di Segnali, Sistemi e Reti.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova scritta.
Architettura e progetto di piattaforme di elaborazione complesse (12
CFU)
- Obiettivi formativi: Obiettivi
Il
corso tratta di modelli, metodologie di progetto e studi di casi di
architetture complesse, distribuite ed eterogenee, 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 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
- Propedeuticità: Propedeuticità
necessaria: High Performance Computing.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in un progetto ed una prova orale.
Architetture, componenti e servizi di rete (9 CFU)
- Obiettivi formativi: Obiettivi
Il
corso 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 alla
simulazione di reti IP, alle modalità di funzionamento del TCP (Linux
TCP) e all'implementazione in ambiente linux di regole di filtraggio (e
natting) di pacchetti IP.
Syllabus 1) IPv6 e MIP
a. Caratteristiche generali di IPv6 e formato dell'header b. ICMPv6 e
procedure di Neighbour Discovery c. Transizione IPv4-IPv6
d. 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. Panoramica sui principali protocolli: UDP, TCP, DCCP b. Flow
control e congestion control in ambito TCP e DCCP c. Meccanismi di
stima del RTT d. Tecniche di congestion avoidance (DECbit, RED,
CHOKe, TCP Vegas) 4) Qualità del servizio a. Politiche per la
gestione delle code (FIFO, code con priorità, GPS, WFQ, WF2Q)
b. Caratterizzazione del traffico mediante Token Bucket
c. Architettura Intserv d. Architettura DiffServ 5) Architetture
P2P a. Descrizione generale dell'architettura b. Classificazione
delle architetture P2P ed esempi 6) Laboratorio a. Simulazione di
reti IP b. Analisi simulativa di connessioni TCP c. Studio del TCP
linux d. IPtables: filtraggio di pacchetti IP e natting
- Propedeuticità: Propedeuticità
consigliate: Ingegneria del Teletraffico, Gestione e Configurazione
delle Reti.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova orale con domande relative sia alla parte teorica
che all'esperienza di laboratorio.
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à: Propedeuticità
necessaria: Fondamenti di Segnali, Sistemi e Reti.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova orale ed eventualmente nella valutazione di
relazioni sulle esperienze di laboratorio.
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.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova
orale.
High Performance Computing (9 CFU)
- Obiettivi formativi: Obiettivi
Questo corso tratta di due aspetti fortemente interrelati nel campo del
calcolo ad alte prestazioni: 1. concetti fondamentali e tecniche di
strutturazione e progetti di computazioni parallele, metodologie e
paradigmi di parallelizzazione, modelli di programmazione parallela,
loro implementazione e modelli di costo; 2. architetture ad alte
prestazioni: multiprocessor a memoria condivisa, multicomputer a memoria
distribuita, cluster, ed altre. Entrambi gli aspetti sono studiati in
termini di modelli strutturali, supporti statici e dinamici al modelli
di programmazione, valutazione delle prestazioni, capacità di costruire
applicazioni complesse e/o piattaforme abilitanti per composizione,
anche attraverso esempi di casi applicativi reali. Sono studiate
caratteristiche e tendenze tecnologiche, come multi-/many-core e reti ad
alte prestazioni. Una parte iniziale è dedicata a rivedere concetti e
tecniche base dello studio strutturato all’architettura degli
elaboratori, allo scopo di uniformare diverse preparazioni di
base.
Syllabus 0. Computing architecture primer
1. Metodologie per strutturare e programmare applicazioni parallele ad
alte prestazioni; fondamenti di modelli di costo: metriche, elementi di
teoria delle code e reti di code, bilanciamento del carico,
ottimizzazioni statiche e dinamiche 2. Paradigmi di
parallelizzazione: stream-parallel (pipeline, data-flow, farm, divide
and conquer, partizionamento funzionale), data-parallel (map, stencil
fissi e variabili, reduce, prefix), and loro composizioni
3. Meccanismi di cooperazione: comunicazioni dedicate e collettive,
oggetti condivisi, strumenti di compilazione, supporti a tempo di
esecuzione e loro ottimizzazioni 4. Multiprocessor a memoria
condivisa. SMP, NUMA, modelli di costo; reti di interconnessione e loro
valutazione: reti indirette e multistadio, reti diretti e cubi, fat
tree, reti on-chip 5. Architetture a memoria distribuita:
multicomputer, cluster, piattaforme distribuite eterogenee, reti di
comunicazione ad alte prestazioni 6. Aspetti avanzati di ricerca e/o
tecnologici: multi-/many-core, multithreading simd/vectorizzazione/gpu,
calcolo pervasivo ad alte prestazioni.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova scritta ed una prova orale.
La prova scritta
finale può essere sostituita da due prove di verifica
intermedia.
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.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova scritta e una prova orale.
La prova scritta
finale può essere sostituita da tre prove di verifica
intermedia.
Laboratorio di Algoritmi per Big Data (6 CFU)
- Obiettivi formativi: Il corso consiste
di una prima parte di lezioni su principi e tecniche algoritmiche
avanzate legate alla memorizzazione, analisi, accesso e ricerca di big
data (3 CFU), e di una seconda parte laboratoriale (3 CFU) durante la
quale gli studenti sfrutteranno le conoscenze acquisite per la
realizzazione di un progetto. Gli studenti potranno scegliere tra un
insieme di progetti che offriranno spunti algoritmici interessanti per
applicare le tecniche/metodologie studiate nel corso. Tali progetti
saranno concordati con aziende del settore IT di livello
(inter-)nazionale che contribuiranno anche ad identificare/costruire
dataset reali su cui testare i progetti svolti.
L’obiettivo del
corso è quello di permettere agli studenti di ● confrontarsi con
problemi algoritmici difficili e di interesse pratico che coinvolgono
big data; ● misurare direttamente l’impatto di soluzioni algoritmiche
efficienti, rispetto a soluzioni baseline, nella progettazione di
software che gestiscono big data; ● realizzare software che
utilizzino librerie algoritmiche sofisticate; ● entrare in contatto
con alcune aziende per eventuali periodi di internship, borse di
approfondimento, o tesi di laurea magistrale.
Principali
argomenti trattati: ● Strutture dati compresse: interi, testi,
alberi ● Strutture dati randomizzate: hashing e sketching ● Grafi:
memorizzazione compresa, visite e analisi ● Strutture dati
geometriche elementari (opzionale)
- Propedeuticità: Propedeuticità
consigliata: Algorithm Enginnering
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste di tre parti: Progetto 70%, Prova Scritta/Orale 20%, Seminario
sul progetto 10% (si valuterà la possibilità di far intervenire anche le
aziende proponenti il progetto).
Laboratorio di protocolli e architetture di routing (6 CFU)
- Obiettivi formativi: Obiettivi: Il
modulo fornisce le conoscenze necessarie per la progettazione e la
realizzazione di politiche di routing di tipo inter-dominio (fra più
Autonomous System). Sono richiamati i concetti di base per la
configurazione, la gestione e il monitoraggio dello stato di
funzionamento dei router Juniper e sono affrontati in modo approfondito
gli aspetti teorici e pratici relativi alla realizzazione di reti con
protocolli di routing di tipo EGP (BGP) e alla implementazione di
servizi e funzionalità avanzate (Stateful Firewall, NAT/PAT, IPSec VPN,
QoS). Sono previste sia lezioni teoriche, sia esercitazioni sperimentali
che offrono agli studenti la possibilità di utilizzare router
Juniper.
Il corso fornisce la preparazione necessaria per sostenere
la prova di certificazione JNCIS-ER (Juniper Networks Certified Internet
Specialist – Enterprise Routing).
Programma di massima
Le
Policy in JUNOS. Introduzione alle Policy e al linguaggio per la
scrittura di una Policy. Modalità di valutazione di una Policy. Analisi
dei diversi tipi di Policy: Routing Policy. Firewall Policy. (L:
4)
Il protocollo di routing BGP. Introduzione generale al BGP.
Differenze fra IBGP e EBGP. Implementazione dell’IBGP e dell’EBGP.
Interazione fra protocolli di routing di tipo IGP e il BGP. (L:
4)
Politiche di routing di tipo “Enterprise”. Progettazione
implementazione del BGP in una rete di tipo “Enterprise”. Analisi di un
caso reale: Realizzazione di una politica di routing con utilizzo di
tipo: “Primary/Secondary”. (L: 4; Lab: 8)
Strategie di
transizione per protocolli di routing di tipo IGP. Transizione di tipo
Overlay. Transizione con ridistribuzione delle route. Transizione
integrata. (L: 2; Lab: 2)
Servizi del sistema operativo JUNOS.
Introduzione ai servizi JUNOS. Servizi a livello 2. Servizi a livello 3.
Firewall di tipo “stateful”. Configurazione delle regole per la
realizzazione di un firewall di tipo “stateful”. NAT. Configurazione
dellle regole per la realizzazione di un NAT. Implementazione di un
firewall di tipo “stateful” con funzioni di NAT. Monitoraggio di un
firewall di tipo “stateful” e di un NAT. Realizzazione di una Virtual
Private Network mediante IPSec. Configurazione e monitoraggio di una VPN
IPSec. (L: 4; Lab: 8)
Qualità del servizio in reti IP. Il
concetto di “Class-of-Service”. Progettazione di un’architettura di rete
con supporto della Qualità del Servizio (QdS)a livello IP.
Configurazione dei principali componenti per la QdS di tipo
Differentiated Services (DiffServ): DSCP Marker, Classificatori,
Scheduler, Policer, Shaper. Monitoraggio di un router con architettura
DiffServ e analisi dei malfunzionamenti. (L: 4; Lab: 4)
- Propedeuticità: Propedeuticità
consigliate: Ingegneria del Teletraffico, Gestione e Configurazione
delle Reti.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova orale con test di
laboratorio.
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.
- Reteirabilità: 1
- Modalità di verifica finale: L'esame
comprende un progetto e 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.
- Reteirabilità: 1
- 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 affronta sistematicamente tutta una serie di argomenti legati ai
modelli di programmazione per architetture parallele e/o distribuite. Il
filo conduttore è rappresentato dai modelli di programmazione parallela
strutturata, come quelli basati su algorithmic skeletons o su parallel
design patterns. Questi modelli di programmazione vengono utilizzati per
discutere: - l’idea generale di forme di parallelismo strutturate
esposte al programmatore di applicazioni come meccanismi primitivi
dell’ambiente di programmazione parallelo - le tecnologie ed i
paradigmi che si possono utilizzare per implementare in modo efficiente
forme di parallelismo strutturate su diversi tipi di architetture
(hardware e software) che includono le architetture più diffuse al
momento come reti di workstation e macchine multi/many core - una
metodologia generale e modulare per la progettazione ed implementazione
di applicazioni parallele a partire da un insieme di building block di
cui si conoscano forma di parallelismo, prestazioni e caratteristiche di
composizionalità. Il corso prevede una parte “teorica” e una parte
di laboratorio che consisterà nella presentazione di un insieme di
ambienti di programmazione parallela strutturati e di tecniche di
implementazione (in aula) e la realizzazione di un semplice progetto
(individuale) di una applicazione parallela o di un supporto per forme
di parallelismo strutturate.
Syllabus 1. Modelli di
programmazione parallela strutturati basati su algorithmic skeletons:
potere espressivo, tipi di skeleton, modello di programmazione,
composizione, semantica, parametri funzionali e non funzionali, tecniche
di implementazione basate su process template e su macro data flow,
modelli di prestazioni e tecniche di ottimizzazione.
2. Implementazione di pattern paralleli: progettazione di template per
macchine parallele/distribuite, tecniche particolari per architetture a
memoria distribuita e a memoria comune, tecniche di trasformazione ed
ottimizzazione, tecniche per il controllo delle caratteristiche non
funzionali di computazioni parallele. 3. Metodologia per lo sviluppo
composizionale di applicazioni parallele: definizione dell’insieme dei
building block, tecniche di progettazione strutturate, tecniche per il
monitoraggio e per il controllo delle caratteristiche non funzionali.
- Propedeuticità: Propedeuticità
necessaria: High Performance Computing.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste nella realizzazione di un progetto individuale seguito da una
prova orale.
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.
- Reteirabilità: 1
- 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à: Propedeuticità
necessaria: High Performance Computing.
- Reteirabilità: 1
- 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.
Strumenti di programmazione per sistemi paralleli e distribuiti (6
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
L’esame
consiste in una prova scritta ed una prova orale.
- Propedeuticità: Propedeuticità
necessaria: High Performance Computing.
Propedeuticità consigliata:
Sistemi Distribuiti Paradigmi e Modelli.
- Reteirabilità: 1
- 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.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova scritta, un progetto di data mining ed una prova
orale.
Tecniche numeriche e applicazioni (6 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
L’esame consiste in una prova
orale.
- Reteirabilità: 1
- 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.
- Reteirabilità: 1
- 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.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova scritta e una orale.
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à: Propedeuticità
necessaria: High Performance Computing.
- Reteirabilità: 1
- 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 (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à: Propedeuticità
necessaria: High Performance Computing.
- Reteirabilità: 1
- Modalità di verifica finale: L’esame
consiste in una prova orale con discussione di un semplice progetto
assegnato allo studente.
|
|