Corso di laurea: Ingegneria Informatica
A.A. 2022/2023
Autonomia di giudizio
I laureati devono essere in grado di raccogliere e interpretare autonomamente, usando eventualmente metodologie di tipo statistico, dati relativi alle modalità operative di sistemi e impianti di tipo informatico, e/o di sistemi di controllo.
Devono inoltre essere in grado di formulare proprie opinioni sulla validità di soluzioni proposte per problemi di natura informatica, incluse le loro implicazioni di tipo sociale od etico.
La verifica di tale abilità avviene principalmente nell'ambito delle verifiche legate a materie che prevedono la discussione di prove progettuali.
Per quanto riguarda metodologie avanzate di tipo statistico che possono essere utlizzate a questo scopo, il corso di laurea prevede di dedicare almeno 6 crediti ad una materia specificamente dedicata a questo tema, con relativa verifica finale.Abilità comunicative
I laureati devono essere in grado di comunicare le loro conoscenze, e le soluzioni da essi progettate, a interlocutori esperti e non esperti, usando sia forme di comunicazione scritta che orale, eventualmente supportate dall'uso di strumenti multimediali.
La verifica di tale abilità avviene principalmente sia nell'ambito delle verifiche legate a materie che prevedono la discussione di prove progettuali, sia nell'ambito della prova finale, che prevede una presentazione pubblica della propria dissertazione, in contraddittorio con la commissione di laurea.Capacità di apprendimento
Dato l'elevato tasso di innovazione nell'area informatica e dell'automazione, i laureati devono aver acquisito conoscenze metodologiche sufficienti per stare al passo in modo autonomo con le evoluzioni tecnologiche e metodologiche in campo informatico.
La verifica di tale abilità è basata principalmente sulle verifiche relative a quelle materie che mettono l'accento su aspetti metodologici e di base, piuttosto che aspetti strettamente applicativi.Requisiti di ammissione
L'ammissione al corso di laurea magistrale richiede il possesso di requisiti curriculari che prevedano un'adeguata padronanza di metodologie di base nell'area della ingegneria dell'informazione, e di metodologie e tecnologie proprie dell'ambito informatico, propedeutiche a quelle caratterizzanti previste nell'ordinamento della presente classe di laurea magistrale.
Inoltre, i requisiti curricolari includono l'aver acquisito adeguata padronanza di una lingua dell'Unione Europea (oltre l'italiano), in forma scritta ed orale, fondamentale non soltanto per la figura professionale risultante, ma anche per un proficuo svolgimento degli studi stessi.
Per quanto riguarda competenze non strettamente informatiche (non riconducibili al SSD ING-INF/05), si richiede di aver maturato competenze corrispondenti indicativamente alla acquisizione di:
- almeno 24 CFU per attività incluse tra quelle di base per la classe L-8 (Ingegneria dell'informazione);
- almeno 27 CFU per attività incluse tra quelle caratterizzanti per la classe L-8 (Ingegneria dell'informazione);
Per quanto riguarda invece competenze propriamente informatiche (riconducibili al SSD ING-INF/05), si richiede di aver maturato adeguate competenze corrispondenti indicativamente alla acquisizione di almeno 45 CFU in:
- fondamenti dell'informatica: automi, algoritmi e linguaggi di programmazione, teoria della computabilità e complessità computazionale;
- strumenti operativi per l'informatica: macchine, impianti, reti e sistemi informatici;
- applicazioni informatiche: progettazione di sistemi software, gestione dei dati e della conoscenza.
L'adeguatezza delle competenze acquisite (incluse quelle linguistiche) verrà accertata tramite una verifica della personale preparazione, da svolgersi con modalità definite nel regolamento didattico del corso di studio.Prova finale
Preparazione di una dissertazione scritta su un argomento avanzato di natura informatica o dell'automazione, svolta sotto la supervisione di un docente del corso di laurea, eventualmente coadiuvato da docenti o esperti non appartenenti al corso di laurea.
La dissertazione deve evidenziare un contributo originale ed autonomo del candidato, che può consistere o nella organizzazione secondo nuovi punti di vista di conoscenze e risultati applicativi già noti in letteratura, o nella proposta di soluzioni originali a problemi di natura informatica o dell'automazione.
In questo secondo caso, la dissertazione deve includere una adeguata panoramica dello stato dell'arte e la collocazione della soluzione proposta rispetto ad esso.
Presentazione pubblica in forma orale dei punti salienti della dissertazione, in contraddittorio con la commissione di laurea.Il Corso di Studio in breve
Il Corso di Studi in Ingegneria Informatica presso l'Università di Roma Tor Vergata è articolato in due livelli: Laurea in Ingegneria Informatica (triennale), e Laurea Magistrale in Ingegneria Informatica (biennale).
L'ingresso nel percorso prevede il superamento del test di ingresso (e degli eventuali corsi pre-immatricolazione, in caso di mancato superamento del test), in comune con tutta la Facoltà di Ingegneria (maggiori informazioni su: http://ing.uniroma2.it/didattica/test-di-ammissione/).
Il percorso formativo inizia con la frequenza del Corso di Laurea (triennale) in Ingegneria Informatica.
Una volta conseguita la Laurea, il percorso può proseguire con l'iscrizione al Corso di Laurea Magistrale (biennale) in Ingegneria Informatica, e successivamente, dopo aver conseguito la Laurea Magistrale, con l'iscrizione al Dottorato di Ricerca (triennale) in 'Computer Science, Control and Geoinformation' (http://www.ce.uniroma2.it/dottorato/).
L'ingresso nel mondo del lavoro può avvenire al termine di ognuna di queste tre tappe.
Informazioni più dettagliate sulla organizzazione del Corso di Laurea Magistrale in Ingegneria Informatica, insegnamenti offerti e docenti possono essere trovate sul sito Web all'indirizzo riportato sotto.
Obiettivo globale di tutto il percorso è formare, con diversi gradi di specializzazione e approfondimento, professionisti competenti nella progettazione e sviluppo di metodologie e tecnologie dell'informatica, e nella loro applicazione alla soluzione di problemi in diversi campi applicativi, come l'economia, la scienza, l'ingegneria, la medicina, l'istruzione, l'intrattenimento, e altri ancora.
Lo studente espliciterà le proprie scelte al momento della presentazione,
tramite il sistema informativo di ateneo, del piano di completamento o del piano di studio individuale,
secondo quanto stabilito dal regolamento didattico del corso di studio.
Computer and Information Engineering
Indirizzo Generale
Primo anno
Primo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
|
8037386 -
COMPLEMENTI DI PROBABILITA' E STATISTICA
(obiettivi)
OBIETTIVI FORMATIVI: Obiettivo del corso è fornire strumenti avanzati di probabilità e statistica per l'elaborazione di modelli probabilistici e l'analisi di dati statistici, nonché presentare applicazioni significative con riferimento a dati reali, in particolare estrapolati da data-set ingegneristici, economico-finanziari e medici. Un'attenzione particolare sarà rivolta ad agevolare lo sviluppo della capacità di risoluzione dei problemi da parte degli studenti.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Sarà posta la massima enfasi a incoraggiare un apprendimento consapevole delle tecniche e dei modelli probabilistico-statistici e a scoraggiare tentativi d'apprendimento puramente imitativi e mnemonici.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Come risultato del corso gli studenti dovranno essere in grado di affrontare e risolvere problemi non banali nell'ambito dei modelli probabilistici e statistici, con particolare riferimento all'applicazione dei concetti di indipendenza, condizionamento e modalità di convergenza, nonché all'analisi dei dati mediante stimatori puntuali e intervallari, test statistici parametrici e test di significatività su regressioni lineari.
AUTONOMIA DI GIUDIZIO: Gli studenti verranno incoraggiati a sfruttare tutta la flessibilità del modelli probabilistico-statistici per esplorare strade individuali, ancorché praticabili, alla risoluzione dei problemi. L'originalità delle soluzioni proposte sarà ampiamente premiata.
ABILITÀ COMUNICATIVE: L'abilità comunicativa verrà incoraggiata sia mediante un assiduo coinvolgimento degli studenti nelle attività didattiche di verifica dell'apprendimento, sia attribuendo un peso significativo alla chiarezza espositiva nella valutazione delle prove finali d'esame.
CAPACITÀ DI APPRENDIMENTO: Per incoraggiare lo sviluppo della capacità d'apprendimento si cercherà di stimolare la familiarità con l'argomentazione logico-matematica mediante la partecipazione degli studenti alla presentazione dei ragionamenti probabilistico-statistici che conducono ai principali risultati esposti.
|
9
|
MAT/06
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8037389 -
SISTEMI DISTRIBUITI E CLOUD COMPUTING
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento si propone di fornire i principi, le metodologie e le tecnologie per la progettazione e realizzazione di sistemi ed applicazioni distribuite moderne, inclusi i sistemi distribuiti a larga scala e Cloud e le architetture a microservizi. Durante il corso vengono coniugati aspetti metodologici e tecnologici, affrontando le principali problematiche e tecniche per lo sviluppo di sistemi distribuiti efficienti. In particolare, sono approfonditi gli aspetti architetturali, i modelli di comunicazione tra i componenti di un sistema distribuito ed i corrispondenti middleware, le soluzioni per fornire sistemi scalabili e tolleranti ai guasti, le problematiche di coordinazione distribuita, replicazione e consistenza e le relativi soluzioni algoritmiche e tecniche, e la virtualizzazione dell'ambiente di esecuzione tramite la virtualizzazione di sistema e a livello di sistema operativo e l'orchestrazione di container. Il progetto proposto ha lo scopo di consolidare ed approfondire la preparazione teorica, metodologica e tecnologica sui temi affrontanti nel corso. Nel corso viene anche introdotto il linguaggio Go per la programmazione dei sistemi distribuiti.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà acquisito concetti di base ed avanzati sui sistemi distribuiti e sui sistemi Cloud e sullo sviluppo di applicazioni software in tali ambiti. In particolare: realizzazione di applicazioni distribuite e scalabili, con diversi gradi di consistenza e modelli di comunicazione, utilizzando anche servizi Cloud (in particolare, i servizi Cloud di AWS, per i quali viene messo a disposizione degli studenti un grant gratuito tramite il programma AWS Academy).
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito i principi e le metodologie proprie dell'analisi, progettazione e realizzazione dei moderni sistemi distribuiti. In particolare: progettare e sviluppare sistemi ed applicazioni distribuite, usando strumenti avanzati per il deployment e la gestione.
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente sarà in grado di identificare le soluzioni più idonee per realizzare sistemi ed applicazioni distribuite e Cloud e di valutarne le scelte architetturali ed implementative.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia avanzata relativa ai sistemi distribuiti e Cloud, sarà in grado di presentare l'architettura di un sistema distribuito anche complesso con termini e linguaggio tecnico appropriato e di argomentare circa le varie alternative sia a livello sistemistico che applicativo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti i sistemi distribuiti e Cloud, e di utilizzare le conoscenze e metodologie apprese per affrontare problemi nuovi.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8039933 -
COMPUTER AND NETWORK SECURITY
(obiettivi)
OBIETTIVI FORMATIVI. Obiettivo generale dell'insegnamento è mostrare allo studente la complessità e le problematiche relative all'integrazione della crittografia in protocolli e sistemi reali - in altre parole, convincere lo studente che l'utilizzo di "buoni" algoritmi crittografici è condizione necessaria, ma assolutamente non sufficiente, per la sicurezza nelle comunicazioni e nei sistemi Internet. In aggiunta, il corso ha i seguenti ulteriori obiettivi specifici: fornire allo studente basi di crittografia ed elementi di protocolli per la sicurezza in Internet; fornire le metodologie per identificare minacce e vulnerabilita alla sicurezza dei sistemi; analizzare le famiglie di attacchi piu comuni ai protocolli ed ai sistemi Internet.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: L'obiettivo sopra descritto verrà perseguito illustrando contestualmente sia le principali soluzioni e strumenti crittografici per la sicurezza informatica, sia mostrando esempi concreti di errori di utilizzo e di attacchi. Particolare attenzione verrà dedicata alla comprensione dei principi protocollari alla base dell'instaurazione di sessioni sicure, con particolare riferimento ai protocolli TLS ed IPsec, ed ai protocolli di autenticazione. Infine, lo studente acquisirà competenze di base relative a soluzioni e tecniche crittografiche moderne (condivisione di segreti, elaborazione collaborativa sicura, crittografia ellittica, etc), ed alla loro applicazione in servizi e sistemi di rete. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Le competenze tecniche e metodologiche acquisite permetteranno allo studente di affrontare numerosi problemi reali relativi alla protezione delle comunicazioni e dei sistemi di rete. In particolare, lo studente sarà in grado di identificare (e correggere) vulnerabilità protocollari, problemi implementativi, ed applicazioni errate della crittografia.
AUTONOMIA DI GIUDIZIO: Il corso permetterà allo studente di identificare e valutare vulnerabilità crittografiche e protocollari supplementari rispetto alle più tradizionali vulnerabilità a livello di sistemi affrontate nei corsi precedenti, ampliando significativamente il bagaglio culturale e tecnico dello studente in termini di strumenti, algoritmi, e capacità di comprensione ed analisi.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa alla crittografia applicata ed ai protocolli per la sicurezza in Internet, e sarà in grado di usare un linguaggio tecnico appropriato ed attuale nelle proprie presentazioni ed argomentazioni.
CAPACITÀ DI APPRENDIMENTO: Il corso stimolerà lo studente all'auto-apprendimento - necessario vista la rapida obsolescenza delle tecnologie in questione - fornendo numerosi esempi e puntatori a fonti informative esterne sia per aspetti tecnologici che metodologici.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
Gruppo opzionale:
Gruppo OPZIONALE materie affini 30 cfu x "computer engineering" - (visualizza)
|
30
|
|
|
|
|
|
|
|
|
8039834 -
MACHINE LEARNING
|
Erogato in altro semestre o anno
|
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
|
Erogato in altro semestre o anno
|
|
8039698 -
SISTEMI E ARCHITETTURE PER BIG DATA
|
Erogato in altro semestre o anno
|
|
8039758 -
ALGORITMI E MODELLI PER L'OTTIMIZZAZIONE DISCRETA
|
Erogato in altro semestre o anno
|
|
8039965 -
COSTRUZIONE DEL SOFTWARE
|
Erogato in altro semestre o anno
|
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
|
Erogato in altro semestre o anno
|
|
8039977 -
TEORIA DEI GIOCHI E BUSINESS ANALYTICS
|
Erogato in altro semestre o anno
|
|
8039979 -
NETWORK AND SYSTEMS DEFENCE
|
Erogato in altro semestre o anno
|
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento intende fornire allo studente un quadro aggiornato dell'attuale tecnologia dei sistemi embedded e real-time. I sistemi embedded sono i calcolatori elettronici integrati in ormai tutti gli apparati elettronici che eseguono in modo specifico ed esclusivo il programma impostato dal progettista dell'apparato. I sistemi real-time sono i sistemi di calcolo (intesi sia come hardware che come software) progettati per garantire non solo la correttezza delle operazioni svolte, ma anche la corretta temporizzazione dei risultati prodotti dal sistema. Questo corso discute entrambi i tipi di sistemi perché la maggior parte dei sistemi embedded sono anche sistemi real-time, e viceversa. Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013" (www.acm.org/education/CS2013-final-report.pdf), il corso contribuisce a coprire le seguenti aree e relativi obiettivi: Operating Systems (OS): Scheduling and Dispatch; Resource Allocation and Scheduling; Real-Time and Embedded Systems CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine lo studente avrà acquisito una comprensione approfondita delle problematiche e delle tecnologie relative allo sviluppo dei sistemi embedded e real-time. In particolare, lo studente avrà compreso i concetti fondamentali ed i risultati principali della teoria della schedulazione real-time, che consente di certificare la corretta progettazione di un sistema real-time "safety-critical"; avrà compreso le principali problematiche e soluzioni tecnologiche dei sistemi operativi adatti all'esecuzione di applicazioni real-time; avrà compreso le problematiche relativo allo sviluppo del software di un sistema embedded "bare metal" interfacciato direttamente ai dispositivi hardware del sistema, con particolare riferimento ai sistemi di supporto all'esecuzione delle applicazioni real-time. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE Al termine del corso lo studente sarà in grado di scrivere un ambiente di esecuzione real-time "bare metal" per sistemi embedded basati su architettura ARM, a partire dalla sola documentazione rilasciata dal costruttore dell'hardware. Lo studente sarà inoltre in grado di modellare una collezione di job reali con specifici compiti e scadenze temporali tramite il modello a task periodici, dimensionare opportunamente il modello di sistema real-time che dovrà garantire l'esecuzione dei job ed il rispetto delle scadenze, selezionare opportunamente gli algoritmi di schedulazione dei task e di allocazione delle risorse condivise, e dimostrare formalmente che la progettazione effettuata è corretta, nel senso che tutte le scadenze dei job saranno rispettate anche nel peggior caso che possa verificarsi.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039964 -
ANALISI DEL MALWARE
|
Erogato in altro semestre o anno
|
|
8067437 -
NATURAL LANGUAGE PROCESSING
(obiettivi)
OBIETTIVI FORMATIVI: Il corso si propone di introdurre lo studente agli scopi, alle principali problematiche e ai principali modelli simbolici dell'elaborazione del linguaggio naturale. CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente conoscerà le principali tematiche dell'elaborazione del linguaggio naturale. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Alla fine del corso, lo studente sarà in grado di implementare un modello di elaborazione del linguaggio. AUTONOMIA DI GIUDIZIO: Le lezioni sono organizzate di modo da permettere allo studente di valutare le informazioni presenti nella rete. Questo è necessario per permettere loro di scegliere nel mare magum della rete le informazioni che sono utili per trovare soluzioni ai problemi dati. ABILITÀ COMUNICATIVE: Allo studente viene richiesto di presentare alcuni argomenti durante le lezioni al fine di affinare la sua arte oratoria. Inoltre, l'esame prevede una presentazione orale davanti agli altri studenti. CAPACITÀ DI APPRENDIMENTO: Nel corso puntiamo molto sulla capacità di selezione delle informazioni come principale capacità di apprendimento.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
Secondo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
|
8039229 -
PERFORMANCE MODELING OF COMPUTER SYSTEMS AND NETWORKS
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
|
8039920 -
INGEGNERIA DEL SOFTWARE II
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento si propone di fornire le nozioni avanzate di ingegneria del software. Nello specifico, gli obiettivi formativi riguardano: o Metriche di processo e di prodotto o Come fare una presentazione o Machine Learning: terminologia, installazione di weka, utilizzo tramite GUI e API, rumore, selezione delle features, sampling, cost-sensitive calssification, metriche e tecniche di valutazione.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà acquisito i concetti fondamentali sulla qualità dei sistemi software con particolare riguardo alle tematiche di misurazione, testing e machine learning.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito le metodologie per lo sviluppo di sistemi software di alta qualità.
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente sarà in grado di giudicare autonomamente la qualità dei sistemi software.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa alla qualità dei sistemi software.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti la qualità dei sistemi software, e di utilizzare le conoscenze e metodologie imparate per affrontare nuovi problemi.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
Gruppo opzionale:
Gruppo OPZIONALE materie affini 30 cfu x "computer engineering" - (visualizza)
|
30
|
|
|
|
|
|
|
|
|
8039834 -
MACHINE LEARNING
|
Erogato in altro semestre o anno
|
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
|
Erogato in altro semestre o anno
|
|
8039698 -
SISTEMI E ARCHITETTURE PER BIG DATA
|
Erogato in altro semestre o anno
|
|
8039758 -
ALGORITMI E MODELLI PER L'OTTIMIZZAZIONE DISCRETA
(obiettivi)
OBIETTIVI FORMATIVI: Fornire strumenti avanzati per modellare e risolvere un problema di decisione come problema di ottimizzazione lineare intera o mista o come problema su reti di flusso.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente (che ha seguito con profitto il corso) ha compreso i princípii e i metodi dell'ottimizzazione discreta utili allo sviluppo di modelli prescrittivi per problemi di decisione.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Lo studente è in grado di progettare modelli di programmazione matematica o su reti per la rappresentazione di problemi di ottimizzazione che sorgono in contesti applicativi ed è altresì capace di utilizzare software di calcolo dedicati (linguaggi di programmazione di modelli, solutori commerciali) per verificare la coerenza e la qualità delle soluzioni dei modelli proposti.
AUTONOMIA DI GIUDIZIO: Lo studente che sviluppa, implementa e risolve modelli di programmazione matematica per problemi di ottimizzazione è messo immediatamente in condizione di verificare quantitativamente e in autonomia la qualità delle soluzioni ottenute e quindi dei modelli proposti.
ABILITÀ COMUNICATIVE: L'interpretazione del risultato numerico di un modello matematico (a valle della fase implementazione e computazione) è un'attività cruciale nel processo di definizione di una soluzione di un problema reale. Questa attività obbliga lo studente a un confronto con i colleghi di un team (o con un committente) in cui, non solo sono necessarie una padronanza della terminologia tecnica, ma anche capacità analitiche e dialettiche.
CAPACITÀ DI APPRENDIMENTO: Lo studente è esposto (attraverso il materiale didattico proposto) alla lettura di testi di riferimento non solo didattici ma anche di ricerca ed è pertanto in grado di attingere a fonti bibliografiche diverse che gli permettono di (i) acquisire nuove competenze, (ii) sapersi aggiornare in modo continuo e autonomamente, (iii) intraprendere corsi di approfondimento nell'ambito della disciplina.
|
9
|
MAT/09
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039965 -
COSTRUZIONE DEL SOFTWARE
|
Erogato in altro semestre o anno
|
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
|
Erogato in altro semestre o anno
|
|
8039977 -
TEORIA DEI GIOCHI E BUSINESS ANALYTICS
|
Erogato in altro semestre o anno
|
|
8039979 -
NETWORK AND SYSTEMS DEFENCE
|
Erogato in altro semestre o anno
|
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
|
Erogato in altro semestre o anno
|
|
8039964 -
ANALISI DEL MALWARE
|
Erogato in altro semestre o anno
|
|
8067437 -
NATURAL LANGUAGE PROCESSING
|
Erogato in altro semestre o anno
|
|
Secondo anno
Primo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
Gruppo opzionale:
Gruppo OPZIONALE materie affini 30 cfu x "computer engineering" - (visualizza)
|
30
|
|
|
|
|
|
|
|
|
8039834 -
MACHINE LEARNING
(obiettivi)
OBIETTIVI FORMATIVI: L’obiettivo del corso è di apprendere i concetti basilari dell’apprendimento statistico e il funzionamento di reti neurali sia ad un solo strato che con più di uno strato (Reti deep), considerando anche reti ricorsive nel contesto del text mining. Sarà descritto in dettaglio il problema di ottimizzazione non vincolata che permette l’addestramento di queste reti e gli algoritmi principali per risolverli come la backpropagation e il gradiente stocastico.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente è introdotto alle conoscenze di ottimizzazione non lineare non vincolata, e alla comprensione delle problematiche relative ai problemi di apprendimento supervisionato con particolare attenzione a problemi di regressione e problemi di riconoscimento di immagini. Vengono descritte diverse tecniche, a partire dalla regressione lineare e passando poi per reti neurali di complessità crescente.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Una frazione significativa del corso è dedicata all'utilizzo pratico delle tecniche descritte teoricamente. Lo studente è incoraggiato – attraverso uso di software dedicati (implementati in python) ad applicare gli strumenti proposti su dataset reali e di letteratura.
AUTONOMIA DI GIUDIZIO: Lo sviluppo di modelli di regressione e classificazione per dataset reali e l'implementazione per mezzo di pacchetti software, consente la verifica quantitativa della qualità delle soluzioni sviluppate dagli studenti. Parte dell'esame consiste nello sviluppo di progetti specifici in team di massimo due persone.
ABILITÀ COMUNICATIVE: L'interpretazione dei risultati ottenuti (a valle della fase implementazione e computazione) costituisce una delle attività fondamentali del processo di definizione di una soluzione di un problema reale, a partire da un modello di classificazione o regressione. Questo tipo di attività obbliga lo studente a un confronto con i colleghi e con il docente in cui sono stimolate le sue capacità critiche e dialettiche.
CAPACITÀ DI APPRENDIMENTO:
Lo studente è esposto (attraverso il materiale didattico proposto) alla lettura di testi di riferimento (sia libri che articoli di ricerca) e alla scoperta di strumenti software recenti e in continuo sviluppo. Viene pertanto messo in condizione di attingere a diversi strumenti al fine di (i) acquisire nuove competenze, (ii) sapersi aggiornare in modo continuo e autonomamente, (iii) intraprendere corsi di approfondimento nell'ambito della disciplina.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
|
Erogato in altro semestre o anno
|
|
8039698 -
SISTEMI E ARCHITETTURE PER BIG DATA
|
Erogato in altro semestre o anno
|
|
8039758 -
ALGORITMI E MODELLI PER L'OTTIMIZZAZIONE DISCRETA
|
Erogato in altro semestre o anno
|
|
8039965 -
COSTRUZIONE DEL SOFTWARE
(obiettivi)
OBIETTIVI FORMATIVI: Tecniche industriali di costruzione di software con sviluppo agile in gruppo ampio e con attività di laboratorio anche distribuito. Metriche software: loro ontologie, sviluppo e impiego. Metodi e strategie per il miglioramento continuo della qualità basato su metriche.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Sviluppo e comprensione di progetti software per il web. Metriche per la misura del software. Pianificazione strategica e piano di misure.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Applicazione di pattern progettuali allo sviluppo di applicazioni software per il web. Metriche per la misura del software. Pianificazione strategica basata su dati.
AUTONOMIA DI GIUDIZIO: Utilità di una metrica e stadio del suo ciclo di vita. Valutazione del grado di realizzazione di obiettivi strategici di qualità. Valutazione di qualità di architetture software. Esperienza con lavoro di gruppo e conseguente resilienza.
ABILITÀ COMUNICATIVE: Valutare l'utilità di impiego di una metrica nel ciclo di sviluppo del software o in quello di miglioramento della qualità. Acquisire e trasferire requisiti d'utente, discuterli e analizzarli con il cliente e gli altri membri del gruppo agile allo scopo di implementarli in un software.
CAPACITÀ DI APPRENDIMENTO:Attitudine a riconoscere l'esigenza di introdurre nuove metriche. Abilità a riconoscere l'occorrenza di nuovi paradigmi e tecnologie di sviluppo, ad apprenderli ed eventualmente inserirli nel processo di sviluppo del proprio team.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
(obiettivi)
OBIETTIVI FORMATIVI:
L'’insegnamento di propone di fornire le nozioni fondamentali, i principi architetturali e le metodologie e per la programmazione in ambienti di calcolo parallelo, con particolare enfasi ai modelli di programmazione ed agli strumenti di programmazione più comunemente usati. Il corso copre tre aree principali: la programmazione a scambio di messaggi, con riferimento allo standard MPI, la programmazione su CPU a memoria condivisa, con riferimento allo standard OpenMP, e la programmazione di acceleratori grafici, utilizzando il sistema CUDA.
Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013" (https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf), il corso contribuisce a coprire le seguenti aree e relativi obiettivi:
Parallel and Distributed Computing (PD): Introduzione, Fondamenti di Programmazione Parallela, Decomposizione di problemi, Comunicazione e coordinazione Algoritmi paralleli.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE:
Al termine del corso lo studente avrà acquisito le nozioni fondamentali pertinenti alla programmazione parallela, nelle modalità a scambio di messaggi e con l'uso di direttive di compilazione per sistemi a memoria condivisa; avrà inoltre acquisito la conoscenza degli algoritmi fondamentali per applicazioni di calcolo parallelo, con particolare riferimento agli algoritmi tipici del calcolo scientifico, incluse le metodologie di valutazione delle prestazioni.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:
Al termine del corso lo studente avrà acquisito le metodologie della programmazione parallela e gli strumenti necessari alla costruzione di algoritmi ed applicazioni parallele.
AUTONOMIA DI GIUDIZIO:
Al termine del corso lo studente sarà in grado di selezionare ed applicare i metodi della programmazione parallela per risolvere in autonomia problemi di programmazione al fine di ottenere sistemi caratterizzati da prestazioni ottimali.
ABILITÀ COMUNICATIVE:
Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa ai sistemi di calcolo parallelo, e sarà in grado di comunicare efficacemente le scelte progettuali necessarie nella realizzazione pratica di applicazioni
CAPACITÀ DI APPRENDIMENTO:
Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti la programmazione in ambienti di calcolo parallelo, anche con l'acquisizione di nuovi strumenti.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039977 -
TEORIA DEI GIOCHI E BUSINESS ANALYTICS
(obiettivi)
OBIETTIVI FORMATIVI: Lo scopo di questo corso è quello di introdurre la teoria dei giochi e di mostrarne alcune applicazioni con un focus su problemi progetto di reti. Lo studente è introdotto alle conoscenze di base e alle tecniche tipiche della Teoria dei giochi con particolare riferimento ai giochi non-cooperativi, ai giochi cooperativa, alla teoria dei giochi algoritmica.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Gli studenti apprenderanno le basi della teoria dei giochi per mezzo di strumenti classici dalla teoria dell'ottimizzazione, principalmente la programmazione lineare e teoria della dualità.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: L’'uso di strumenti quantitativi, classici dalla teoria dell'ottimizzazione, consente agli studenti di valutare e validare la aderenza dei modelli proposti ai problemi reali. Il focus su Network Design li porterà poi a risolvere alcuni modelli e valutare la qualità delle soluzioni e delle strategie di soluzione proposte.
AUTONOMIA DI GIUDIZIO: Lo sviluppo di modelli quantitativi consentirà di validare i modelli e le soluzioni proposte dagli studenti. Parte dell'esame consiste nello sviluppo di progetti specifici in team.
ABILITÀ COMUNICATIVE: L'interpretazione dei risultati ottenuti costituisce una delle attività fondamentali del processo di risoluzione di un problema a partire da un modello: in un lavoro di squadra questo tipo di attività obbliga lo studente a un confronto con i colleghi in cui sono stimolate le sue capacità critiche e anche dialettiche.
CAPACITÀ DI APPRENDIMENTO: Lo studente è esposto (attraverso il materiale didattico proposto) alla lettura di testi di riferimento non solo didattici ma anche di ricerca (articoli in riviste del settore). Viene pertanto messo in condizione di attingere a diverse fonti bibliografiche al fine di (i) acquisire nuove competenze, (ii) sapersi aggiornare in modo continuo e autonomamente, (iii) intraprendere corsi di approfondimento nell'ambito della disciplina.
|
9
|
MAT/09
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039979 -
NETWORK AND SYSTEMS DEFENCE
(obiettivi)
OBIETTIVI FORMATIVI
Un utilizzo sicuro dei moderni sistemi informatici richiede che i professionisti di ciascuna area delle tecnologie dell'informazione abbiano una vasta comprensione delle potenziali criticità nell'utilizzo dei sistemi lungo tutto lo stack: hardware, reti di comunicazione, sistemi operativi, applicazioni software, gestione dei dati. In questo modo è possibile riconoscere, in fasi di progettazione o di realizzazione di un sistema ICT, quali siano i possibili pericoli e le contromisure da intraprendere per innalzare il livello di sicurezza. All'interno del corso di Difesa delle reti e dei sistemi verranno mostrate le metodologie e le tecniche alla base di alcune vulnerabilità dei vari livelli dello stack hardware/software, con l'obiettivo di illustrare tecniche e metodologie di difesa per rendere i sistemi più sicuri e resilienti.
Con riferimento alle linee guida riportate nel documento "ACM/IEEE Computing Curricula 2020 - CC2020" (https://www.acm.org/education/curricula-recommendations), il corso contribuisce a coprire le seguenti aree, relativi obiettivi e competenze: - CE-SEC (Information Security): Data security and integrity; Vulnerabilities; Network and web security; Side-channel attacks; Resource protection models; Secret and public-key cryptography; Authentication; Trusted computing - BCIA: Plan procedures, operations, and technologies for managing security and safety in a disaster recovery situation.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE
Al termine del corso lo studente avrà acquisito i concetti fondamentali su possibili superfici di attacco ai vari livelli dello stack hardware e software che possono minare la sicurezza dei sistemi ICT, con una panoramica su moderne tecniche di rilevamento e difesa verso queste minacce. In questo modo, lo studente avrà la capacità di comprendere, in vari contesti legati al mondo ICT, quali sono le possibili criticità in fase di progetto e realizzazione di sistemi complessi.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
Al termine del corso lo studente avrà acquisito le metodologie proprie dell'analisi, progettazione, configurazione e valutazione di un sistema ICT dal punto di vista della sicurezza informativa. Particolare enfasi viene data alla comprensione degli aspetti fondamentali delle metodologie legate all'innalzamento del livello della sicurezza informatica, permettendo quindi allo studente di riportare le competenze acquisite in vari contesti reali.
AUTONOMIA DI GIUDIZIO
Al termine del corso lo studente sarà in grado di valutare i relativi vantaggi e svantaggi di determinate scelte progettuali all'interno di un sistema ICT dal punto di vista della sicurezza informatica. In questo modo, lo studente sarà in grado di scegliere, fra le diverse alternative, la soluzione adeguata alle proprie esigenze in base al problema sotto esame.
ABILITÀ COMUNICATIVE
Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa alla sicurezza informatica nell'ambito dei sistemi e delle reti, sarà in grado di descrivere i concetti fondamentali con termini e linguaggio tecnico appropriato e, in fase progettuale, di argomentare circa le varie alternative a livello hardware e software.
CAPACITÀ DI APPRENDIMENTO
Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti inerenti allea sicurezza dei sistemi e delle reti e di utilizzare le conoscenze e metodologie imparate per affrontare problemi nuovi.
|
9
|
ING-INF/03
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ENG |
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
|
Erogato in altro semestre o anno
|
|
8039964 -
ANALISI DEL MALWARE
(obiettivi)
[OBIETTIVI FORMATIVI] L'insegnamento si propone di fornire agli studenti gli strumenti teorici, metodologici e pratici che consentono l'analisi di programmi "malevoli" in formato eseguibile il cui codice è potenzialmente nascosto, offuscato o protetto. Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013", il corso contribuisce a coprire le seguenti aree e relativi obiettivi: Operating Systems (OS), Architecture and Organization (AR), Systems Fundamentals (SF). [CONOSCENZA E CAPACITÀ DI COMPRENSIONE] Al termine dell'insegnamento lo studente sarà in grado di classificare i diversi tipi di malware e di saper valutare l'utilizzo di diverse tecniche di analisi per ricostruire il funzionamento e le operazioni di un qualsiasi programma, anche non preventivamente noto. [CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE] Sarà inoltre in grado di applicare tecniche basate su sandbox, monitor, disassemblatori e debugger, superando eventuali meccanismi di protezione ed offuscamento ed inibendo i meccanismi di comunicazione e replicazione. [AUTONOMIA DI GIUDIZIO] Saprà integrare le varie e diverse conoscenze richeste dal lavoro di analisi dei programmi e formulare giudizi di merito sull'impatto e la pericolosità di programmi malevoli nei sistemi informatici interessati. [ABILITÀ COMUNICATIVE] Sarà in grado di comunicare efficacemente con i responsabili dei sistemi informativi, anche se non specializzati nel campo della sicurezza informatica. [CAPACITÀ DI APPRENDIMENTO] Sarà infine in grado di aggiornare autonomamente le proprie conoscenze per tenere conto della rapidissima evoluzione della tecnologia del malware.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8067437 -
NATURAL LANGUAGE PROCESSING
(obiettivi)
OBIETTIVI FORMATIVI: Il corso si propone di introdurre lo studente agli scopi, alle principali problematiche e ai principali modelli simbolici dell'elaborazione del linguaggio naturale. CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente conoscerà le principali tematiche dell'elaborazione del linguaggio naturale. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Alla fine del corso, lo studente sarà in grado di implementare un modello di elaborazione del linguaggio. AUTONOMIA DI GIUDIZIO: Le lezioni sono organizzate di modo da permettere allo studente di valutare le informazioni presenti nella rete. Questo è necessario per permettere loro di scegliere nel mare magum della rete le informazioni che sono utili per trovare soluzioni ai problemi dati. ABILITÀ COMUNICATIVE: Allo studente viene richiesto di presentare alcuni argomenti durante le lezioni al fine di affinare la sua arte oratoria. Inoltre, l'esame prevede una presentazione orale davanti agli altri studenti. CAPACITÀ DI APPRENDIMENTO: Nel corso puntiamo molto sulla capacità di selezione delle informazioni come principale capacità di apprendimento.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
|
8039963 -
SISTEMI OPERATIVI AVANZATI E SICUREZZA DEI SISTEMI
(obiettivi)
Il corso si propone di presentare metodi e tecniche avanzate per la progettazione e l'implementazione dei sistemi operativi. Esso fornisce anche approfondimenti sulle effettive operazioni eseguite a livello hardware nei processori moderni, compresi gli effetti del parallelismo hardware implicito ed esplicito, e illustra come questi abbiano impatto sugli approcci di progettazione del software. Gli argomenti trattati dal corso sono legati a casi di studio orientati ai sistemi Linux ed a processori x86. Forte attenzione viene posta sui metodi e sulle tecniche per la sicurezza nei sistemi, e sulle criticità di sicurezza derivanti dalle interazioni dell'hardware con il software. Il corso richiede conoscenze di base sulla struttura e sulle funzionalità dei sistemi operativi e conoscenze di programmazione in linguaggi C/ASM.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente sarà in grado di comprendere il funzionamento dei sistemi operativi, anche per quel che concerne il livello kernel, e le interazioni che avvengono tra questo ed il software delle applicazioni sviluppate su di esso. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente sarà in grado di progettare e sviluppare nuove parti di un sistema operativo, in particolare per quel che concerne sistemi Linux. AUTONOMIA DI GIUDIZIO: Lo studente viene abituato a ragionare in maniera critica su scelte alternative di progetto e sviluppo, e su come queste possano poi avere impatto su aspetti funzionali e non funzionali del software. ABILITÀ COMUNICATIVE: Il superamento dell'esame prevede che lo studente affronti una prova scritta e lo sviluppo un progetto software, nelle quali deve essere in grado di esporre correttamente gli argomenti e presentare in modo chiaro la struttura del software sviluppato. CAPACITÀ DI APPRENDIMENTO: Una parte del materiale didattico è costituito da manuali e documentazione per il sistema operativo Linux. Lo studente impara ad usare ed interpretare in modo autonomo la manualistica di comune uso nello sviluppo del software di sistema.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
Secondo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
Gruppo opzionale:
Gruppo OPZIONALE materie affini 30 cfu x "computer engineering" - (visualizza)
|
30
|
|
|
|
|
|
|
|
|
8039834 -
MACHINE LEARNING
|
Erogato in altro semestre o anno
|
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
(obiettivi)
OBIETTIVI FORMATIVI: Acquisire conoscenze e competenze su soluzioni architetturali e problemi aperti relativi alla progettazione e realizzazione di sistemi informatici mobili, con riferimento a tutti i livelli della pila protocollare di un sistema distribuito. Con riferimento alle linee guida riportate nel documento: “ACM/IEEE-CS- Computer Science Curricula 2013)” (www.acm.org/education/CS2013-final-report.pdf), il corso contribuisce a coprire le seguenti aree e relativi obiettivi: - NC (Networking and communications): Principi di reti cellulari; Reti 802.11; Problematiche relative al supporto di nodi mobili (home agents); - SE (Software design): Design patterns; Principi concettuali e standard per architetture software; Uso di componenti nella progettazione: selezione di componenti, progetto, adattamenti e assemblaggio.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà appreso alcuni concetti fondamentali nella progettazione e realizzazione di sistemi pervasivi/mobili, riguardanti in particolare: a) gestione della mobilità dei dispositivi (comunicazioni wireless e raggiungibilità); b) strategie e tattiche architetturali per la realizzazione di applicazioni software in grado di operare efficacemente e efficientemente in ambienti caratterizzati da elevati gradi di variabilità (risorse disponibili, domanda di servizio, etc.).
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito la capacità di: identificare e classificare gli aspetti salienti di possibili soluzioni architetturali per la gestione della mobilità dei dispositivi; seguire un processo decisionale per valutare le strategie e tattiche più efficaci da applicare nella progettazione di una applicazione software per ambienti pervasivi/mobili.
AUTONOMIA DI GIUDIZIO:
Al termine del corso lo studente sarà in grado di: a) inquadrare in modo critico e confrontare con soluzioni già esistenti possibili soluzioni architetturali per la gestione della mobilità dei dispositivi; b) valutare l'efficacia ed efficienza di scelte architetturali nella realizzazione di applicazioni software per ambienti pervasivi/mobili.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa a sistemi pervasivi/mobili, sia riguardo le infrastrutture di rete che le architetture software adottate, sarà in grado di descrivere i concetti fondamentali di questi sistemi con termini e linguaggio tecnico appropriato e, in fase progettuale, di argomentare circa le varie alternative architetturali e protocollari a livello sia infrastrutturale che applicativo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito adeguate "griglie concettuali" che consentiranno di intraprendere in autonomia e con consapevolezza critica ulteriori approfondimenti su argomenti attinenti sistemi pervasivi e mobili, e di collocare nella giusta prospettiva successivi avanzamenti dello stato dell'arte che emergeranno nella letteratura e pratica più avanzata.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039698 -
SISTEMI E ARCHITETTURE PER BIG DATA
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento si propone di fornire i principi, illustrare le moderne soluzioni tecniche e metodologiche per la progettazione e gestione di sistemi, architetture, ed applicazioni distribuite inerenti i Big Data, ovvero collezioni di dati destrutturati le cui dimensioni superano le capacità di memorizzazione, gestione e analisi tipiche dei tradizionali sistemi per la gestione e l'analisi di dati. Il corso affronta le diverse problematiche per l'acquisizione, la memorizzazione ed il processamento di Big Data, illustrando le relative soluzioni software, anche in modo comparativo. Durante il corso verranno coniugati aspetti metodologici e tecnologici mediante attività di laboratorio, volte ad affrontare lo sviluppo dei due progetti proposti durante il corso.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà acquisito concetti avanzati sulle architetture e sui sistemi distribuiti per l'analisi di Big Data e sullo sviluppo di applicazioni software in tale ambito. In particolare: realizzazione di applicazioni distribuite di batch processing e data stream processing, gestione di sistemi avanzati per l'acquisizione, la memorizzazione ed il processamento di Big Data anche in ambito Cloud (servizi Cloud di AWS, per i quali viene messo a disposizione degli studenti un grant gratuito tramite il programma AWS Academy).
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito le conoscenze metodologiche e le capacità operative proprie dell'analisi, progettazione e realizzazione di sistemi ed applicazioni distribuite per Big Data. In particolare: progettare e sviluppare applicazioni di batch processing e di data stream processing e valutarne le prestazioni, usando i framework open source più diffusi per l'acquisizione, il processamento e la memorizzazione di Big Data ed i moderni strumenti per il deployment di sistemi ed applicazioni distribuiti (in particolare, tramite container e loro orchestrazione).
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente sarà in grado di identificare le soluzioni più idonee per realizzare sistemi ed applicazioni distribuite per l'analisi di Big Data e di valutare in modo critico le scelte architetturali, implementative e le prestazioni di sistemi ed applicazioni esistenti.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia avanzata relativa ai sistemi ed applicazioni per Big Data, sarà in grado di presentare l'architettura di una pipeline completa per l'analisi Big Data usando termini e linguaggio tecnico appropriato e di argomentare circa le varie alternative sia a livello sistemistico che applicativo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti i sistemi e le architetture per Big Data, e di utilizzare le conoscenze e metodologie imparate per affrontare problemi nuovi.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039758 -
ALGORITMI E MODELLI PER L'OTTIMIZZAZIONE DISCRETA
|
Erogato in altro semestre o anno
|
|
8039965 -
COSTRUZIONE DEL SOFTWARE
|
Erogato in altro semestre o anno
|
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
|
Erogato in altro semestre o anno
|
|
8039977 -
TEORIA DEI GIOCHI E BUSINESS ANALYTICS
|
Erogato in altro semestre o anno
|
|
8039979 -
NETWORK AND SYSTEMS DEFENCE
|
Erogato in altro semestre o anno
|
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
|
Erogato in altro semestre o anno
|
|
8039964 -
ANALISI DEL MALWARE
|
Erogato in altro semestre o anno
|
|
8067437 -
NATURAL LANGUAGE PROCESSING
|
Erogato in altro semestre o anno
|
|
|
- -
A SCELTA DELLO STUDENTE
|
12
|
|
120
|
-
|
-
|
-
|
Attività formative a scelta dello studente (art.10, comma 5, lettera a)
|
ITA |
|
8039326 -
ALTRE ATTIVITA' FORMATIVE (TIROCINIO, STAGE, LABORATORIO, SEMINARIO)
|
6
|
|
-
|
-
|
-
|
-
|
Ulteriori attività formative (art.10, comma 5, lettera d)
|
ITA |
|
8039171 -
PROVA FINALE
|
18
|
|
-
|
-
|
-
|
-
|
Per la prova finale e la lingua straniera (art.10, comma 5, lettera c)
|
ITA |
Insegnamenti extracurriculari:
(nascondi)
|
|
|
|
8039516 -
MANAGEMENT DELL'INNOVAZIONE E ENTREPRENEURSHIP
|
Erogato in altro semestre o anno
|
|
8037405 -
TEORIA ELEMENTARE DEI NUMERI
(obiettivi)
OBIETTIVI FORMATIVI: Il corso intende fornire allo studente le nozioni matematiche necessarie a comprendere il funzionamento e a stimare la complessita' di vari algoritmi per la fattorizzazione di numeri interi o per la risoluzione del logaritmo discreto. Alla fine del corso, lo studente avra' ampliato le sue conoscenze di Teoria dei Numeri rilevanti per la crittografia e altre applicazioni.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente dovrà conoscere le principali nozioni relative a strutture insiemistiche, aritmetiche e reticolari, in particolare illustrandole con opportuni esempi e controesempi. Dovrà capire le relazioni gerarchiche tra diversi livelli di astrazione/generalizzazione di nozioni fondamentali che vengono via via perfezionate in nozioni più complesse. Inoltre, lo studente non potrà limitarsi a apprendere meccanicamente procedure più o meno algoritmiche per la risoluzione di problemi, ma dovrà effettivamente capire perché tali procedure funzionano, avendo chiaro in particolare quali siano le idee alla base di tali procedure.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Lo studente dovrà essere in grado di risolvere problemi ed esercizi relativi agli argomenti trattati nel corso; esempi di tali problemi ed esercizi saranno svolti durante il corso stesso. Sarà fornito vario materiale adeguato per la preparazione in tal senso, comprensivo di dettagliate indicazioni bibliografiche.
AUTONOMIA DI GIUDIZIO: Lo studente dovrà essere in grado di riconoscere autonomamente quando un problema matematico si possa inquadrare nell'ambito di una o l'altra delle teorie studiate nel corso. Più in dettaglio, in relazione a problemi specifici dovrà essere in grado di capire quali tecniche possano essere utilizzate, e quali risultati già noti applicati, per risolvere la questione affrontata.
ABILITÀ COMUNICATIVE: Lo studente dovrà essere in grado di spiegare compiutamente gli argomenti trattati, sia in forma orale che in forma scritta che in modalità mista (orale con ausilio di formule e/o calcoli e/o immagini scritte).
CAPACITÀ DI APPRENDIMENTO: Lo studente dovrà capire le nozioni studiate e le idee che ne sono alla base, e i risultati relativi, con le dimostrazioni che ne sono a supporto; inoltre, è fondamentale che conosca anche esempi e controesempi che illustrino tali nozioni e risultati.
|
6
|
MAT/03
|
60
|
-
|
-
|
-
|
|
ITA |
|
8039570 -
SATELLITE EARTH OBSERVATION
|
Erogato in altro semestre o anno
|
|
80300059 -
FILOSOFIA DELLA TECNICA: FONDAMENTI E IMPLICAZIONI SOCIALI
(obiettivi)
OBIETTIVI FORMATIVI: Il programma intende offrire una conoscenza storico-filosofica, ripercorrendo le voci più significative (classiche e contemporanee) del dibattito etico-tecnologico, e fornire i concetti e i criteri necessari a costruire un pensiero critico sui problemi e sui cambiamenti attuali sollevati dalle innovazioni tecnologiche.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: L’approccio filosofico proposto è volto a consentire una visione d’insieme dei problemi in gioco, per ripensare e articolare il rapporto tra sviluppo tecnologico e fattori umani, esistenziali.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Conoscenza delle categorie concettuali e filosofiche fondamentali per la comprensione degli elementi cruciali della discussione umanistica sull’informatica, sulla tecnologia, sulle Intelligenze Artificiali nelle loro caratteristiche teoriche e applicative.
AUTONOMIA DI GIUDIZIO: Capacità di formulare giudizi autonomi e criticamente fondati riguardo alle questioni della tradizione filosofica sulla tecnica e a quelle del dibattito contemporaneo
ABILITÀ COMUNICATIVE: Capacità di comunicare con chiarezza e criticità i problemi teorici e concettuali
|
6
|
M-FIL/03
|
60
|
-
|
-
|
-
|
|
ITA |
Insegnamenti extracurriculari:
(nascondi)
|
|
|
|
8039516 -
MANAGEMENT DELL'INNOVAZIONE E ENTREPRENEURSHIP
(obiettivi)
OBIETTIVI FORMATIVI: In questo corso non si studia semplicemente l’'imprenditorialità ma s’ impara a diventare imprenditori (di successo).
CONOSCENZA E COMPRENSIONE: Il corso si propone di fornire agli studenti i fondamenti del management per lanciare e portare al successo start-up a base tecnologica, e sviluppare in loro: a) la capacità d'individuare e gestire le determinanti del processo innovativo; b) la capacità di analizzare le implicazioni dell'innovazione tecnologica sulla struttura industriale e sulle dimensioni competitive dell'azienda; e c) l'abilità di formulare strategie competitive di successo.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Il metodo di insegnamento e di apprendimento da parte dello studente è di tipo integrato. Lo studio sarà quindi teorico-applicativo-pratico. Le lezioni prevedono letture di testi ed articoli scientifici, per fornire agli studenti il supporto cognitivo necessario all'analisi degli studi di caso che, coerenti con gli argomenti trattati, permetteranno ai partecipanti di applicare le teorie in situazioni reali. La componente pratica verrà attuata attraverso un esercizio di simulazione, in cui gli studenti, suddivisi in gruppi, si cimenteranno in prima persona nella soluzione di un caso reale. L'approccio didattico pone particolare enfasi sull'azione e l'attuazione, non solo sull'analisi, proponendosi lo sviluppo delle relative capacità negli studenti. L'ampliamento delle conoscenze, in termini di teorie, concetti, tecniche e strumenti, non deve essere visto come un fine in sé, bensì come funzionale all'applicazione pratica. Il lavoro di gruppo è ritenuto vitale sia per le sinergie indotte nel processo di apprendimento, sia per lo sviluppo di capacità relazionali a livello manageriale. Il tipo di didattica prescelto prevede l'attiva partecipazione dello studente alla discussione degli argomenti proposti, in tutte le forme in cui saranno presentati, ossia articoli, studi di caso ed esercizi di simulazione. Ciò implica che lo studente avrà letto, analizzato ed interiorizzato il materiale didattico assegnato per ciascuna lezione prima della stessa e sarà pronto a contribuire su ogni punto della discussione on line. Un'attenzione particolare dovrà essere rivolta alla preparazione degli studi di caso.
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente dovrebbe essere in grado di prendere decisioni gestionali sulla base di analisi strategiche appropriate.
ABILITÀ COMUNICATIVE: L'approccio didattico, di tipo maieutico, è finalizzato tra l'altro a sviluppare negli studenti abilità di comunicazione, ulteriormente indotte da presentazioni in aula di studi e progetti di gruppo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di comprendere i fenomeni che sono alla base dell'innovazione tecnologica e di gestirli in una prospettiva strategica, apprendendo attraverso il fare.
|
6
|
ING-IND/35
|
60
|
-
|
-
|
-
|
|
ITA |
|
8037405 -
TEORIA ELEMENTARE DEI NUMERI
|
Erogato in altro semestre o anno
|
|
8039570 -
SATELLITE EARTH OBSERVATION
|
Erogato in altro semestre o anno
|
|
80300059 -
FILOSOFIA DELLA TECNICA: FONDAMENTI E IMPLICAZIONI SOCIALI
(obiettivi)
OBIETTIVI FORMATIVI: Il programma intende offrire una conoscenza storico-filosofica, ripercorrendo le voci più significative (classiche e contemporanee) del dibattito etico-tecnologico, e fornire i concetti e i criteri necessari a costruire un pensiero critico sui problemi e sui cambiamenti attuali sollevati dalle innovazioni tecnologiche.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: L’approccio filosofico proposto è volto a consentire una visione d’insieme dei problemi in gioco, per ripensare e articolare il rapporto tra sviluppo tecnologico e fattori umani, esistenziali.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Conoscenza delle categorie concettuali e filosofiche fondamentali per la comprensione degli elementi cruciali della discussione umanistica sull’informatica, sulla tecnologia, sulle Intelligenze Artificiali nelle loro caratteristiche teoriche e applicative.
AUTONOMIA DI GIUDIZIO: Capacità di formulare giudizi autonomi e criticamente fondati riguardo alle questioni della tradizione filosofica sulla tecnica e a quelle del dibattito contemporaneo
ABILITÀ COMUNICATIVE: Capacità di comunicare con chiarezza e criticità i problemi teorici e concettuali
|
6
|
M-FIL/03
|
60
|
-
|
-
|
-
|
|
ITA |
Insegnamenti extracurriculari:
(nascondi)
|
|
|
|
8039516 -
MANAGEMENT DELL'INNOVAZIONE E ENTREPRENEURSHIP
|
Erogato in altro semestre o anno
|
|
8037405 -
TEORIA ELEMENTARE DEI NUMERI
|
Erogato in altro semestre o anno
|
|
8039570 -
SATELLITE EARTH OBSERVATION
(obiettivi)
OBIETTIVI FORMATIVI: Conoscenza e individuazione delle orbite satellitari per il monitoraggio terrestre. Conoscenza dei requisiti e dei parametri operativi degli strumenti dedicati all'Osservazione della Terra a distanza nelle diverse bande dello spettro elettromagnetico. Conoscenza dei principi fisici alla base del telerilevamento. Conoscenza delle procedure di elaborazione dei dati telerilevati multitemporali e multispettrali. Conoscenza dei metodi che consentono di raggiungere i due principali obiettivi del telerilevamento: classificazione e inversione
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Il corso mira a fornire gli strumenti per conoscere e comprendere le tecnologie e le metodologie di Osservazione della Terra nei più importanti e consolidati campi applicativi.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Lo studente acquisirà le conoscenze e le metodologie per analizzare e risolvere problemi tipici dell'Osservazione della Terra, dallo studio di missione all'utilizzo e applicazione di metodi matematici
AUTONOMIA DI GIUDIZIO: Lo studente sarà in grado di scegliere criticamente le tecniche di telerilevamento più idonee per il monitoraggio delle variabili geo-fisiche di interesse
ABILITÀ COMUNICATIVE: Lo studente acquisirà capacità di comunicazione delle tematiche di Osservazione della Terra dimostrando una conoscenza delle teorie fisiche e delle applicazioni sperimentali, e adoperando la terminologia più specifica
CAPACITÀ DI APPRENDIMENTO: Lo studente avrà appreso le procedure di utilizzo e elaborazione di dati ottici e a microonde; questo gli consentirà di affrontare in autonomia le problematiche relative all'Osservazione della Terra mediante le tecniche più avanzate.
|
9
|
ING-INF/02
|
90
|
-
|
-
|
-
|
|
ENG |
|
80300059 -
FILOSOFIA DELLA TECNICA: FONDAMENTI E IMPLICAZIONI SOCIALI
|
Erogato in altro semestre o anno
|
Data Science and Engineering
Primo anno
Primo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
|
8037386 -
COMPLEMENTI DI PROBABILITA' E STATISTICA
(obiettivi)
OBIETTIVI FORMATIVI: Obiettivo del corso è fornire strumenti avanzati di probabilità e statistica per l'elaborazione di modelli probabilistici e l'analisi di dati statistici, nonché presentare applicazioni significative con riferimento a dati reali, in particolare estrapolati da data-set ingegneristici, economico-finanziari e medici. Un'attenzione particolare sarà rivolta ad agevolare lo sviluppo della capacità di risoluzione dei problemi da parte degli studenti.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Sarà posta la massima enfasi a incoraggiare un apprendimento consapevole delle tecniche e dei modelli probabilistico-statistici e a scoraggiare tentativi d'apprendimento puramente imitativi e mnemonici.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Come risultato del corso gli studenti dovranno essere in grado di affrontare e risolvere problemi non banali nell'ambito dei modelli probabilistici e statistici, con particolare riferimento all'applicazione dei concetti di indipendenza, condizionamento e modalità di convergenza, nonché all'analisi dei dati mediante stimatori puntuali e intervallari, test statistici parametrici e test di significatività su regressioni lineari.
AUTONOMIA DI GIUDIZIO: Gli studenti verranno incoraggiati a sfruttare tutta la flessibilità del modelli probabilistico-statistici per esplorare strade individuali, ancorché praticabili, alla risoluzione dei problemi. L'originalità delle soluzioni proposte sarà ampiamente premiata.
ABILITÀ COMUNICATIVE: L'abilità comunicativa verrà incoraggiata sia mediante un assiduo coinvolgimento degli studenti nelle attività didattiche di verifica dell'apprendimento, sia attribuendo un peso significativo alla chiarezza espositiva nella valutazione delle prove finali d'esame.
CAPACITÀ DI APPRENDIMENTO: Per incoraggiare lo sviluppo della capacità d'apprendimento si cercherà di stimolare la familiarità con l'argomentazione logico-matematica mediante la partecipazione degli studenti alla presentazione dei ragionamenti probabilistico-statistici che conducono ai principali risultati esposti.
|
9
|
MAT/06
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8037389 -
SISTEMI DISTRIBUITI E CLOUD COMPUTING
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento si propone di fornire i principi, le metodologie e le tecnologie per la progettazione e realizzazione di sistemi ed applicazioni distribuite moderne, inclusi i sistemi distribuiti a larga scala e Cloud e le architetture a microservizi. Durante il corso vengono coniugati aspetti metodologici e tecnologici, affrontando le principali problematiche e tecniche per lo sviluppo di sistemi distribuiti efficienti. In particolare, sono approfonditi gli aspetti architetturali, i modelli di comunicazione tra i componenti di un sistema distribuito ed i corrispondenti middleware, le soluzioni per fornire sistemi scalabili e tolleranti ai guasti, le problematiche di coordinazione distribuita, replicazione e consistenza e le relativi soluzioni algoritmiche e tecniche, e la virtualizzazione dell'ambiente di esecuzione tramite la virtualizzazione di sistema e a livello di sistema operativo e l'orchestrazione di container. Il progetto proposto ha lo scopo di consolidare ed approfondire la preparazione teorica, metodologica e tecnologica sui temi affrontanti nel corso. Nel corso viene anche introdotto il linguaggio Go per la programmazione dei sistemi distribuiti.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà acquisito concetti di base ed avanzati sui sistemi distribuiti e sui sistemi Cloud e sullo sviluppo di applicazioni software in tali ambiti. In particolare: realizzazione di applicazioni distribuite e scalabili, con diversi gradi di consistenza e modelli di comunicazione, utilizzando anche servizi Cloud (in particolare, i servizi Cloud di AWS, per i quali viene messo a disposizione degli studenti un grant gratuito tramite il programma AWS Academy).
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito i principi e le metodologie proprie dell'analisi, progettazione e realizzazione dei moderni sistemi distribuiti. In particolare: progettare e sviluppare sistemi ed applicazioni distribuite, usando strumenti avanzati per il deployment e la gestione.
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente sarà in grado di identificare le soluzioni più idonee per realizzare sistemi ed applicazioni distribuite e Cloud e di valutarne le scelte architetturali ed implementative.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia avanzata relativa ai sistemi distribuiti e Cloud, sarà in grado di presentare l'architettura di un sistema distribuito anche complesso con termini e linguaggio tecnico appropriato e di argomentare circa le varie alternative sia a livello sistemistico che applicativo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti i sistemi distribuiti e Cloud, e di utilizzare le conoscenze e metodologie apprese per affrontare problemi nuovi.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
Gruppo opzionale:
Gruppo OPZIONALE materie caratterizzanti 18 cfu x "data science" - (visualizza)
|
18
|
|
|
|
|
|
|
|
|
8039933 -
COMPUTER AND NETWORK SECURITY
(obiettivi)
OBIETTIVI FORMATIVI. Obiettivo generale dell'insegnamento è mostrare allo studente la complessità e le problematiche relative all'integrazione della crittografia in protocolli e sistemi reali - in altre parole, convincere lo studente che l'utilizzo di "buoni" algoritmi crittografici è condizione necessaria, ma assolutamente non sufficiente, per la sicurezza nelle comunicazioni e nei sistemi Internet. In aggiunta, il corso ha i seguenti ulteriori obiettivi specifici: fornire allo studente basi di crittografia ed elementi di protocolli per la sicurezza in Internet; fornire le metodologie per identificare minacce e vulnerabilita alla sicurezza dei sistemi; analizzare le famiglie di attacchi piu comuni ai protocolli ed ai sistemi Internet.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: L'obiettivo sopra descritto verrà perseguito illustrando contestualmente sia le principali soluzioni e strumenti crittografici per la sicurezza informatica, sia mostrando esempi concreti di errori di utilizzo e di attacchi. Particolare attenzione verrà dedicata alla comprensione dei principi protocollari alla base dell'instaurazione di sessioni sicure, con particolare riferimento ai protocolli TLS ed IPsec, ed ai protocolli di autenticazione. Infine, lo studente acquisirà competenze di base relative a soluzioni e tecniche crittografiche moderne (condivisione di segreti, elaborazione collaborativa sicura, crittografia ellittica, etc), ed alla loro applicazione in servizi e sistemi di rete. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Le competenze tecniche e metodologiche acquisite permetteranno allo studente di affrontare numerosi problemi reali relativi alla protezione delle comunicazioni e dei sistemi di rete. In particolare, lo studente sarà in grado di identificare (e correggere) vulnerabilità protocollari, problemi implementativi, ed applicazioni errate della crittografia.
AUTONOMIA DI GIUDIZIO: Il corso permetterà allo studente di identificare e valutare vulnerabilità crittografiche e protocollari supplementari rispetto alle più tradizionali vulnerabilità a livello di sistemi affrontate nei corsi precedenti, ampliando significativamente il bagaglio culturale e tecnico dello studente in termini di strumenti, algoritmi, e capacità di comprensione ed analisi.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa alla crittografia applicata ed ai protocolli per la sicurezza in Internet, e sarà in grado di usare un linguaggio tecnico appropriato ed attuale nelle proprie presentazioni ed argomentazioni.
CAPACITÀ DI APPRENDIMENTO: Il corso stimolerà lo studente all'auto-apprendimento - necessario vista la rapida obsolescenza delle tecnologie in questione - fornendo numerosi esempi e puntatori a fonti informative esterne sia per aspetti tecnologici che metodologici.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
|
8039963 -
SISTEMI OPERATIVI AVANZATI E SICUREZZA DEI SISTEMI
|
Erogato in altro semestre o anno
|
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento intende fornire allo studente un quadro aggiornato dell'attuale tecnologia dei sistemi embedded e real-time. I sistemi embedded sono i calcolatori elettronici integrati in ormai tutti gli apparati elettronici che eseguono in modo specifico ed esclusivo il programma impostato dal progettista dell'apparato. I sistemi real-time sono i sistemi di calcolo (intesi sia come hardware che come software) progettati per garantire non solo la correttezza delle operazioni svolte, ma anche la corretta temporizzazione dei risultati prodotti dal sistema. Questo corso discute entrambi i tipi di sistemi perché la maggior parte dei sistemi embedded sono anche sistemi real-time, e viceversa. Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013" (www.acm.org/education/CS2013-final-report.pdf), il corso contribuisce a coprire le seguenti aree e relativi obiettivi: Operating Systems (OS): Scheduling and Dispatch; Resource Allocation and Scheduling; Real-Time and Embedded Systems CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine lo studente avrà acquisito una comprensione approfondita delle problematiche e delle tecnologie relative allo sviluppo dei sistemi embedded e real-time. In particolare, lo studente avrà compreso i concetti fondamentali ed i risultati principali della teoria della schedulazione real-time, che consente di certificare la corretta progettazione di un sistema real-time "safety-critical"; avrà compreso le principali problematiche e soluzioni tecnologiche dei sistemi operativi adatti all'esecuzione di applicazioni real-time; avrà compreso le problematiche relativo allo sviluppo del software di un sistema embedded "bare metal" interfacciato direttamente ai dispositivi hardware del sistema, con particolare riferimento ai sistemi di supporto all'esecuzione delle applicazioni real-time. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE Al termine del corso lo studente sarà in grado di scrivere un ambiente di esecuzione real-time "bare metal" per sistemi embedded basati su architettura ARM, a partire dalla sola documentazione rilasciata dal costruttore dell'hardware. Lo studente sarà inoltre in grado di modellare una collezione di job reali con specifici compiti e scadenze temporali tramite il modello a task periodici, dimensionare opportunamente il modello di sistema real-time che dovrà garantire l'esecuzione dei job ed il rispetto delle scadenze, selezionare opportunamente gli algoritmi di schedulazione dei task e di allocazione delle risorse condivise, e dimostrare formalmente che la progettazione effettuata è corretta, nel senso che tutte le scadenze dei job saranno rispettate anche nel peggior caso che possa verificarsi.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
|
Erogato in altro semestre o anno
|
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
|
Erogato in altro semestre o anno
|
|
8039964 -
ANALISI DEL MALWARE
|
Erogato in altro semestre o anno
|
|
8039965 -
COSTRUZIONE DEL SOFTWARE
|
Erogato in altro semestre o anno
|
|
8067437 -
NATURAL LANGUAGE PROCESSING
(obiettivi)
OBIETTIVI FORMATIVI: Il corso si propone di introdurre lo studente agli scopi, alle principali problematiche e ai principali modelli simbolici dell'elaborazione del linguaggio naturale. CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente conoscerà le principali tematiche dell'elaborazione del linguaggio naturale. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Alla fine del corso, lo studente sarà in grado di implementare un modello di elaborazione del linguaggio. AUTONOMIA DI GIUDIZIO: Le lezioni sono organizzate di modo da permettere allo studente di valutare le informazioni presenti nella rete. Questo è necessario per permettere loro di scegliere nel mare magum della rete le informazioni che sono utili per trovare soluzioni ai problemi dati. ABILITÀ COMUNICATIVE: Allo studente viene richiesto di presentare alcuni argomenti durante le lezioni al fine di affinare la sua arte oratoria. Inoltre, l'esame prevede una presentazione orale davanti agli altri studenti. CAPACITÀ DI APPRENDIMENTO: Nel corso puntiamo molto sulla capacità di selezione delle informazioni come principale capacità di apprendimento.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
Secondo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
|
8039229 -
PERFORMANCE MODELING OF COMPUTER SYSTEMS AND NETWORKS
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ENG |
|
8039833 -
METODI DI OTTIMIZZAZIONE PER BIG DATA
(obiettivi)
OBIETTIVI FORMATIVI: L'obiettivo del corso è quello di introdurre all'ottimizzazione vincolata con attenzione alle applicazioni nel campo dell'addestramento di SVM (Support Vector Machine) e alla definizione di tecniche di clustering. Vengono descritti inoltre gli alberi di decisione.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente è introdotto alle conoscenze di ottimizzazione non lineare, soprattutto vincolata, e alla comprensione delle problematiche relative ai problemi di apprendimento supervisionato con particolare attenzione a problemi di classificazione e regressione. Vengono descritte tecniche diverse: SVM e alberi di decisione. Lo studente viene inoltre introdotto al problema di classificazione non supervisionata, che viene risolto tramite tecniche di clustering standard quali k-means e clustering gerarchico.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Una frazione significativa del corso è dedicata all'utilizzo pratico delle tecniche descritte teoricamente. Lo studente è incoraggiato – attraverso uso di software dedicati (implementati in R) –— ad applicare gli strumenti proposti su dataset reali e di letteratura.
AUTONOMIA DI GIUDIZIO: Lo sviluppo di modelli di classificazione per dataset reali e l'implementazione per mezzo di pacchetti software, consente la verifica quantitativa della qualità delle soluzioni sviluppate dagli studenti. Parte dell'esame consiste nello sviluppo di progetti specifici in team di massimo due persone.
ABILITÀ COMUNICATIVE: L'interpretazione dei risultati ottenuti (a valle della fase implementazione e computazione) costituisce una delle attività fondamentali del processo di definizione di una soluzione di un problema reale, a partire da un modello di classificazione. Questo tipo di attività obbliga lo studente a un confronto con i colleghi e con il docente in cui sono stimolate le sue capacità critiche e dialettiche.
CAPACITÀ DI APPRENDIMENTO: Lo studente è esposto (attraverso il materiale didattico proposto) alla lettura di testi di riferimento (sia libri che articoli di ricerca) e alla scoperta di strumenti software recenti e in continuo sviluppo. Viene pertanto messo in condizione di attingere a diversi strumenti al fine di (i) acquisire nuove competenze, (ii) sapersi aggiornare in modo continuo e autonomamente, (iii) intraprendere corsi di approfondimento nell'ambito della disciplina.
|
9
|
MAT/09
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039920 -
INGEGNERIA DEL SOFTWARE II
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento si propone di fornire le nozioni avanzate di ingegneria del software. Nello specifico, gli obiettivi formativi riguardano: o Metriche di processo e di prodotto o Come fare una presentazione o Machine Learning: terminologia, installazione di weka, utilizzo tramite GUI e API, rumore, selezione delle features, sampling, cost-sensitive calssification, metriche e tecniche di valutazione.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà acquisito i concetti fondamentali sulla qualità dei sistemi software con particolare riguardo alle tematiche di misurazione, testing e machine learning.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito le metodologie per lo sviluppo di sistemi software di alta qualità.
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente sarà in grado di giudicare autonomamente la qualità dei sistemi software.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa alla qualità dei sistemi software.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti la qualità dei sistemi software, e di utilizzare le conoscenze e metodologie imparate per affrontare nuovi problemi.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
Secondo anno
Primo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
|
8039834 -
MACHINE LEARNING
(obiettivi)
OBIETTIVI FORMATIVI: L’obiettivo del corso è di apprendere i concetti basilari dell’apprendimento statistico e il funzionamento di reti neurali sia ad un solo strato che con più di uno strato (Reti deep), considerando anche reti ricorsive nel contesto del text mining. Sarà descritto in dettaglio il problema di ottimizzazione non vincolata che permette l’addestramento di queste reti e gli algoritmi principali per risolverli come la backpropagation e il gradiente stocastico.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente è introdotto alle conoscenze di ottimizzazione non lineare non vincolata, e alla comprensione delle problematiche relative ai problemi di apprendimento supervisionato con particolare attenzione a problemi di regressione e problemi di riconoscimento di immagini. Vengono descritte diverse tecniche, a partire dalla regressione lineare e passando poi per reti neurali di complessità crescente.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Una frazione significativa del corso è dedicata all'utilizzo pratico delle tecniche descritte teoricamente. Lo studente è incoraggiato – attraverso uso di software dedicati (implementati in python) ad applicare gli strumenti proposti su dataset reali e di letteratura.
AUTONOMIA DI GIUDIZIO: Lo sviluppo di modelli di regressione e classificazione per dataset reali e l'implementazione per mezzo di pacchetti software, consente la verifica quantitativa della qualità delle soluzioni sviluppate dagli studenti. Parte dell'esame consiste nello sviluppo di progetti specifici in team di massimo due persone.
ABILITÀ COMUNICATIVE: L'interpretazione dei risultati ottenuti (a valle della fase implementazione e computazione) costituisce una delle attività fondamentali del processo di definizione di una soluzione di un problema reale, a partire da un modello di classificazione o regressione. Questo tipo di attività obbliga lo studente a un confronto con i colleghi e con il docente in cui sono stimolate le sue capacità critiche e dialettiche.
CAPACITÀ DI APPRENDIMENTO:
Lo studente è esposto (attraverso il materiale didattico proposto) alla lettura di testi di riferimento (sia libri che articoli di ricerca) e alla scoperta di strumenti software recenti e in continuo sviluppo. Viene pertanto messo in condizione di attingere a diversi strumenti al fine di (i) acquisire nuove competenze, (ii) sapersi aggiornare in modo continuo e autonomamente, (iii) intraprendere corsi di approfondimento nell'ambito della disciplina.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
Gruppo opzionale:
gruppo OPZIONALE materie affini 6 cfu x "data science" - (visualizza)
|
6
|
|
|
|
|
|
|
|
|
8039696 -
PROCESSI STOCASTICI ED ANALISI DI SERIE TEMPORALI
(obiettivi)
OBIETTIVI FORMATIVI: l corso intende fornire allo studente i complementi di probabilita' necessari a descrivere i fenomeni stocastici e a modellizzarli mediante processi stocastici. Inoltre, verranno introdotte e studiate le serie temporali, che verranno analizzate anche con l'utilizzo di software numerici.
Alla fine del corso, lo studente dovra' consegnare un progetto consistente nell'analisi dettagliata di tre serie temporali, ottenuta mediante il software R.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Acquisizione degli elementi di processi stocastici e serie temporali e delle loro conseguenze in diversi ambiti.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Saper individuare e comprendere i concetti di base che servono nelle particolari applicazioni
AUTONOMIA DI GIUDIZIO: Saper lavorare in completa autonomia
ABILITÀ COMUNICATIVE: Saper comunicare le conoscenze acquisite, per i diversi ambiti di applicazione.
CAPACITÀ DI APPRENDIMENTO: Ottenere conoscenza duratura e ben sedimentata delle nozioni acquisite.
|
6
|
MAT/06
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
8039759 -
METODI PROBABILISTICI E STATISTICI PER I MERCATI FINANZIARI
|
Erogato in altro semestre o anno
|
|
Gruppo opzionale:
Gruppo OPZIONALE materie caratterizzanti 18 cfu x "data science" - (visualizza)
|
18
|
|
|
|
|
|
|
|
|
8039933 -
COMPUTER AND NETWORK SECURITY
|
Erogato in altro semestre o anno
|
|
8039963 -
SISTEMI OPERATIVI AVANZATI E SICUREZZA DEI SISTEMI
(obiettivi)
Il corso si propone di presentare metodi e tecniche avanzate per la progettazione e l'implementazione dei sistemi operativi. Esso fornisce anche approfondimenti sulle effettive operazioni eseguite a livello hardware nei processori moderni, compresi gli effetti del parallelismo hardware implicito ed esplicito, e illustra come questi abbiano impatto sugli approcci di progettazione del software. Gli argomenti trattati dal corso sono legati a casi di studio orientati ai sistemi Linux ed a processori x86. Forte attenzione viene posta sui metodi e sulle tecniche per la sicurezza nei sistemi, e sulle criticità di sicurezza derivanti dalle interazioni dell'hardware con il software. Il corso richiede conoscenze di base sulla struttura e sulle funzionalità dei sistemi operativi e conoscenze di programmazione in linguaggi C/ASM.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente sarà in grado di comprendere il funzionamento dei sistemi operativi, anche per quel che concerne il livello kernel, e le interazioni che avvengono tra questo ed il software delle applicazioni sviluppate su di esso. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente sarà in grado di progettare e sviluppare nuove parti di un sistema operativo, in particolare per quel che concerne sistemi Linux. AUTONOMIA DI GIUDIZIO: Lo studente viene abituato a ragionare in maniera critica su scelte alternative di progetto e sviluppo, e su come queste possano poi avere impatto su aspetti funzionali e non funzionali del software. ABILITÀ COMUNICATIVE: Il superamento dell'esame prevede che lo studente affronti una prova scritta e lo sviluppo un progetto software, nelle quali deve essere in grado di esporre correttamente gli argomenti e presentare in modo chiaro la struttura del software sviluppato. CAPACITÀ DI APPRENDIMENTO: Una parte del materiale didattico è costituito da manuali e documentazione per il sistema operativo Linux. Lo studente impara ad usare ed interpretare in modo autonomo la manualistica di comune uso nello sviluppo del software di sistema.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
|
Erogato in altro semestre o anno
|
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
(obiettivi)
OBIETTIVI FORMATIVI:
L'’insegnamento di propone di fornire le nozioni fondamentali, i principi architetturali e le metodologie e per la programmazione in ambienti di calcolo parallelo, con particolare enfasi ai modelli di programmazione ed agli strumenti di programmazione più comunemente usati. Il corso copre tre aree principali: la programmazione a scambio di messaggi, con riferimento allo standard MPI, la programmazione su CPU a memoria condivisa, con riferimento allo standard OpenMP, e la programmazione di acceleratori grafici, utilizzando il sistema CUDA.
Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013" (https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf), il corso contribuisce a coprire le seguenti aree e relativi obiettivi:
Parallel and Distributed Computing (PD): Introduzione, Fondamenti di Programmazione Parallela, Decomposizione di problemi, Comunicazione e coordinazione Algoritmi paralleli.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE:
Al termine del corso lo studente avrà acquisito le nozioni fondamentali pertinenti alla programmazione parallela, nelle modalità a scambio di messaggi e con l'uso di direttive di compilazione per sistemi a memoria condivisa; avrà inoltre acquisito la conoscenza degli algoritmi fondamentali per applicazioni di calcolo parallelo, con particolare riferimento agli algoritmi tipici del calcolo scientifico, incluse le metodologie di valutazione delle prestazioni.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE:
Al termine del corso lo studente avrà acquisito le metodologie della programmazione parallela e gli strumenti necessari alla costruzione di algoritmi ed applicazioni parallele.
AUTONOMIA DI GIUDIZIO:
Al termine del corso lo studente sarà in grado di selezionare ed applicare i metodi della programmazione parallela per risolvere in autonomia problemi di programmazione al fine di ottenere sistemi caratterizzati da prestazioni ottimali.
ABILITÀ COMUNICATIVE:
Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa ai sistemi di calcolo parallelo, e sarà in grado di comunicare efficacemente le scelte progettuali necessarie nella realizzazione pratica di applicazioni
CAPACITÀ DI APPRENDIMENTO:
Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti la programmazione in ambienti di calcolo parallelo, anche con l'acquisizione di nuovi strumenti.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
|
Erogato in altro semestre o anno
|
|
8039964 -
ANALISI DEL MALWARE
(obiettivi)
[OBIETTIVI FORMATIVI] L'insegnamento si propone di fornire agli studenti gli strumenti teorici, metodologici e pratici che consentono l'analisi di programmi "malevoli" in formato eseguibile il cui codice è potenzialmente nascosto, offuscato o protetto. Con riferimento alle linee guida riportate nel documento: "ACM/IEEE-CS- Computer Science Curricula 2013", il corso contribuisce a coprire le seguenti aree e relativi obiettivi: Operating Systems (OS), Architecture and Organization (AR), Systems Fundamentals (SF). [CONOSCENZA E CAPACITÀ DI COMPRENSIONE] Al termine dell'insegnamento lo studente sarà in grado di classificare i diversi tipi di malware e di saper valutare l'utilizzo di diverse tecniche di analisi per ricostruire il funzionamento e le operazioni di un qualsiasi programma, anche non preventivamente noto. [CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE] Sarà inoltre in grado di applicare tecniche basate su sandbox, monitor, disassemblatori e debugger, superando eventuali meccanismi di protezione ed offuscamento ed inibendo i meccanismi di comunicazione e replicazione. [AUTONOMIA DI GIUDIZIO] Saprà integrare le varie e diverse conoscenze richeste dal lavoro di analisi dei programmi e formulare giudizi di merito sull'impatto e la pericolosità di programmi malevoli nei sistemi informatici interessati. [ABILITÀ COMUNICATIVE] Sarà in grado di comunicare efficacemente con i responsabili dei sistemi informativi, anche se non specializzati nel campo della sicurezza informatica. [CAPACITÀ DI APPRENDIMENTO] Sarà infine in grado di aggiornare autonomamente le proprie conoscenze per tenere conto della rapidissima evoluzione della tecnologia del malware.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8039965 -
COSTRUZIONE DEL SOFTWARE
(obiettivi)
OBIETTIVI FORMATIVI: Tecniche industriali di costruzione di software con sviluppo agile in gruppo ampio e con attività di laboratorio anche distribuito. Metriche software: loro ontologie, sviluppo e impiego. Metodi e strategie per il miglioramento continuo della qualità basato su metriche.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Sviluppo e comprensione di progetti software per il web. Metriche per la misura del software. Pianificazione strategica e piano di misure.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Applicazione di pattern progettuali allo sviluppo di applicazioni software per il web. Metriche per la misura del software. Pianificazione strategica basata su dati.
AUTONOMIA DI GIUDIZIO: Utilità di una metrica e stadio del suo ciclo di vita. Valutazione del grado di realizzazione di obiettivi strategici di qualità. Valutazione di qualità di architetture software. Esperienza con lavoro di gruppo e conseguente resilienza.
ABILITÀ COMUNICATIVE: Valutare l'utilità di impiego di una metrica nel ciclo di sviluppo del software o in quello di miglioramento della qualità. Acquisire e trasferire requisiti d'utente, discuterli e analizzarli con il cliente e gli altri membri del gruppo agile allo scopo di implementarli in un software.
CAPACITÀ DI APPRENDIMENTO:Attitudine a riconoscere l'esigenza di introdurre nuove metriche. Abilità a riconoscere l'occorrenza di nuovi paradigmi e tecnologie di sviluppo, ad apprenderli ed eventualmente inserirli nel processo di sviluppo del proprio team.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8067437 -
NATURAL LANGUAGE PROCESSING
(obiettivi)
OBIETTIVI FORMATIVI: Il corso si propone di introdurre lo studente agli scopi, alle principali problematiche e ai principali modelli simbolici dell'elaborazione del linguaggio naturale. CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente conoscerà le principali tematiche dell'elaborazione del linguaggio naturale. CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Alla fine del corso, lo studente sarà in grado di implementare un modello di elaborazione del linguaggio. AUTONOMIA DI GIUDIZIO: Le lezioni sono organizzate di modo da permettere allo studente di valutare le informazioni presenti nella rete. Questo è necessario per permettere loro di scegliere nel mare magum della rete le informazioni che sono utili per trovare soluzioni ai problemi dati. ABILITÀ COMUNICATIVE: Allo studente viene richiesto di presentare alcuni argomenti durante le lezioni al fine di affinare la sua arte oratoria. Inoltre, l'esame prevede una presentazione orale davanti agli altri studenti. CAPACITÀ DI APPRENDIMENTO: Nel corso puntiamo molto sulla capacità di selezione delle informazioni come principale capacità di apprendimento.
|
9
|
ING-INF/05
|
90
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
Secondo semestre
|
Insegnamento
|
CFU
|
SSD
|
Ore Lezione
|
Ore Eserc.
|
Ore Lab
|
Ore Studio
|
Attività
|
Lingua
|
|
8039698 -
SISTEMI E ARCHITETTURE PER BIG DATA
(obiettivi)
OBIETTIVI FORMATIVI: L'insegnamento si propone di fornire i principi, illustrare le moderne soluzioni tecniche e metodologiche per la progettazione e gestione di sistemi, architetture, ed applicazioni distribuite inerenti i Big Data, ovvero collezioni di dati destrutturati le cui dimensioni superano le capacità di memorizzazione, gestione e analisi tipiche dei tradizionali sistemi per la gestione e l'analisi di dati. Il corso affronta le diverse problematiche per l'acquisizione, la memorizzazione ed il processamento di Big Data, illustrando le relative soluzioni software, anche in modo comparativo. Durante il corso verranno coniugati aspetti metodologici e tecnologici mediante attività di laboratorio, volte ad affrontare lo sviluppo dei due progetti proposti durante il corso.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà acquisito concetti avanzati sulle architetture e sui sistemi distribuiti per l'analisi di Big Data e sullo sviluppo di applicazioni software in tale ambito. In particolare: realizzazione di applicazioni distribuite di batch processing e data stream processing, gestione di sistemi avanzati per l'acquisizione, la memorizzazione ed il processamento di Big Data anche in ambito Cloud (servizi Cloud di AWS, per i quali viene messo a disposizione degli studenti un grant gratuito tramite il programma AWS Academy).
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito le conoscenze metodologiche e le capacità operative proprie dell'analisi, progettazione e realizzazione di sistemi ed applicazioni distribuite per Big Data. In particolare: progettare e sviluppare applicazioni di batch processing e di data stream processing e valutarne le prestazioni, usando i framework open source più diffusi per l'acquisizione, il processamento e la memorizzazione di Big Data ed i moderni strumenti per il deployment di sistemi ed applicazioni distribuiti (in particolare, tramite container e loro orchestrazione).
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente sarà in grado di identificare le soluzioni più idonee per realizzare sistemi ed applicazioni distribuite per l'analisi di Big Data e di valutare in modo critico le scelte architetturali, implementative e le prestazioni di sistemi ed applicazioni esistenti.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia avanzata relativa ai sistemi ed applicazioni per Big Data, sarà in grado di presentare l'architettura di una pipeline completa per l'analisi Big Data usando termini e linguaggio tecnico appropriato e di argomentare circa le varie alternative sia a livello sistemistico che applicativo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di intraprendere in autonomia ulteriori approfondimenti su argomenti attinenti i sistemi e le architetture per Big Data, e di utilizzare le conoscenze e metodologie imparate per affrontare problemi nuovi.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
Gruppo opzionale:
gruppo OPZIONALE materie affini 6 cfu x "data science" - (visualizza)
|
6
|
|
|
|
|
|
|
|
|
8039696 -
PROCESSI STOCASTICI ED ANALISI DI SERIE TEMPORALI
|
Erogato in altro semestre o anno
|
|
8039759 -
METODI PROBABILISTICI E STATISTICI PER I MERCATI FINANZIARI
(obiettivi)
OBIETTIVI FORMATIVI: Obiettivo del corso è fornire strumenti di statistica dei processi stocastici per l'elaborazione di modelli e l'analisi di dati dei mercati finanziari, nonché presentare applicazioni significative con riferimento a dati reali. Un'attenzione particolare sarà rivolta ad agevolare lo sviluppo della capacità di risoluzione dei problemi da parte degli studenti.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Sarà posta la massima enfasi a incoraggiare un apprendimento consapevole delle tecniche e dei modelli presentati durante il corso e a scoraggiare tentativi d'apprendimento puramente imitativi e mnemonici.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Come risultato del corso gli studenti dovranno essere in grado di affrontare e risolvere problemi non banali nell'ambito della modellistica finanziaria, con particolare riferimento ai modelli di Markovitz, di Cox, Ross, Rubinstein, di Black & Scholes, nonchè di analizzare serie storiche di dati economico-finanziari, con particolare riferimento ai modelli ARIMA e GARCH.
AUTONOMIA DI GIUDIZIO: Gli studenti verranno incoraggiati a sfruttare tutta la flessibilità del modelli stocastico-statistici per esplorare strade individuali, ancorché praticabili, alla risoluzione dei problemi. L'originalità delle soluzioni proposte sarà particolarmente premiata.
ABILITÀ COMUNICATIVE: L'abilità comunicativa verrà incoraggiata sia mediante un assiduo coinvolgimento degli studenti nelle attività didattiche di verifica dell'apprendimento, sia attribuendo un peso significativo alla chiarezza espositiva nella valutazione delle prove finali d'esame.
CAPACITÀ DI APPRENDIMENTO: Per incoraggiare lo sviluppo della capacità d'apprendimento si cercherà di stimolare la familiarità con l'argomentazione logico-matematica mediante la partecipazione degli studenti alla presentazione dei ragionamenti probabilistico-statistici che conducono ai principali risultati esposti.
|
6
|
SECS-S/02
|
60
|
-
|
-
|
-
|
Attività formative affini ed integrative
|
ITA |
|
|
- -
A SCELTA DELLO STUDENTE
|
12
|
|
120
|
-
|
-
|
-
|
Attività formative a scelta dello studente (art.10, comma 5, lettera a)
|
ITA |
|
8039326 -
ALTRE ATTIVITA' FORMATIVE (TIROCINIO, STAGE, LABORATORIO, SEMINARIO)
|
6
|
|
-
|
-
|
-
|
-
|
Ulteriori attività formative (art.10, comma 5, lettera d)
|
ITA |
|
8039171 -
PROVA FINALE
|
18
|
|
-
|
-
|
-
|
-
|
Per la prova finale e la lingua straniera (art.10, comma 5, lettera c)
|
ITA |
Gruppo opzionale:
Gruppo OPZIONALE materie caratterizzanti 18 cfu x "data science" - (visualizza)
|
18
|
|
|
|
|
|
|
|
|
8039933 -
COMPUTER AND NETWORK SECURITY
|
Erogato in altro semestre o anno
|
|
8039963 -
SISTEMI OPERATIVI AVANZATI E SICUREZZA DEI SISTEMI
|
Erogato in altro semestre o anno
|
|
8037401 -
SISTEMI EMBEDDED E REAL TIME
|
Erogato in altro semestre o anno
|
|
8039966 -
SISTEMI DI CALCOLO PARALLELO E APPLICAZIONI
|
Erogato in altro semestre o anno
|
|
8039137 -
MOBILE SYSTEMS AND APPLICATIONS
(obiettivi)
OBIETTIVI FORMATIVI: Acquisire conoscenze e competenze su soluzioni architetturali e problemi aperti relativi alla progettazione e realizzazione di sistemi informatici mobili, con riferimento a tutti i livelli della pila protocollare di un sistema distribuito. Con riferimento alle linee guida riportate nel documento: “ACM/IEEE-CS- Computer Science Curricula 2013)” (www.acm.org/education/CS2013-final-report.pdf), il corso contribuisce a coprire le seguenti aree e relativi obiettivi: - NC (Networking and communications): Principi di reti cellulari; Reti 802.11; Problematiche relative al supporto di nodi mobili (home agents); - SE (Software design): Design patterns; Principi concettuali e standard per architetture software; Uso di componenti nella progettazione: selezione di componenti, progetto, adattamenti e assemblaggio.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Al termine del corso lo studente avrà appreso alcuni concetti fondamentali nella progettazione e realizzazione di sistemi pervasivi/mobili, riguardanti in particolare: a) gestione della mobilità dei dispositivi (comunicazioni wireless e raggiungibilità); b) strategie e tattiche architetturali per la realizzazione di applicazioni software in grado di operare efficacemente e efficientemente in ambienti caratterizzati da elevati gradi di variabilità (risorse disponibili, domanda di servizio, etc.).
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Al termine del corso lo studente avrà acquisito la capacità di: identificare e classificare gli aspetti salienti di possibili soluzioni architetturali per la gestione della mobilità dei dispositivi; seguire un processo decisionale per valutare le strategie e tattiche più efficaci da applicare nella progettazione di una applicazione software per ambienti pervasivi/mobili.
AUTONOMIA DI GIUDIZIO:
Al termine del corso lo studente sarà in grado di: a) inquadrare in modo critico e confrontare con soluzioni già esistenti possibili soluzioni architetturali per la gestione della mobilità dei dispositivi; b) valutare l'efficacia ed efficienza di scelte architetturali nella realizzazione di applicazioni software per ambienti pervasivi/mobili.
ABILITÀ COMUNICATIVE: Al termine del corso lo studente avrà acquisito padronanza della terminologia relativa a sistemi pervasivi/mobili, sia riguardo le infrastrutture di rete che le architetture software adottate, sarà in grado di descrivere i concetti fondamentali di questi sistemi con termini e linguaggio tecnico appropriato e, in fase progettuale, di argomentare circa le varie alternative architetturali e protocollari a livello sia infrastrutturale che applicativo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito adeguate "griglie concettuali" che consentiranno di intraprendere in autonomia e con consapevolezza critica ulteriori approfondimenti su argomenti attinenti sistemi pervasivi e mobili, e di collocare nella giusta prospettiva successivi avanzamenti dello stato dell'arte che emergeranno nella letteratura e pratica più avanzata.
|
6
|
ING-INF/05
|
60
|
-
|
-
|
-
|
Attività formative caratterizzanti
|
ITA |
|
8039964 -
ANALISI DEL MALWARE
|
Erogato in altro semestre o anno
|
|
8039965 -
COSTRUZIONE DEL SOFTWARE
|
Erogato in altro semestre o anno
|
|
8067437 -
NATURAL LANGUAGE PROCESSING
|
Erogato in altro semestre o anno
|
|
Insegnamenti extracurriculari:
(nascondi)
|
|
|
|
8039516 -
MANAGEMENT DELL'INNOVAZIONE E ENTREPRENEURSHIP
|
Erogato in altro semestre o anno
|
|
8037405 -
TEORIA ELEMENTARE DEI NUMERI
(obiettivi)
OBIETTIVI FORMATIVI: Il corso intende fornire allo studente le nozioni matematiche necessarie a comprendere il funzionamento e a stimare la complessita' di vari algoritmi per la fattorizzazione di numeri interi o per la risoluzione del logaritmo discreto. Alla fine del corso, lo studente avra' ampliato le sue conoscenze di Teoria dei Numeri rilevanti per la crittografia e altre applicazioni.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Lo studente dovrà conoscere le principali nozioni relative a strutture insiemistiche, aritmetiche e reticolari, in particolare illustrandole con opportuni esempi e controesempi. Dovrà capire le relazioni gerarchiche tra diversi livelli di astrazione/generalizzazione di nozioni fondamentali che vengono via via perfezionate in nozioni più complesse. Inoltre, lo studente non potrà limitarsi a apprendere meccanicamente procedure più o meno algoritmiche per la risoluzione di problemi, ma dovrà effettivamente capire perché tali procedure funzionano, avendo chiaro in particolare quali siano le idee alla base di tali procedure.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Lo studente dovrà essere in grado di risolvere problemi ed esercizi relativi agli argomenti trattati nel corso; esempi di tali problemi ed esercizi saranno svolti durante il corso stesso. Sarà fornito vario materiale adeguato per la preparazione in tal senso, comprensivo di dettagliate indicazioni bibliografiche.
AUTONOMIA DI GIUDIZIO: Lo studente dovrà essere in grado di riconoscere autonomamente quando un problema matematico si possa inquadrare nell'ambito di una o l'altra delle teorie studiate nel corso. Più in dettaglio, in relazione a problemi specifici dovrà essere in grado di capire quali tecniche possano essere utilizzate, e quali risultati già noti applicati, per risolvere la questione affrontata.
ABILITÀ COMUNICATIVE: Lo studente dovrà essere in grado di spiegare compiutamente gli argomenti trattati, sia in forma orale che in forma scritta che in modalità mista (orale con ausilio di formule e/o calcoli e/o immagini scritte).
CAPACITÀ DI APPRENDIMENTO: Lo studente dovrà capire le nozioni studiate e le idee che ne sono alla base, e i risultati relativi, con le dimostrazioni che ne sono a supporto; inoltre, è fondamentale che conosca anche esempi e controesempi che illustrino tali nozioni e risultati.
|
6
|
MAT/03
|
60
|
-
|
-
|
-
|
|
ITA |
|
8039570 -
SATELLITE EARTH OBSERVATION
|
Erogato in altro semestre o anno
|
|
80300059 -
FILOSOFIA DELLA TECNICA: FONDAMENTI E IMPLICAZIONI SOCIALI
(obiettivi)
OBIETTIVI FORMATIVI: Il programma intende offrire una conoscenza storico-filosofica, ripercorrendo le voci più significative (classiche e contemporanee) del dibattito etico-tecnologico, e fornire i concetti e i criteri necessari a costruire un pensiero critico sui problemi e sui cambiamenti attuali sollevati dalle innovazioni tecnologiche.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: L’approccio filosofico proposto è volto a consentire una visione d’insieme dei problemi in gioco, per ripensare e articolare il rapporto tra sviluppo tecnologico e fattori umani, esistenziali.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Conoscenza delle categorie concettuali e filosofiche fondamentali per la comprensione degli elementi cruciali della discussione umanistica sull’informatica, sulla tecnologia, sulle Intelligenze Artificiali nelle loro caratteristiche teoriche e applicative.
AUTONOMIA DI GIUDIZIO: Capacità di formulare giudizi autonomi e criticamente fondati riguardo alle questioni della tradizione filosofica sulla tecnica e a quelle del dibattito contemporaneo
ABILITÀ COMUNICATIVE: Capacità di comunicare con chiarezza e criticità i problemi teorici e concettuali
|
6
|
M-FIL/03
|
60
|
-
|
-
|
-
|
|
ITA |
Insegnamenti extracurriculari:
(nascondi)
|
|
|
|
8039516 -
MANAGEMENT DELL'INNOVAZIONE E ENTREPRENEURSHIP
(obiettivi)
OBIETTIVI FORMATIVI: In questo corso non si studia semplicemente l’'imprenditorialità ma s’ impara a diventare imprenditori (di successo).
CONOSCENZA E COMPRENSIONE: Il corso si propone di fornire agli studenti i fondamenti del management per lanciare e portare al successo start-up a base tecnologica, e sviluppare in loro: a) la capacità d'individuare e gestire le determinanti del processo innovativo; b) la capacità di analizzare le implicazioni dell'innovazione tecnologica sulla struttura industriale e sulle dimensioni competitive dell'azienda; e c) l'abilità di formulare strategie competitive di successo.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Il metodo di insegnamento e di apprendimento da parte dello studente è di tipo integrato. Lo studio sarà quindi teorico-applicativo-pratico. Le lezioni prevedono letture di testi ed articoli scientifici, per fornire agli studenti il supporto cognitivo necessario all'analisi degli studi di caso che, coerenti con gli argomenti trattati, permetteranno ai partecipanti di applicare le teorie in situazioni reali. La componente pratica verrà attuata attraverso un esercizio di simulazione, in cui gli studenti, suddivisi in gruppi, si cimenteranno in prima persona nella soluzione di un caso reale. L'approccio didattico pone particolare enfasi sull'azione e l'attuazione, non solo sull'analisi, proponendosi lo sviluppo delle relative capacità negli studenti. L'ampliamento delle conoscenze, in termini di teorie, concetti, tecniche e strumenti, non deve essere visto come un fine in sé, bensì come funzionale all'applicazione pratica. Il lavoro di gruppo è ritenuto vitale sia per le sinergie indotte nel processo di apprendimento, sia per lo sviluppo di capacità relazionali a livello manageriale. Il tipo di didattica prescelto prevede l'attiva partecipazione dello studente alla discussione degli argomenti proposti, in tutte le forme in cui saranno presentati, ossia articoli, studi di caso ed esercizi di simulazione. Ciò implica che lo studente avrà letto, analizzato ed interiorizzato il materiale didattico assegnato per ciascuna lezione prima della stessa e sarà pronto a contribuire su ogni punto della discussione on line. Un'attenzione particolare dovrà essere rivolta alla preparazione degli studi di caso.
AUTONOMIA DI GIUDIZIO: Al termine del corso lo studente dovrebbe essere in grado di prendere decisioni gestionali sulla base di analisi strategiche appropriate.
ABILITÀ COMUNICATIVE: L'approccio didattico, di tipo maieutico, è finalizzato tra l'altro a sviluppare negli studenti abilità di comunicazione, ulteriormente indotte da presentazioni in aula di studi e progetti di gruppo.
CAPACITÀ DI APPRENDIMENTO: Al termine del corso lo studente avrà acquisito la capacità di comprendere i fenomeni che sono alla base dell'innovazione tecnologica e di gestirli in una prospettiva strategica, apprendendo attraverso il fare.
|
6
|
ING-IND/35
|
60
|
-
|
-
|
-
|
|
ITA |
|
8037405 -
TEORIA ELEMENTARE DEI NUMERI
|
Erogato in altro semestre o anno
|
|
8039570 -
SATELLITE EARTH OBSERVATION
|
Erogato in altro semestre o anno
|
|
80300059 -
FILOSOFIA DELLA TECNICA: FONDAMENTI E IMPLICAZIONI SOCIALI
(obiettivi)
OBIETTIVI FORMATIVI: Il programma intende offrire una conoscenza storico-filosofica, ripercorrendo le voci più significative (classiche e contemporanee) del dibattito etico-tecnologico, e fornire i concetti e i criteri necessari a costruire un pensiero critico sui problemi e sui cambiamenti attuali sollevati dalle innovazioni tecnologiche.
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: L’approccio filosofico proposto è volto a consentire una visione d’insieme dei problemi in gioco, per ripensare e articolare il rapporto tra sviluppo tecnologico e fattori umani, esistenziali.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Conoscenza delle categorie concettuali e filosofiche fondamentali per la comprensione degli elementi cruciali della discussione umanistica sull’informatica, sulla tecnologia, sulle Intelligenze Artificiali nelle loro caratteristiche teoriche e applicative.
AUTONOMIA DI GIUDIZIO: Capacità di formulare giudizi autonomi e criticamente fondati riguardo alle questioni della tradizione filosofica sulla tecnica e a quelle del dibattito contemporaneo
ABILITÀ COMUNICATIVE: Capacità di comunicare con chiarezza e criticità i problemi teorici e concettuali
|
6
|
M-FIL/03
|
60
|
-
|
-
|
-
|
|
ITA |
Insegnamenti extracurriculari:
(nascondi)
|
|
|
|
8039516 -
MANAGEMENT DELL'INNOVAZIONE E ENTREPRENEURSHIP
|
Erogato in altro semestre o anno
|
|
8037405 -
TEORIA ELEMENTARE DEI NUMERI
|
Erogato in altro semestre o anno
|
|
8039570 -
SATELLITE EARTH OBSERVATION
(obiettivi)
OBIETTIVI FORMATIVI: Conoscenza e individuazione delle orbite satellitari per il monitoraggio terrestre. Conoscenza dei requisiti e dei parametri operativi degli strumenti dedicati all'Osservazione della Terra a distanza nelle diverse bande dello spettro elettromagnetico. Conoscenza dei principi fisici alla base del telerilevamento. Conoscenza delle procedure di elaborazione dei dati telerilevati multitemporali e multispettrali. Conoscenza dei metodi che consentono di raggiungere i due principali obiettivi del telerilevamento: classificazione e inversione
CONOSCENZA E CAPACITÀ DI COMPRENSIONE: Il corso mira a fornire gli strumenti per conoscere e comprendere le tecnologie e le metodologie di Osservazione della Terra nei più importanti e consolidati campi applicativi.
CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE: Lo studente acquisirà le conoscenze e le metodologie per analizzare e risolvere problemi tipici dell'Osservazione della Terra, dallo studio di missione all'utilizzo e applicazione di metodi matematici
AUTONOMIA DI GIUDIZIO: Lo studente sarà in grado di scegliere criticamente le tecniche di telerilevamento più idonee per il monitoraggio delle variabili geo-fisiche di interesse
ABILITÀ COMUNICATIVE: Lo studente acquisirà capacità di comunicazione delle tematiche di Osservazione della Terra dimostrando una conoscenza delle teorie fisiche e delle applicazioni sperimentali, e adoperando la terminologia più specifica
CAPACITÀ DI APPRENDIMENTO: Lo studente avrà appreso le procedure di utilizzo e elaborazione di dati ottici e a microonde; questo gli consentirà di affrontare in autonomia le problematiche relative all'Osservazione della Terra mediante le tecniche più avanzate.
|
9
|
ING-INF/02
|
90
|
-
|
-
|
-
|
|
ENG |
|
80300059 -
FILOSOFIA DELLA TECNICA: FONDAMENTI E IMPLICAZIONI SOCIALI
|
Erogato in altro semestre o anno
|