10596281 | AUTONOMOUS NETWORKING | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obbiettivi generali: Il corso fornirà agli studenti la capacità di affrontare le problematiche legate alla progettazione, implementazione e utilizzo dei sistemi di reti autonomi. Il corso presenterà sia le basi teoriche che gli aspetti pratici che è necessario conoscere per sviluppare questi sistemi.
Obiettivi specifici: La combinazione di molti dispositivi collegati eterogenei, inclusi dispositivi in rapido movimento e capacità di comunicazione avanzate che consentono interazioni in tempo reale sta portando alla creazione di sistemi su una scala e / o un livello di complessità che va oltre la capacità degli umani di comprendere e controllare pienamente . La gestione e il funzionamento di questi sistemi di rete richiedono un livello estremamente elevato di automazione intelligente. Scopo di questo corso è fornire conoscenze sulle principali tecnologie legate alla rete la cui interazione sarà responsabile per rendere autonomi i sistemi di rete. Queste tecnologie, basate principalmente sull'apprendimento di rinforzo (RL), consentono ai sistemi di reagire a ciò che sta accadendo nel loro ambiente e di rispondere di conseguenza.
Conoscenza e comprensione: Alla fine del corso gli studenti avranno conoscenze sulle tecnologie - sistemi di comunicazione in rete wireless come reti IoT, reti di backscattering e reti aeree - e metodologie - apprendimento di rinforzo - per progettare reti autonome. In particolare, il corso si concentrerà su problemi di comunicazione e networking di reti autonome e possibili soluzioni.
Applicare conoscenza e comprensione: Alla fine del corso gli studenti conosceranno le tecnologie e le metodologie per progettare reti autonome. In particolare, il corso si concentrerà su problemi di comunicazione e networking nelle reti autonome e possibili soluzioni.
Capacità critiche e di giudizio: Gli studenti svilupperanno le capacità di analisi necessarie per valutare diverse scelte progettuali alternative selezionando la migliore per ogni specifico scenario applicativo e tipo di tecnologia.
Capacità comunicative: Gli studenti impareranno ad analizzare e presentare articoli scientifici, idee di ricerca o soluzioni tecniche di settore, descrivendole in modo sintetico ed accurato, con un linguaggio tecnico adeguato.
|
1041764 | BIG DATA COMPUTING | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
Il corso si propone di introdurre le principali tecniche algoritmiche e di programmazione nell’analisi di big data, affrontando una varietà di problemi di data mining in modelli di calcolo adatti alla gestione di grandi quantità di dati.
Obiettivi specifici
Capacità di analisi, modellazione, e risoluzione di problemi tipici dell'area "Big Data" attraverso l'implementazione di "pipeline" di machine learning su ambienti distribuiti tramite PySpark.
Conoscenza e comprensione:
Al termine del corso gli studenti avranno una comprensione dettagliata dei modelli di programmazione per l'analisi di dati distribuiti su cluster di computer, nonché di modelli computazionali avanzati per l'elaborazione di enormi quantità di dati (ad esempio, streaming di dati, parallelismo in stile MapReduce e algoritmi efficienti in memoria secondaria).
Applicare conoscenza e comprensione:
gli studenti saranno in grado di progettare e analizzare algoritmi per l’analisi di big data in diversi scenari, sapranno scrivere codice efficiente e scalabile tenendo conto delle caratteristiche architetturali delle moderne piattaforme di calcolo (inclusi i sistemi distribuiti), e sapranno lavorare sfruttando una varietà di sistemi software adatti al processamento di big data (tra cui Hadoop).
Capacità critiche e di giudizio:
gli studenti saranno in grado di capire i paradigmi di calcolo più adatti in scenari differenti, valutando vantaggi e svantaggi di ciascun modello computazionale e affrontando le sfide che si presentano nella progettazione e implementazione di una varietà di applicazioni.
Capacità di comuniczione:
gli studenti saranno in grado di comunicare in modo efficace, riassumendo in modo chiaro le idee principali nella progettazione di sistemi e algoritmi per l’analisi di big data e presentando informazioni tecniche accurate.
Capacità di apprendimento successivo:
obiettivo del corso è quello di toccare una varietà di tecniche il più possibile ampia, introducendo pratiche standard e argomenti di ricerca all'avanguardia in questo settore e consentendo quindi agli studenti di estendere le conoscenze acquisite in modo indipendente, anche in base all’evoluzione tecnologica.
|
1041792 | BIOMETRIC SYSTEMS | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Essere in grado di progettare e valutare un sistema biometrico o multibiometrico
Obiettivi specifici:
Conoscere le caratteristiche e le tecniche fondamentali relative alle biometrie fisiche come volto, impronte, iride, ecc., e comportamentali come camminata, firma (caratteristiche dinamiche), stile di battitura, ecc. Conoscere le caratteristiche dell’architettura di un sistema biometrico: sistemi unimodali e multimodali. Essere in grado di valutare le prestazioni di un sistema biometrico in base alla modalità adottata: verifica, identificazione. Essere in grado di valutare/garantire la robustezza di un sistema biometrico rispetto ad attacchi di spoofing (furto di identità).
Conoscenza e comprensione:
Fondamenti teorici della progettazione di un sistema biometrico e delle tecniche di estrazione/confronto delle caratteristiche specifiche per i principali tratti biometrici.
Applicare conoscenza e comprensione:
Essere in grado di progettare ed implementare una applicazione di riconoscimento biometrico per almeno uno tratto biometrico.
Capacità critiche e di giudizio:
Essere in grado di valutare le prestazioni e la robustezza agli attacchi di un sistema biometrico. Essere in grado di trasferire tecniche e protocolli in contesti diversi.
Capacità comunicative:
Essere in grado di comunicare/condividere i requisiti di un sistema biometrico, le modalità operative più adatte ad una certa applicazione, e le misure di performance del sistema
Capacità di apprendimento:
Essere in grado di approfondire autonomamente gli argomenti presentati nel corso, relativamente a tecniche e metodi specifici/complessi o a tratti biometrici non presenti tra gli argomenti.
|
1047617 | COMPUTER NETWORK PERFORMANCE | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Lo scopo del corso è lo studio di metodi per stimare le prestazioni dei sistemi di rete esistenti e dimensionare nuovi sistemi ad alte prestazioni.
Obiettivi specifici:
Analisi di processi stocastici discreti e continui, reti di code, metodi di misurazione delle reti tramite network tomography, analisi delle prestazioni di sistemi wired e wireless.
Conoscenza e comprensione:
Il corso permettera` di sviluppare la capacita` di caratterizzare i problemi prestazionali nelle reti di calcolatori e individuare le criticita` di questi sistemi.
Applicare conoscenza e comprensione:
Attraverso il corso lo studente imparera` a riconoscere i problemi prestazionali e a progettare le relative soluzioni, attraverso la modellazione analitica e la soluzione di relativi problemi di ottimizzazione.
Capacità critiche e di giudizio:
Il corso mettera` lo studente in condizione di saper scegliere, dato un problema, la migliore strategia risolutiva, fermo restando la comprensione di vincoli esistenti in termini di dimensionamento e costi delle soluzioni possibili.
Capacità comunicative:
Lo studente sara` in grado di motivare le proprie scelte nella proposta di uno specifico approccio risolutivo di un problema relativo alle prestazioni di una rete di calcolatori, e fornire una analisi comparativa dell’approccio scelto con altri approcci possibili.
Capacità di apprendimento:
Lo studente sviluppera` capacita` di studio autonome e di comprensione e valutazione critica di nuove metodologie, tecnologie e modelli di sviluppo per sistemi di rete ad alte prestazioni.
|
1047622 | CRYPTOGRAPHY | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi Generali:
Lo scopo del corso è quello di tramandare i fondamenti della crittografia, che è la componente principale per la sicurezza nelle applicazioni digitali odierne.
Obiettivi Specifici:
Gli studenti impareranno la metodologia della sicurezza dimostrabile, che permette di dimostrare la sicurezza dei moderni crittosistemi in senso matematico.
Conoscenza e Comprensione:
-) Conoscenza dei fondamenti matematici della crittografia moderna.
-) Conoscenza delle principali assunzioni crittografiche, su cui si basa la sicurezza dei moderni crittosistemi.
-) Conoscenza degli schemi crittografici usati nella vita reale. Comprensione delle loro proprietà (teoriche e pratiche).
Applicare Conoscenza e Comprensione:
-) Come selezionare la giusta primitiva crittografica per una data applicazione.
-) Come analizzare la sicurezza di un dato crittosistema.
Capacità critiche e di giudizio:
Gli studenti saranno in grado di giudicare se una data primitiva crittografica è sicura oppure no.
Capacità Comunicative:
Come descrivere la sicurezza di una costruzione crittografica nel linguaggio della sicurezza dimostrabile.
Capacità di Apprendimento Successivo:
Gli studenti interessati alla ricerca verranno a conoscenza di alcuni problemi aperti nell'area, ed otterranno le basi necessarie per studi più approfonditi in materia.
|
1047624 | DISTRIBUTED SYSTEMS | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
Il corso ha come obiettivo di illustrare i concetti fondamentali dei sistemi distribuiti e la loro implementazione nei sistemi reali a larga scala moderni.
Obiettivi specifici
Gli studenti si familiarizzeranno con tecniche di analisi, progetto e monitoraggio di sistemi distribuiti
Conoscenza e comprensione
Al termine del corso gli studenti avranno acquisito conoscenze avanzate relative al monitoraggio delle computazioni distribuite, fault tollerance e failure detectors, consistenza e consenso, orologi logici e vector clocks per i sistemi asincroni,
Applicare conoscenza e comprension
Al termine del corso gli studenti saranno in grado di applicare le conoscenze acquisite all'analisi di sistemi reali come ad esempio Chord e Amazon.
Capacità critiche e di giudizio
Lo studente otterrà la capacità di analisi e valutazione della correttezza e dell’efficienza delle computazione distribuite, di comprendere le loro caratteristiche principali e di valutare in maniera critica pregi e difetti.
Capacità comunicative
Lo studente acquisirà la capacità di esporre in modo chiaro ed organizzato le proprie conoscenze, capacità che verrà verificata durante la prova orale.
Capacità di apprendimento successivo
Le conoscenze acquisite permetteranno allo studente di affrontare lo studio di ulteriori ma più specifici protocolli di tipo distribuito in modo approfondito e completo, e di essere in grado di progettare soluzioni di system design a partire da quelle dei sistemi reali affrontati in classe.
|
1047627 | FOUNDATIONS OF DATA SCIENCE | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Acquisire i fondamenti della scienza dai dati e dell'apprendimento automatico.
Obiettivi specifici:
Rendere gli studenti consapevoli degli strumenti teorici e pratici della scienza dei dati e dell'apprendimento automatico, nonché dei loro limiti intrinseci; rendere gli studenti in grado di affrontare problemi reali attraverso gli strumenti più appropriati.
Conoscenza e comprensione:
Il corso fornisce le nozioni, tecniche e metodologie di base utilizzate nell'ambito della scienza dei dati e dell'apprendimento automatico. Fornisce inoltre i rudimenti di programmazione necessari ad applicare la teoria a casi reali
Applicare conoscenza e comprensione:
Alla fine del corso, gli studenti sapranno affrontare problemi concreti di scienza dei dati, dalla loro formalizzazione sino alla manipolazione dei dati attraverso appropriati strumenti software.
Capacità critiche e di giudizio:
Gli studenti saranno in grado di scegliere le tecniche da applicare al caso specifico e di valutarne le prestazioni.
Capacità comunicative:
Gli studenti saranno in grado di rappresentare e comunicare l'informazione estratta dai dati, attraverso l'uso razionale di grafici e indicatori.
Capacità di apprendimento:
Gli studenti saranno messi in grado di apprendere autonomamente nozioni sia teoriche che pratiche del campo.
|
1047638 | MODELS OF COMPUTATION | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
L'insegnamento è indirizzato all'acquisizione delle conoscenze matematiche relative ad aspetti fondamentali dei linguaggi di programmazione funzionale e imperativa con particolare attenzione ai meccanismi di esecuzione dei programmi.
Obiettivi specifici
Conoscenza e comprensione:
Alla fine del corso lo studente avrà piena comprensione degli strumenti matematici proposti.
Capacità di applicare conoscenza e comprensione:
Lo studente sarà in grado di approfondire lo studio consultando autonomamente manuali o pubblicazioni scientifiche.
Capacità critiche e di giudizio:
Le conoscenze acquisite permetteranno allo studente di individuare e confrontare in altri ambiti gli argomenti proposti nell'uso di linguaggi di programmazione, in particolare nell'ambito lavorativo.
Capacità di comunicare quanto si è appreso:
Lo studente viene stimolato ad esporre e comunicare le proprie esperienze ai suoi colleghi.
Capacità di proseguire lo studio in modo autonomo nel corso della vita:
Il corso tratta aspetti fondamentali della programmazione, assicurando allo studente la possibilità di individuarli autonomamente nell'uso di ogni particolare linguaggio.
|
1047642 | SECURITY IN SOFTWARE APPLICATIONS | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
I fondamenti della sicurezza nei programmi software
Obiettivi specifici
Metodologie e strumenti per trovare e rimuovere le vulnerabilità più comuni del software e per sviluppare software senza falle di sicurezza
Conoscenza e comprensione
conoscenza e capacità di comprensione delle tecniche più efficaci per la rimozione di vulnerabilità dal codice e per sviluppare software che soddisfi specifiche politiche di sicurezza.
Applicare conoscenza e comprensione
Essere in grado di applicare e trasferire la propria conoscenza delle metodologie alla scelta delle tecniche e strumenti appropriati risolvere problemi di sicurezza del software
Autonomia di giudizio
Capacità d’interpretazione autonoma per proporre soluzioni appropriate a problemi di sicurezza software congruenti con le tecnologie disponibili.
Abilità comunicative
Capacità di presentare e di argomentare le proprie scelte in merito alle metodologie ed agli strumenti utilizzati per le soluzioni proposte, sia con colleghi che con utenti
Capacità di apprendimento successivo
Capacità di apprendere e approfondire nuove tecniche nell’ambito della sicurezza software informatica sia degli aspetti metodologici sia di quelli tecnologici
|
10589621 | ADVANCED MACHINE LEARNING | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Questo corso introduce gli studenti a metodi avanzati e ai più recenti approcci di machine learning, basati su modelli di deep neural network (DNN), e alle loro applicazioni in computer vision. Il corso include teoria, programmazione e la realizzazione pratica di un progetto finale. Sia per la parte di programmazione che per il progetto finale, gli studenti lavoreranno in gruppi e presenteranno le loro idee e i risultati del progetto alla classe.
Obiettivi specifici:
La prima parte del corso include l’analisi di modelli DNN stato dell’arte per classificazione e regressione, applicate a detection (dove gli oggetti siano in un’immagine), pose estimation (se una persona sia in piedi, seduta o coricata) e re-identification (la stima di un vettore che rappresenti ogni persona in modo univoco). Il corso discute inoltre DNN per la realizzazione di obiettivi multi-task, ovvero per la stima congiunta di detection, re-identification, segmentation, depth estimation, etc. Questa prima parte include DNN che siano applicabili a video sequenze, grazie all’uso di memoria (e.g. LSTM) o attenzione (e.g. Transformers).
La seconda parte del corso approfondisce i modelli, le tecniche di apprendimento e di manipolazione di dati per la generalizzazione, per domain adaptation e meta-learning. Oltre a transfer learning (come un modello precedentemente imparato sia applicabile a altri compiti), si affronta la multi-modalità (l’uso di sensori di diversa natura come video camere di distanza o termiche) e l’auto-supervisione (e.g. imparare un modello DNN attraverso la risoluzione di puzzles) per l’auto-annotazione di grandi quantità di dati. Infine, si presenta domain adaptation (e.g. come applicare algoritmi di detection imparati con immagini diurne anche di notte) e meta-learning, uno dei più recenti temi di machine learning che mostra come imparare ad imparare un compito, e.g. in modalità di apprendimento online o imparando anche da pochi dati disponibili.
Conoscenza e comprensione:
Al termine del corso gli studenti avranno familiarità con modelli DNN stato dell’arte che realizzino singole o molteplici funzioni, e con la generalizzazione di queste funzioni e l’uso effettivo di dati etichettati o non etichettati per l’apprendimento di macchine, il loro auto-apprendimento e il meta-learning.
Applicare conoscenza e comprensione:
Al termine del corso gli studenti avranno acquisito familiarità con il progresso più recente in machine learning per lo svolgimento di vari compiti, l’adattamento di questi a nuovi domini ed il continuo auto-apprendimento di algoritmi e macchine. Sapranno spiegare gli algoritmi e scegliere le tecniche più appropriate per uno specifico problema. Saranno in grado di valutare implementazioni esistenti e di ideare e scrivere programmi per nuove soluzioni for specifiche funzioni o problemi nei due campi.
Capacità critiche e di giudizio
Lo studente sarà in grado di analizzare un problema o una funzione e identificare le metodologie e tecniche da applicare più appropriate, sia dal punto di vista dell’effettiva risoluzione del problema (accuracy) che da quello della fattibilità, da un punto di vista di efficienza, della quantità di dati richiesta e delle loro annotazioni. Oltre che delle lezioni, la capacità critica e di giudizio sarà il risultato di assignments che testeranno programmazione e analisi e di un progetto finale, inclusivo di relazione scritta.
Capacità comunicative
Lo studente acquisirà la capacità di esporre in modo chiaro ed organizzato le proprie conoscenze, capacità che verrà verificata sia mediante un progetto finale che nella sua presentazione orale. Lo studente sarà in grado di esprimere un’idea algoritmica in modo rigoroso ad alto livello, in pseudocodice, e di spiegare la struttura del codice scritto per questa.
Capacità di apprendimento successivo
Le conoscenze acquisite permetteranno allo studente di affrontare lo studio di altri problemi in machine learning and computer vision. La capacità di apprendimento successivo sarà il risultato degli argomenti illustrati a lezione, che offriranno una vasta panoramica in advanced machine learning, e del loro progetto finale, per il quale gli studenti sceglieranno uno specifico argomento da approfondire, oltre quanto impartito a lezione.
|
10600490 | BLOCKCHAIN AND DISTRIBUTED LEDGER TECHNOLOGIES | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Le blockchain costituiscono un paradigma nuovo e rivoluzionario per la gestione distribuita dei sistemi transazionali. Una blockchain è un protocollo per la gestione di ledger distribuiti, ossia per la memorizzazione decentralizzata di una sequenza di transazioni (ledger) a prova di manomissione, mantenuta e verificata dai nodi che partecipano alla rete. Una combinazione di reti peer-to-peer, consenso automatico, crittografia e meccanismi di mercato è al centro delle blockchain, che garantiscono così l'integrità e la trasparenza dei dati. Un numero crescente di piattaforme blockchain fornisce il supporto per i cosiddetti smart contract, ossia codice eseguibile che esprime come condurre attività di business tra le parti contraenti (ad esempio, trasferire beni digitali se una condizione è soddisfatta). La progettazione di un'applicazione sicura, verificabile ed efficiente basata su blockchain richiede la capacità di architettare correttamente le strutture comportamentali tra le parti coinvolte. Il corso copre in dettaglio i principi e le tecnologie alla base delle piattaforme blockchain e le proprietà che garantiscono, da un lato, e mira a fornire i mezzi per la creazione e l'analisi di soluzioni e applicazioni basate su blockchain, dall'altro.
Obiettivi specifici:
Il corso affronta quattro argomenti principali: 1) fondamenti delle blockchain e delle tecnologie distributed ledger; 2) programmazione dei contratti intelligenti; 3) sviluppo di un'applicazione blockchain-based full-stack; 4) valutazione e analisi di un'applicazione blockchain-based.
Conoscenza e comprensione:
Gli studenti apprenderanno le basi delle tecnologie blockchain e l'interazione delle tecniche sottostanti che portano all'immutabilità, persistenza e sicurezza delle piattaforme blockchain. Inoltre, impareranno a codificare smart contract e creare applicazioni decentralizzate (DApps) full-stack. Per progettare correttamente le DApps e i sistemi di token su cui si basano, gli studenti applicheranno i principi di modellazione ed esecuzione di processi. Sarà fornita anche una panoramica delle sfide di cybersecurity inerenti. Inoltre, i discenti guarderanno gli argomenti trattati da un punto di vista legislativo, al fine di considerare i vincoli normativi tra cui il rispetto della privacy degli utenti.
Applicazione di conoscenza e comprensione:
Al termine del corso, gli studenti avranno ottenuto una elevata comprensione dei pilastri fondamentali delle tecnologie per distributed ledger e delle blockchain. Avranno altresì la capacità di progettare e implementare sistemi basati su blockchain. Inoltre, produrranno report ad elevato livello informativo progettati per gli stakeholder delle applicazioni decentralizzate.
Autonomia di giudizio:
Gli studenti svilupperanno la capacità di valutare la qualità delle applicazioni decentralizzate e delle soluzioni basate su blockchain in generale dal punto di vista dell'affidabilità, della solidità comportamentale, del costo di esecuzione, dell'equilibrio del carico on-chain e off-chain, dell'applicabilità, della sicurezza informatica e della privacy.
Abilità comunicative:
Gli studenti impareranno a documentare le loro scelte progettuali, anche attraverso l'uso di diagrammi e reportistica. Avranno anche acquisito la capacità di preparare presentazioni su argomenti scientifici.
Capacità di apprendimento:
Le nozioni acquisite durante il corso forniranno agli studenti una solida base di conoscenza per poter ulteriormente approfondire gli aspetti più tecnici, e per mantenersi autonomamente informati sui continui sviluppi e aggiornamenti sulle blockchain e le distributed ledger technologies.
|
1047616 | COMPUTATIONAL COMPLEXITY | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Il Corso introduce allo studio delle basi della Teoria della Complessità computazionale.
Obiettivi specifici:
- Concetto teorico della risorsa computazionale: running time
- Concetto Teorico della risorsa computazionale: memoria
- Classi di complessità temporali e spaziali
- Il problema P = NP
- Problemi computazionalmente non trattabili con risorse limitate
- La classi di complessità L, P, NP, PSPACE, BPP, #P, IP,
- Risultati Notevoli
- Circuiti Booleani e funzioni booleane
Conoscenza e comprensione:
Al termine del corso lo studente avrà acquisito la capacità di verificare proprietà di riduzione e completezza tra problemi computazionali, la conoscenza di teoremi notevoli nel campo della Teoria delle Complessità, la capacità di ragionare matematicamente sulla natura computazionale delle risorse di calcolo come running-time, memoria, randomness.
Applicazione di conoscenza e comprensione:
La conoscenza appresa è fondamentale in contesti come la Verifica Automatica, la Teoria dei Giochi, la analisi della complessità degli algoritmi.
Autonomia di giudizio:
Viene rafforzata la autonomia di giudizio dello studente attraverso l'approfondimento
della capacità di sintesi matematica, di ragionamento matematico e di problem solving, mediante tecniche basate sulla matematica Discreta e sulla Analisi Funzionale.
Abilità comunicative:
Viene sviluppata l'abilità comunicativa dello studente nel presentare risultati nel campo dell'Informatica Teorica.
Capacità di apprendimento:
La complessità computazionale e alla base della comprensione della valutazione della fattibilità computazionale e algoritmico di qualsiasi
problema del mondo reale. La sua conoscenza è dunque alla base dell'apprendimento di molte altre corsi e argomenti, come la Crittografia, la verifica automatica del software e dell'hardware, la Teoria dei Giochi, l'Intelligenza Artificiale.
|
1047618 | COMPUTER VISION | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Il corso si propone di esporre gli studenti ad un'ampia panoramica della Computer Vision.
Obiettivi specifici:
Il corso si propone di fornire i principi, le metodologie di base e gli algoritmi fondamentali usati per la progettazione e l'applicazione di sistemi di visione artificiale
Conoscenza e comprensione:
Introduzioni dei principi fondamentali e delle diverse aree della Computer Vision e conoscenze su risoluzione di problemi quali estrazioni delle caratteristi, tracking , analisi della scena, riconoscimento di oggetti, analisi di eventi, analisi delle emozioni.
Applicare conoscenza e comprensione:
Saper applicare il portafoglio di tecniche e gli approcci illustrati per la progettazione e realizzazione di sistemi di visione artificiale.
Capacità critiche e di giudizio:
Gli studenti apprenderanno tecniche che si sono rivelate utili per esperienza diretta e una vasta gamma di metodi matematici nella progettazione del sistema di visione.
Capacità comunicative:
Gli studenti saranno in grado di interagire in modo proficuo con altri ricercatori in Computer Vision su un'ampia gamma di argomenti.
Capacità di apprendimento:
Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, la letteratura scientifica basato sulla Computer Vision.
|
1047640 | NETWORK ALGORITHMS | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
Acquisire conoscenze relativamente al progetto di algoritmi complessi per risolvere problemi su grafi che modellano problemi inerenti le reti (cablate, senza fili e di sensori).
Obiettivi specifici
Conoscenza e comprensione
Al termine del corso gli studenti conosceranno le metodologie di base per l'analisi di problemi relativi alle reti e l’identificazione dei problemi su grafi che più si avvicinino; conosceranno inoltre gli algoritmi risolutivi di alcuni dei principali problemi su grafi.
Applicare conoscenza e comprensione:
Al termine del corso gli studenti avranno acquisito familiarità con l’analisi delle problematiche legate alle reti. Saranno in grado di riconoscere quale sia il problema su grafi che più si avvicina e di progettare nuove strutture dati e i relativi algoritmi, rielaborando quelli esistenti, per risolvere il problema di partenza.
Capacità critiche e di giudizio
Lo studente avrà le basi per analizzare la qualità di un algoritmo per le reti, sia dal punto di vista della effettiva risoluzione del problema che da quello della efficienza computazionale con la quale il problema viene risolto.
Capacità comunicative
Lo studente acquisirà la capacità di esporre in modo chiaro ed organizzato le proprie conoscenze, capacità che verrà verificata durante la prova orale.
Capacità di apprendimento
Le conoscenze acquisite permetteranno allo studente, una volta concluso il ciclo di studi, di affrontare problemi reali in modo critico ed efficace e di progettare soluzioni efficienti.
|
10620565 | QUANTUM COMPUTING | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
L'obiettivo del corso è fornire agli studenti i concetti fondamentali dell'informatica quantistica, che consentiranno loro di proseguire gli studi o di trovare lavoro nel settore dell'informatica quantistica.
Obiettivi specifici:
Questo corso ha quattro obiettivi specifici:
1. introdurre i fondamenti matematici dell'informatica quantistica necessari per comprendere le caratteristiche controintuitive degli algoritmi quantistici;
2. presentare le nozioni fondamentali dell'informatica quantistica;
3. per introdurre diversi algoritmi quantistici non banali e protocolli di comunicazione quantistica e analizzarne il comportamento;
4. per mostrare come semplici algoritmi e protocolli quantistici possono essere implementati ed eseguiti su un simulatore o su un computer quantistico.
Conoscenze e comprensione:
Al termine del corso, gli studenti dovrebbero essere a conoscenza e comprendere appieno le principali differenze tra computer classici e quantistici, i formalismi dei circuiti quantistici e dei bra-ket, e i principali algoritmi quantistici (di Grover, di Shor, HHL, ecc.) e protocolli (ad esempio, BB84 e teletrasporto). Inoltre, gli studenti dovrebbero essere a conoscenza delle diverse tecnologie per l'implementazione di hardware quantistico.
Applicare conoscenza e comprensione:
Gli studenti saranno in grado di utilizzare le nozioni teoriche presentate in classe per sviluppare e/o implementare soluzioni quantistiche a problemi. Le esercitazioni pratiche al computer offriranno agli studenti un'esperienza pratica con circuiti quantistici eseguiti su simulatori o computer quantistici, a supporto dei concetti teorici esposti a lezione. Inoltre, gli studenti potranno approfondire i propri studi in autonomia consultando altro materiale sull'argomento, inclusa la letteratura scientifica.
Capacità di giudizio:
Gli studenti affineranno queste competenze attraverso regolari attività di problem-solving da svolgere a casa. Le conoscenze e le competenze acquisite consentiranno agli studenti di selezionare o adattare criticamente gli approcci quantistici esistenti per risolvere il problema in questione, o di sviluppare nuove tecniche quantistiche, se necessario. Gli studenti saranno in grado di valutare l'efficienza e identificare pro e contro delle loro soluzioni quantistiche.
Capacità di comunicazione:
Gli studenti saranno stimolati a collaborare con i loro compagni attraverso lo sviluppo, la documentazione e la risoluzione dei compiti a casa.
Capacità di apprendimento:
Il corso fornirà agli studenti le competenze tecniche necessarie per studiare a livello di dottorato (PhD) sia argomenti rilevanti in campi affini, quali la comunicazione quantistica e la simulazione quantistica, sia aspetti specifici dell'informatica quantistica.
|
10620566 | HIGH-PERFORMANCE COMPUTING | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Progettazione e programmazione di sistemi per il calcolo ad alte prestazioni"
Obiettivi specifici:
Panoramica dei sistemi HPC
Metriche di prestazione
Architetture CPU moderne per l’HPC
Modello Roofline
Processori vettoriali
Limiti di prestazione e profilazione
Progettazione orientata ai dati
Acceleratori hardware
HPC su larga scala
Ruolo degli interconnect nei sistemi HPC
Introduzione alle reti scale-up e scale-out
Panoramica delle metriche di prestazione delle reti
Reti scale-out: progettazione della topologia per i sistemi HPC
Reti scale-out: instradamento adattivo
Reti scale-out: controllo della congestione
Reti scale-up e scale-out: protocolli di interconnessione ad alte prestazioni
RDMA, InfiniBand, Slingshot, RoCE, ecc.
Comunicazioni collettive nell’HPC
Analisi e ottimizzazione del carico di lavoro
Conoscenze e comprensione:
Conoscere e capire come progettare e programmare sistemi per il calcolo ad alte prestazioni
Applicare conoscenza e comprensione:
Dimostrare di saper progettare sistemi HPC.
Dimostrare di saper scrivere codice ottimizzato per applicazioni HPC
Capacità di giudizio:
saper scegliere il miglior approccio, tra i vari studiati, per risolvere un determinato compito
Capacità di comunicazione:
essere in grado di valutare e motivare le proprie scelte nella progettazione di un sistema HPC"
Capacità di apprendimento:
Capire le differenze e i vantaggi delle varie tecniche di progettazione di sistemi HPC
|
10600495 | AUTOMATIC VERIFICATION OF INTELLIGENT SYSTEMS | 1º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Il corso si propone di fornire agli studenti metodi e strumenti software avanzati per la modellazione, progettazione, verifica e validazione automatica di sistemi intelligenti.
Obiettivi specifici:
Il corso di propone di mettere gli studenti in grado di comprendere tecniche avanzate di modellazione, progettazione, verifica e validazione per sistemi intelligenti.
Conoscenza e comprensione:
Introduzione ad ampio spettro alle metodologie avanzate per la modellazione, progettazione ed analisi dei sistemi intelligenti.
Applicazione di conoscenza e comprensione:
Saper applicare il portafoglio di tecniche e gli approcci illustrati per la modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Autonomia di giudizio:
Gli studenti saranno in grado di prendere autonomamente decisioni razionali sulle tecniche e gli strumenti software da impiegare nella modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Abilità comunicative:
Gli studenti saranno in grado di interagire in modo proficuo con esperti di dominio su un'ampia gamma di argomenti relativi alla modellazione, progettazione, verifica e validazione di sistemi intelligenti.
Capacità di apprendimento:
Gli studenti saranno in grado di ampliare le loro conoscenze in modo autonomo consultando, secondo necessità, la letteratura scientifica di rilievo.
|
10607006 | FORMAL METHODS FOR AI-BASED SYSTEMS ENGINEERING | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
L'insegnamento è indirizzato all'acquisizione delle conoscenze logiche e di modellazione necessarie alla ingegneria dei sistemi basata su intelligenza artificiale.
Obiettivi specifici:
L'insegnamento consentirà agli studenti di padroneggiare un portafoglio rappresentativo di metodi formali per l'ingegneria dei sistemi basata su intelligenza artificiale, tra cui approcci alla verifica formale e di ottimizzazione del design di sistemi complessi.
Conoscenza e comprensione:
Alla fine del corso gli studenti avranno piena comprensione degli strumenti di modellazione e delle tecnologie proposti.
Capacità di applicare conoscenza e comprensione:
Gli studenti saranno in grado di utilizzare gli strumenti presentati durante il corso e
di approfondirne lo studio consultando autonomamente altri testi dedicati all'argomento, inclusa la letteratura scientifica dell'area.
Capacità critiche e di giudizio:
Le conoscenze acquisite permetteranno agli studenti di affrontare al meglio le attività di ingegneria dei sistemi durante la loro carriera lavorativa.
Capacità di comunicazione:
Gli studenti verranno stimolati ad esporre ed a comunicare le proprie esperienze con i loro colleghi e con i docenti.
Capacità di proseguire lo studio:
Il corso tratterà soltanto alcune delle metodologie e tecnologie disponibili, ma renderà edotti gli studenti dell'ampio spettro di approcci disponibili all’ingegneria dei sistemi basata su intelligenza artificiale. Questo permetterà agli studenti di poter scegliere criticamente le metodologie e le tecnologie più opportune per ogni nuovo problema.
|
1047614 | ADVANCED SOFTWARE ENGINEERING | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Il corso si propone di presentare un approccio tramite metodi formali, tipicamente basati su trasformazioni di modelli, allo sviluppo di sistemi software di media complessità (tipicamente applicazioni Enterprise).
Obiettivi specifici:
Il corso formerà gli studenti su:
1. Fondamenti di metamodellazione
2. Fondamenti di trasformazioni di modelli
3. Linguaggi specifici al dominio
4. Architetture software
Conoscenza e comprensione:
Gli studenti apprenderanno le nozioni fondamentali per la modellazione indipendente dalla piattaforma a partire dalle specifiche dei requisiti e come utilizzare gli strumenti di trasformazione per ottenere implementazioni di codice (parziale) che soddisfino i requisiti e l'utilizzo di architetture enterprise.
Applicazione di conoscenza e comprensione:
Gli studenti saranno in grado di utilizzare alcuni dei linguaggi e degli strumenti più popolari nel campo della modellazione dei sistemi e della trasformazione dei modelli e li utilizzeranno per sviluppare applicazioni a vari livelli di complessità.
Autonomia di giudizio:
Gli studenti svilupperanno le capacità di analisi necessarie per valutare diverse alternative nel campo della modellazione di sistema, in particolare per quanto riguarda la modellazione di dominio e della valutazione dei requisiti architetturali.
Abilità comunicative:
Gli studenti impareranno a documentare le loro scelte, anche attraverso l'uso di strumenti di generazione della documentazione, in particolare sfruttando notazioni diagrammatiche.
Capacità di apprendimento:
La padronanza dei concetti di modello formale e di trasformazione di modello, nonché la familiarità con ambienti di sviluppo software che integrino queste nozioni, permetterà agli studenti di proseguire nell'esplorazione e nell'apprendimento di linguaggi e approcci basati su questi concetti.
|
1047205 | CLOUD COMPUTING | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali :
Il Cloud Computing è divenuto una delle fondamentali tecnologie dell’informazione, fornendo elevata scalabilità ed elasticità nella fornitura di applicazioni distribuite (aziendali e scientifiche).
Alla fine del corso gli studenti avranno gli strumenti per comprendere l’impatto del Cloud Computing in un ambiente aziendale (e non) e le implicazioni tecnologiche nello sviluppo di applicazioni Cloud, specificatamente applicazioni per la memorizzazione e l’elaborazione di big data.
Obiettivi specifici
Alla fine del corso, gli studenti avranno acquisito gli strumenti per:
- usare le tecnologie di virtualizzazione a livello di sistema e a livello di applicazione
- usare tecnologie IaaS e PaaS
- progettare architetture virtualizzate
- fare il deployment di applicazioni Cloud
- valutare costi e prestazioni di sistemi Cloud
Conoscenza e comprensione:
Alla fine del corso, gli studenti avranno acquisito la conoscenza relativa ai fattori che hanno influenzato la diffusione del Cloud Computing, alle tecnologie di virtualizzazione, alle architetture Cloud (autoscaling, load balancing, monitoring, high availability), ai sistemi di memorizzazione dei dati nel Cloud
Alla fine del corso, gli studenti saranno capaci di comprendere i principi di funzionamento delle soluzioni basate su Cloud (design and operation) e di comprendere problemi di ricerca applicata relativi alle soluzioni basate su Cloud
Applicarei conoscenza e comprensione:
Alla fine del corso, gli studenti saranno capaci di
- spiegare i principi del Cloud Computing
- spiegare le principali tecnologie Cloud
- risolvere problemi che richiedono l’uso delle tecnologie Cloud e del design e deployment di architetture virtualizzate e di applicazioni Cloud
- valutare le prestazioni e i costi di soluzioni basate su Cloud
Capaità critiche e di giudizio:
Nel corso gli studenti svilupperanno abilità di pensiero critico nel campo del Cloud Computing
Capacità comunicative:
Alla fine del corso gli studenti saranno capaci di comunicare le nozioni imparate a personale tecnico e manageriale.
Capacità di apprendimento successivo:
Dopo il corso, gli studenti avranno acquisito la conoscenza per seguire corsi avanzati di Cloud Computing e di tecnologie big data.
|
10593236 | DEEP LEARNING AND APPLIED ARTIFICIAL INTELLIGENCE | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
Acquisire familiarità con tecniche avanzate di machine learning supervisionato e non supervisionato; acquisire competenze di modellazione di problemi complessi attraverso tecniche di deep learning, e saperle applicare a contesti applicativi diversi.
Obiettivi specifici
Gli argomenti includono: reti neurali profonde, il loro addestramento e l'interpretazione dei risultati; reti convoluzionali e architetture prominenti; teoria del deep learning con particolare riferimento a questioni di convergenza; utilizzo di framework esistenti per l'implementazione di tecniche avanzate di machine learning; autoencoders; attacchi avversari.
Conoscenza e comprensione:
Conoscenza sul funzionamento delle reti neurali e loro interpretazione matematica come approssimatori universali. Comprensione dei limiti e delle potenzialità di modelli avanzati di machine learning.
Applicazione di conoscenza e comprensione
Progettazione, implementazione, messa in esercizio e analisi di architetture di deep learning per risolvere problemi complessi in disparati ambiti applicativi.
Autonomia di giudizio
Essere in grado di valutare le prestazioni di diverse architetture, e di valutare la capacità di generalizzazione delle stesse.
Abilità comunicative
Essere in grado di comunicare con chiarezza la formulazione di un problema di apprendimento avanzato e la sua implementazione, la sua applicabilità in contesti realistici, nonchè di motivare le scelte architetturali e di regolarizzazione.
Capacità di apprendimento successivo:
Essere in grado di apprendere tecniche alternative e più complesse quali i modelli generativi basati su traporto ottimo, le trasformate di scattering e lo studio del probilo energetico delle reti neurali. Essere in grado di implementare tecniche esistenti in maniera efficiente, robusta e affidabile.
|
1047630 | HUMAN COMPUTER INTERACTION ON THE WEB | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
Il corso di sistemi informativi analizza differenti tipologie di sistemi informativi e come esse possono contribuire al successo degli obiettivi di un’azienda; permette di comprendere gli approcci e i modelli da usare per valutare la qualità dei processi, del software e dei servizi ICT; e fornisce le conoscenze di base per pianificare, gestire e controllare i progetti IT.
Obiettivi specifici
• Conoscenza e comprensione
– Modello funzionale e struttura informativa dei processi aziendali
– esigenze di integrazione e requisiti di controllo dei dati dei sistemi informatici aziendali
– sistemi e tecnologie per sviluppare e mantenere un e-business di successo
– principali settori di applicazione dei sistemi di informazione in vari settori di mercato
– organizzazione IT e modelli di valutazione della qualità IT
– conoscenze di base di contesto, tecniche/metodologie e soft skill per la gestione dei progetti ICT
• Applicazione di conoscenze e comprensione
– Analizzare le diverse tipologie di requisiti in relazione a differenti categorie di utenti (stakeholder) di sistemi informativi
– Selezionare l’appropriato modello per valutare la qualità dei processi ICT, del prodotto software e dei servizi ICT
– Sviluppare uno studio di fattibilità selezionando l’appropriata architettura applicativa e tecnologica
– Preparare, per un semplice progetto ICT, un piano di sviluppo nel rispetto dei vincoli di tempo, costi, qualità e definendo l’appropriata organizzazione
– Controllare un progetto ICT in corso, applicando le tecniche di project management
– Comprendere a valutare le lezioni apprese nei precedenti progetti
Capacità critiche e di giudizio:
Gli studenti, mediante test e case study, acquisiranno competenze nella comprensione dei tipi di sistemi informativi, nell’uso dei modelli di quality management e nella pianificazione e gestione di un progetto.
Capacità comunicative:
Gli studenti, costituiti in team, saranno coinvolti in attività finalizzate alla realizzazione di un piano di comunicazione di un progetto basato su un case study, che sarà mostrato ai colleghi spiegando le ragioni delle scelte adottate.
Capacità di apprendimento:
La capacità di apprendimento sarà stimolata attraverso la preparazione di uno studio di fattibilità contenente:
[a] la definizione dei requisiti del tipo di sistema informativo più adatto;
[b] la definizione dei requisiti tecnici e di qualità;
[c] la pianificazione di un progetto di implementazione del sistema informativo.
|
1047634 | INTERNET OF THINGS | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi specifici
Introduzione alle reti wireless di supporto ai sistemi Internet delle cose, analisi delle soluzioni di ricerca relative ad alcune
delle sfide per la realizzazione dei sistemi internet delle cose (abbattimento del consumo energetico, integrazione del mondo IoT e della robotica, comunicazioni autonome, ottimizzazione congiunta dei requisiti applicativi e di comunicazione).
Attività di laboratorio.
Struttura sintetica del corso:
- Introduzione alle reti radio
- Introduzione ai sistemi cellulari e alle reti mobili ad hoc
- Protocolli per sensing systems: protocolli di MAC, routing, localizzazione e sincronizzazione
- Verso l'Internet delle cose: caratteristiche e problematiche, protocolli standard e tecnologie, sfide ancora aperte
- Integrazione di robotica e IoT systems.
-Lab di programmazione IoT
Conoscenze e comprensione:
Alla fine del corso lo studente saprà leggere e comprendere articoli scientifici, documenti tecnici e standard del settore; avrà compreso i trade-off prestazionali associati a diverse scelte progettuali.
Sarà quindi in grado di progettare futuri sistemi wireless e IoT. Avrà fatto prime esperienze pratiche relative alla programmazione e valutazione sperimentale di tali sistemi.
Applicazione di conoscenza e comprensione:
Gli studenti saranno in grado di partecipare alla progettazione di futuri sistemi e applicazioni IoT e di sistemi 5G.
Capacità di giudizio:
Gli studenti svilupperanno le capacità di analisi necessarie per valutare diverse scelte progettuali alternative selezionando la migliore per ogni specifico scenario applicativo e tipo di tecnologia.
Capacità di comunicazione:
Gli studenti impareranno ad analizzare e presentare articoli scientifici, idee di ricerca o soluzioni tecniche di settore, descrivendole in modo sintetico ed accurato, con un linguaggio tecnico
adeguato.
Capacità di apprendimento:
Gli studenti acquisiranno sia competenze teoriche che pratiche relative alla progettazione dei sistemi wireless e IoT, che li metteranno in grado di proseguire l'approfondimento di questi argomenti.
|
1038141 | NATURAL LANGUAGE PROCESSING | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
I fondamenti dell'elaborazione del linguaggio naturale.
Obiettivi specifici:
L'elaborazione del linguaggio naturale al livello di: morfologia, parte del discorso, sintassi, semantica, pragmatica. Traduzione automatica.
Conoscenza e comprensione:
Conoscenza e comprensione delle tecniche algoritmiche e di apprendimento automatica per l'elaborazione del linguaggio naturale.
Applicare conoscenza e comprensione:
Essere in grado di applicare le tecniche di elaborazione del linguaggio naturale mediante homework e un progetto.
Capacità critiche e di giudizio:
Capacità di comprendere e identificare soluzioni efficaci ai problemi dell'elaborazione del linguaggio naturale.
Capacità comunicative:
Capacità di illustrare il progetto sviluppato.
Capacità di apprendimento:
Capacità di apprendere e applicare nuove tecniche di elaborazione del linguaggio naturale sia basate su quelle illustrate nel corso sia basate su approcci innovativi.
|
10589555 | PRACTICAL NETWORK DEFENSE | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Il corso affronta i fondamenti delle metodologie e degli strumenti per la protezione delle reti di calcolatori. Particolare attenzione viene dedicata all'applicazione pratica delle nozioni apprese.
Obiettivi specifici:
Il corso affronta le relazioni fra i meccanismi di funzionamento delle reti di calcolatori e gli attacchi informatici, i meccanismi per la possibile identificazione e soppressione degli attacchi e la relativa implementazione mediante l'uso di adeguate strategie di progettazione e di strumenti specifici.
Conoscenza e comprensione:
Elencare le minacce più ricorrenti dovute all'uso di specifici protocolli all'interno delle reti di elaboratori. Spiegare i meccanismi più utilizzati dagli attaccanti maliziosi e dai progettisti di malware per compromettere la sicurezza di un sistema di elaboratori. Spiegare i meccanismi di base utilizzati per l'identificazione dei tentativi di intrusione negli elaboratori e nelle reti.
Applicare conoscenza e comprensione:
Alla fine del corso gli studenti saranno in grado di realizzare il monitoraggio del traffico scambiato nelle reti, di applicare una policy di sicurezza, di realizzare una scansione delle stazioni all'interno di una rete di elaboratori e una ricerca delle vulnerabilità di una rete di elaboratori.
Gli studenti svilupperanno la capacità di selezionare le regole appropriate per proteggere una rete mediante firewall, selezionare i meccanismi più appropriati per proteggere un sistema di elaboratori collegati tramite rete e di eseguire le scelte di progettazione più opportune per implementare una strategia di "difesa in profondità", usando reti isolate e strumenti dedicati (VPN,proxy e firewall).
Capacità critiche e di giudizio:
Gli studenti svilupperanno le capacità di analisi necessarie per valutare diverse alternative durante il processo di progettazione di una rete di elaboratori, con particolare riferimento alla valutazione delle scelte architetturali e dei rischi che possono comportare e agli obiettivi di sicurezza che il sistema vuole perseguire.
Capacità comuncative:
Gli studenti impareranno a documentare le loro scelte, anche attraverso l'uso di strumenti di generazione di rapporti automatizzati. Avranno anche acquisito la capacità di preparare presentazioni relative ad argomenti scientifici.
Capacità di apprendimento successivo:
Le nozioni acquisite durante il corso forniranno agli studenti una solida base di conoscenza per poter ulteriormente approfondire gli aspetti più tecnici, esplorare le alternative non affrontate per motivi di tempo e per mantenersi autonomamente informati sui continui sviluppi e aggiornamenti della sicurezza informatica applicata alle reti.
|
1047613 | ADVANCED ALGORITHMS | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Questo corso propone lo studio di algoritmi evoluti e di strutture dati avanzate per risolvere problemi complessi.
Obiettivi specifici:
Applicare conoscenza e comprensione:
Al termine del corso lo studente avrà gli strumenti per individuare il nucleo matematico del problema da affrontare, e per identificare la tecnica più appropriata per la soluzione dello stesso.
Capacità critiche e di giudizio
Gli studenti saranno in grado di determinare quali approcci siano più adatti per risolvere problemi algoritmici.
Capacità comunicative:
Lo studente sarà in grado di presentare idee algoritmiche, e di spiegare le caratteristiche dei problema da risolvere.
Capacità di apprendimento:
Lo studente avrà acquisito la capacità di pensare in modo algoritmico.
|
10612318 | ADVANCED ARCHITECTURES | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Lo scopo del corso è fornire una comprensione approfondita dei principi fondamentali e avanzati dell'architettura dei computer, delle tecniche di calcolo parallelo e dei fondamenti del calcolo quantistico.
Obiettivi specifici:
Acquisire competenze pratiche nella progettazione e valutazione di circuiti aritmetici, nello sviluppo di programmi per architetture vettoriali e GPU, e nella comprensione dei modelli di calcolo quantistico.
Conoscenze e comprensione:
Acquisire conoscenze teoriche e operative sui principali modelli di architettura hardware, sulle tecniche di ottimizzazione delle prestazioni e sui paradigmi emergenti di calcolo.
Applicare conoscenza e comprensione:
Progettare, analizzare e ottimizzare circuiti e sistemi computazionali, implementare algoritmi su architetture parallele e valutare soluzioni di calcolo avanzato.
Capacità di giudizio:
Sviluppare capacità di analisi critica, valutando i pro e contro delle diverse soluzioni architetturali e computazionali in base a criteri di efficienza, scalabilità e complessità.
Capacità di comunicazione:
Essere in grado di esporre con chiarezza concetti tecnici complessi, presentando analisi e soluzioni progettuali sia in forma scritta che orale, sapendo motivare le proprie scelte.
Capacità di apprendimento:
Sviluppare autonomia nello studio e nella ricerca di aggiornamenti nel settore dell’architettura dei computer e del calcolo avanzato.
|
1047619 | CONCURRENT SYSTEMS | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Capire i concetti base dei sistemi concorrenti e le metodologie adottate nella soluzione dei problemi da essi posti
Obiettivi specifici:
Mutua esclusione, diverse proprietà di liveness, semafori, monitor, transazioni, atomicità, concorrenza senza mutua esclusione, altre proprietà di liveness, oggetto universale e consenso. Sistemi di transizioni etichettate, semantica a interleaving, sincronizzazione, simulazione e bisimulazione, tecniche di verifica, passaggio di nomi, sistemi di tipo.
Conoscenza e comprensione:
Capire the problematiche di base dei sistemi concorrenti e le relative soluzioni possibili, i principi fondazionali dei linguaggi di programmazione concorrente e le relative tecniche di verifica
Applicare conoscenza e comprensione:
essere in grado di risolvere problematiche basilari di semplici sistemi concorrenti
Capacità critiche e di giudizio:
capire vantaggi e svantaggi delle varie possibili soluzioni a problematiche di sistemi concorrenti
Capacità comunicative:
sviluppare un linguaggio tecnico e formale in grado di spiegare le soluzioni ideate e i relativi meriti
Capacità di apprendimento:
comprendere scenari di programmazione complessi e le relative soluzioni, anche sofisticate
|
1047623 | DATA AND NETWORK SECURITY | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali
Il corso di Data and Network Security è progettato per fornire agli studenti una solida base nei principi fondamentali della cybersecurity, esponendoli al contempo alle tendenze attuali e agli sviluppi più avanzati del settore. Inoltre, il corso mira a promuovere la partecipazione attiva in aula e la discussione tra studenti su tematiche relative alla sicurezza.
Obiettivi specifici
Il corso di Data and Network Security ha l’obiettivo di offrire agli studenti una comprensione approfondita di un ampio spettro di concetti, paradigmi e applicazioni pratiche della cybersecurity. Si pone particolare enfasi su una prospettiva critica nei confronti del panorama di minacce in continua evoluzione, stimolando gli studenti non solo ad apprendere le basi della materia, ma anche a esplorare le sfide più recenti e le tendenze di ricerca. Ogni lezione è strutturata con un duplice obiettivo: in primo luogo, introdurre un argomento specifico di cybersecurity—come meccanismi di autenticazione, tipi di malware, canali di comunicazione occulti, cyber deception, attestazione remota nell’IoT, digital forensics, protezione dei dati, software-defined networking e minacce persistenti avanzate—e in secondo luogo, evidenziare le principali domande di ricerca, minacce emergenti e tecniche innovative relative a ciascun tema. Questo approccio garantisce agli studenti una preparazione teorica solida insieme a una consapevolezza delle problematiche pratiche e orientate alla ricerca. Uno degli obiettivi centrali del corso è coltivare il pensiero critico e la curiosità verso la ricerca. Gli studenti sono incoraggiati ad andare oltre una comprensione superficiale, approfondendo articoli scientifici che hanno avanzato lo stato dell’arte o evidenziato nuove vulnerabilità e abusi di sistema. Per stimolare questa mentalità, ogni studente condurrà una ricerca indipendente su un argomento di sicurezza a scelta. Analizzerà approcci esistenti, presenterà i risultati ai colleghi e parteciperà a discussioni sulle future direzioni della cybersecurity. Questo coinvolgimento attivo con la ricerca contemporanea fornirà agli studenti le competenze per valutare, mettere in discussione e contribuire al campo.
Conoscenza e capacità di comprensione
Gli studenti acquisiranno una solida base nei principi fondamentali della cybersecurity, inclusi i concetti, le tecnologie e le pratiche essenziali per proteggere i sistemi digitali e i dati da accessi non autorizzati, attacchi ed exploit. Esploreranno aree chiave come i metodi crittografici, i protocolli di comunicazione sicura, la modellazione delle minacce e i principali tipi di attacco informatico (es. phishing, malware, attacchi di tipo denial-of-service). Attraverso lezioni teoriche e esempi pratici, svilupperanno la comprensione di come le misure di sicurezza siano progettate, implementate e valutate in contesti reali. Questa conoscenza costituirà la base per valutare i rischi, riconoscere vulnerabilità e applicare meccanismi protettivi in vari ambienti digitali.
Capacità di applicare conoscenza e comprensione
Gli studenti metteranno in pratica quanto appreso attraverso progetti individuali o di gruppo che li stimoleranno a esplorare ambiti emergenti nel panorama della cybersecurity. Tali progetti li porteranno ad analizzare problemi specifici di sicurezza, valutare minacce reali o vulnerabilità e investigare meccanismi difensivi esistenti o innovativi. Attraverso revisioni della letteratura, progettazione di esperimenti o sviluppo di prototipi, gli studenti approfondiranno la comprensione della materia e svilupperanno competenze di pensiero critico, problem-solving e comunicazione scientifica. I progetti si concluderanno con presentazioni e relazioni tecniche, favorendo l’apprendimento collaborativo e il feedback tra pari.
Capacità critiche e di giudizio
Gli studenti svilupperanno capacità analitiche critiche necessarie per valutare e confrontare approcci alternativi nella progettazione di sistemi informativi sicuri. Ciò include l’abilità di identificare vulnerabilità potenziali, valutare i compromessi tra sicurezza e usabilità e prendere decisioni informate basate su considerazioni teoriche e pratiche.
Abilità comunicative
Gli studenti impareranno a documentare in modo efficace le scelte tecniche e progettuali, utilizzando sia metodi manuali sia strumenti automatizzati comunemente adottati nei flussi di lavoro in cybersecurity. Inoltre, svilupperanno la capacità di comunicare chiaramente argomenti scientifici complessi attraverso la preparazione e la presentazione di contenuti strutturati. Questo rafforzerà le loro competenze nel presentare risultati di ricerca, difendere le proprie scelte e partecipare a discussioni informate, abilità fondamentali in contesti accademici e professionali.
Capacità di apprendimento
Le conoscenze e competenze acquisite nel corso forniranno agli studenti una base solida per proseguire gli studi in ambito cybersecurity. Saranno inoltre in grado di restare aggiornati sugli sviluppi continui del settore, consentendo loro di affrontare in modo critico nuove minacce, tecnologie e trend di ricerca nel corso della carriera.
|
1047629 | GRAPH THEORY | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali: Lo studente raggiungerà una piena padronanza dei risultati classici della teoria dei grafi e verrà inoltre a conscenza dei risultati e dei concetti più recenti della ricerca attuale in teroia dei grafi.
Obiettivi specifici: Gli argomenti fondamentali che lo studente conoscerà dopo il corso includono: alberi e alberi spanning in grafi; connettività nei grafi; Cicli Hamiltonian e condizioni sufficienti per la loro esistenza. Teorema di Menger e flussi nei grafici. La teoria dei matching nei grafi inclusi i teoremi di Konig, Hall e Tutte. Teoria dei grafi estremi e la teorema di Turan e la teoria di Ramsey. Grafi planari e la colorazione di grafi.
Conoscenza e comprensione: Lo studente acquisirà padronanza delle tecniche di base utili per le dimostrazioni matematiche e prenderà familiarità con le tecniche più avanzate. Inoltre potrà comprendere sia i risultati fondamentali della teoria dei grafi che le dimostrazioni degli stessi.
Applicazione di conoscenza e comprensione Lo studente prenderà confidenza con il concetto matematico di induzione applicato a diversi contesti e sarà in grado di risolvere in maniera autonoma i problemi di base della teoria dei grafi.
Autonomia di giudizio: Lo studente sarà in grado di selezionare in maniera autonoma gli strumenti matematici necessari per la risoluzione di un problema. Potrà inoltre stabilire quali sono gli argomenti di ricerca più significativi nell'ambito della teoria dei grafi.
Abilità comunicative: Lo studente acquisirà l'abilità di scrivere in maniera rigorosa le dimostrazioni matematiche della disciplina.
Capacità di apprendimento: Al completamento del corso di studi, lo studente sarà in possesso degli strumenti necessari per leggere e comprendere la letteratura scientifica sulla teoria dei grafi e per produrre ricerca originale nel campo.
|
1047639 | MULTIMODAL INTERACTION | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Essere in grado di progettare e valutare un sistema multimodale
Obiettivi specifici:
Conoscere le caratteristiche e le tecniche fondamentali relative ai diversi canali di comunicazione uomo-macchina: gesti, interazione vocale, ecc. Conoscere le modalità di cooperazione di singoli canali. Essere in grado di progettare/implementare la fusione/fissione delle informazioni su diversi canali.
Conoscenza e comprensione:
Fondamenti teorici della comunicazione su diversi canali di interazione. Fondamenti teorici della progettazione di un sistema multimodale.
Applicare conoscenza e comprensione:
Essere in grado di progettare ed implementare una applicazione multimodale.
Capacità critiche e di giudizio:
Essere in grado di valutare le prestazioni e la robustezza di una applicazione multimodale.
Capacità comunicative:
Essere in grado di comunicare/condividere i requisiti di un sistema multimodale, le modalità operative più adatte ad una certa applicazione, e le misure di performance del sistema
Capacità di apprendimento:
Essere in grado di approfondire autonomamente gli argomenti presentati nel corso, relativamente a tecniche e metodi specifici/complessi.
|
10620666 | METHODS IN COMPUTER SCIENCE EDUCATION | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Conoscere ed applicare le più recenti metodologie di insegnamento dell'Informatica nella scuola superiore.
Il corso svilupperà una serie di use-cases relativi alle tecniche di insegnamento dell'Informatica a scuola.
Obiettivi specifici:
• Progettazione e sviluppo di metodologie di insegnamento dell'informatica: illustrazione dei principi e dei metodi per la costruzione di attività e più in generale di un curriculum di informatica coerente con gli obiettivi fissati dalle indicazioni nazionali per i licei e dalle linee guida per gli istituti tecnici e professionali.
• Metodologie e tecnologie didattiche per lo studio del rapporto dell'informatica con la società attuale, e in particolare degli aspetti etici legati, per esempio, al trattamento dei dati personali, all'automazione di decisioni e raccomandazioni, alla ridefinizione del concetto di copyright.
• Esplicitazione del parallelismo fra metodologie informatiche e metodologie didattiche: tecniche di problem solving costruttivo; approccio epistemologico ai problemi; metodi cooperativi di sviluppo delle soluzioni.
Conoscenze e comprensione:
Principi e metodi di costruzione di attività didattiche di C.S. nella scuola superiore.
Aspetti etici dell'uso dei dati e dei contenuti personali.
Applicare conoscenza e comprensione:
Agli studenti verrà richiesto di scegliere e sviluppare alcuni moduli didattici per la scuola superiore.
Capacità di giudizio:
Lo studente sarà autonomo nello scegliere i moduli da sviluppare e nella loro fase di progetto e realizzazione.
Capacità di comunicazione:
Gli studenti dovranno dimostrare di saper produrre moduli didattici di qualità, con una forte capacità di interessare e comunicare con precisione gli argomenti chiave della lezione da sviluppare.
Capacità di apprendimento:
La metodologia di progetto dei moduli didattici vista nel corso sarà facilmente applicabile ad altri tipi di corsi.
|
10620665 | LOGICS AND REASONING | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali: Il corso ha l'obiettivo di introdurre gli studenti ai risultati e ai metodi fondamentali della Logica Matematica con particolare attenzione alla loro applicazione nell'ambito dell'Informatica.
Obiettivi specifici: L'obiettivo del corso è duplice. In primo luogo si intende dotare lo studente di una conoscenza rigorosa e di una capacità di applicare quei risultati e metodi della Logica Matematica che trovano applicazione in numerose aree dell'Informatica. D'altra parte si intende offrire allo studente una strumenti e conoscenze fondamentali per intraprendere un percorso di ricerca in Informatica Teorica.
Conoscenze e comprensione: Il corso mira a dotare lo studente di una conoscenza rigorosa degli argomenti del corso attraverso lo studio delle dimostrazioni e la produzione di argomenti rigorosi nello svolgimento degli esercizi. Particolare attenzione è data alla motivazione concettuale, alla dimostrazione rigorosa e alla applicabilità dei risultati trattati nel corso.
Applicare conoscenza e comprensione: I metodi della logica matematica hanno un ruolo fondamentale in diverse aree dell'Informatica quali la Teoria della Complessità, la Teoria delle Basi di Dati, l'Intelligenza Artificiale. Si mira a stimolare nello studente la capacità di applicare in vari contesti dell'informatica i metodi e i risultati studiati.
Capacità di giudizio: Viene stimolata la partecipazione attiva alle lezioni ed esercitata l'autonomia di giudizio attraverso l'assegnazione di esercizi e problemi.
Capacità di comunicazione: Lo studente può scegliere di dare l'esame finale in forma di presentazione seminariale davanti alla classe di un risultato concordato con il docente.
Capacità di apprendimento: I metodi di analisi e formalizzazione acquisiti durante il corso trovano applicazione in diverse aree dell'Informatica. L'esercizio di formalizzazione e problem-solving durante il corso rinforza le capacità di apprendimento e acquisizione di nuove competenze.
|