Il percorso formativo è organizzato in 2 curricula:

  • Computer Science and Technologies
  • ICT Innovation.

In questa pagina è presentato il percorso formativo generale previsto dal Regolamento didattico.

Per conoscere nel dettaglio i contenuti del corso è possibile consultare:

  • il Manifesto degli Studi, con le attività formative attivate nei vari anni accademici
  • i Syllabi, i programmi degli insegnamenti dell'anno accademico in corso.

Attività comuni ai due curricula Computer Science and Technologies e ICT Innovation

Insegnamenti obbligatori

Insegnamenti Crediti (CFU)

Attività a scelta dello studente

Attività didattiche scelte dallo studente tra gli insegnamenti offerti dal Dipartimento di Informatica e Scienze dell'Informazione, da altre strutture UniTrento, dal Centro Linguistico d'Ateneo.
24

Tirocinio

Un’esperienza professionalizzante che permette allo studente di approfondire le conoscenze apprese nel Corso degli Studi, di orientare le sue future scelte professionali e di studiare il possibile trasferimento tecnologico delle attività di ricerca e sviluppo tecnologico effettuate durante la tesi di laurea. Consiste in un periodo di formazione svolto presso enti, aziende, studi professionali o istituzioni a complemento od integrazione del percorso di studio.
6

Tesi

Il lavoro relativo alla tesi di Laurea Magistrale consiste nella presentazione di un lavoro di tesi originale e nella sua discussione pubblica di fronte ad una apposita commissione.
24

 

Curriculum Computer Science and Technologies

Insegnamento obbligatorio

Insegnamento Crediti (CFU)

Innovation and Business in ICT

L’obiettivo del corso è fornire conoscenze avanzate per la gestione dei diritti proprietà intellettuale nell’ICT, la realizzazione di business plan per l’ICT, la brevettazione di prodotti ICT, la creazione di startup nelle ICT, gli standard ICT, i modelli di tipo open source/proprietari. A questo scopo, verranno considerati casi di studio reali con il supporto di esperti dell’industria delle ICT.
6

6 crediti a scelta tra

Insegnamenti Crediti (CFU)

Computer Vision

Il corso si pone l'obiettivo di fornire allo studente una panoramica approfondita sui metodi di analisi d’immagini nel campo della visione artificiale. Partendo dalle basi dell'elaborazione d’immagini e video, il corso si focalizzerà poi sulle problematiche di modellazione e rilevamento del moto, tracciamento, e riconoscimento di oggetti, sia utilizzando sistemi monoculari che multi-view.
6

Simulation and performance evaluation

Il corso spiega le fasi di studio delle performance di un sistema, con particolare attenzione all'uso di strumenti di simulazione. Partendo da un'analisi dei più comuni errori e problemi nella valutazione delle performance, gli studenti recupereranno le nozioni statistiche necessarie per analizzare i dati, e seguiranno un percorso attraverso i componenti costitutivi di un simulatore: i modelli dei dati di ingresso, la gestione delle routine del simulatore, e l'analisi dell'output. Gli studenti apprenderanno la differenza tra simulazioni dinamiche (affrontate prevalentemente con approcci di simulazione a tempi discreti) e simulazioni statiche (o Monte-Carlo). Per queste ultime, viene presentato un insieme di metodi per la riduzione della complessità e della durata della simulazione. A corredo del programma, gli studenti fruiranno di alcune lezioni e seminari su contenuti avanzati.
6

Advanced computing architectures

L'insegnamento si propone di fornire agli studenti le nozioni richieste per la comprensione, la progettazione e la valutazione di architetture di elaborazione avanzate che sfruttino il parallelismo nelle sue varie forme. Al termine dell'insegnamento, lo studente sarà in grado di comprendere l'organizzazione delle moderne unità di calcolo, e di progettarne di nuove analizzando e valutando l'effetto delle scelte architetturali, identificando le componenti critiche, e confrontando soluzioni differenti in termini di prestazioni e costo, al fine di selezionare quelle ottimali nei diversi campi di applicazione.
6

Advanced remote sensing systems

Il corso fornisce conoscenze avanzate e capacità di progettazione nell’ambito di sistemi basati sul telerilevamento satellitare, sensori montati su aerei o droni, dispositivi di misurazione in loco, dati ancillari per il monitoraggio ambientale, protezione civile, sorveglianza remota ed monitoraggio di infrastrutture.
6

Multimedia Data Security

L'enorme facilità di accesso alle informazioni rende oggigiorno necessario lo studio di modalità per la protezione dei dati. Il corso ha come obiettivo l'approfondimento di alcune tecniche per rendere l'accesso ai dati multimediali sicuro, tramite varie tecniche di nascondimento di dati e di rilevazione automatica di modifiche su dati multimediali. Dopo un'introduzione ai concetti e ai modelli di Digital Rights Management per la protezione di dati multimediali, il corso affronta nello specifico watermarking digitale e digital forensics. L'analisi generale di questi concetti introduce la descrizione e la valutazione di tecniche specifiche applicate ai dati multimediali.
6

Network modeling and design

Obiettivo del corso è fornire allo studente le conoscenze necessarie alla modellazione e alla progettazione di reti di telecomunicazioni. Partendo dal concetto di pila protocollare TCP/IP, il corso presenterà (i) metodologie di modellazione analitica per il dimensionamento e l'analisi delle prestazioni di reti; e (ii) metodologie di progettazione di protocolli orientate agli scenari di comunicazione senza fili (TCP su wireless), trasporto dati su fibra ottica (TCP su reti ad elevato prodotto banda-ritardo) e alla distribuzione di contenuti su reti WAN.
6

54 crediti a scelta tra

Insegnamenti Crediti (CFU)

Algorithms for Bioinformatics

L'obiettivo è fornire le conoscenze sui principali algoritmi usati in bioinformatica e competenze per la loro implementazione. Al termine del modulo gli studenti saranno in grado di ricordare e discutere gli algoritmi presentati, leggere la letteratura scientifica su un algoritmo analogo e implementarlo.
6

Autonomous Software Agents

La complessità dei sistemi multi-agente ha portato alla definizione di diverse metodologie di sviluppo, architetture software e linguaggi di programmazione in cui il concetto di agente autonomo assume un ruolo centrale al pari del concetto di oggetto nello sviluppo di sistemi object-oriented. L'obiettivo del corso è quello di esaminare ed esplorare le possibilità offerte dall'approccio agent-oriented. Verranno presentate le tecniche di analisi e progettazione agent-oriented e tecniche di implementazione. In particolare, il corso affronterà tematiche legate al concetto di agente e lo sviluppo di sistemi multi-agente, architetture e algoritmi per la progettazione di un agente software, principi di planning, tecniche di modellazione e analisi goal-oriented, linguaggi di comunicazione e metodologie di sviluppo agent-oriented.
6

Bioinformatics Resources

Il corso ha l'obiettivo di fornire una panoramica riguardo basi di dati e risorse computazionali disponibili per l'implementazione di analisi bioinformatiche. Per tutti gli argomenti introdotti nel corso, il linguaggio R verra' usato come ambiente di programmazione per lo sviluppo esempi ed esercizi di analisi di dati.
6

Computability and computational complexity

Obiettivo del corso è fornire agli studenti elementi di teoria della calcolabilità e della complessità. La teoria della calcolabilità studia problemi decidibili, problemi semi- decidibili, problemi insolubili, macchine di Turing, lambda calcolo, funzioni ricorsive. La teoria della complessità studia le risorse computazionali (tempo, memoria, randomness) e gli effetti che la limitazione di queste ultime può avere sui problemi che possono essere effettivamente risolti e le classi di problemi così caratterizzate.
6

Concurrency

Obiettivo del corso è fornire i principali fondamenti teorici e pratici della teoria della concorrenza.
6

Cyber Security Risk Assessment

Il corso offre un'introduzione generale alle problematiche per progettare un sistema sicuro a partire dai requisiti di sicurezza e dall'analisi del rischio fino all'analisi architetturale a livello di servizi. La struttura del corso rispecchia la pratica aziendale e prevede l'applicazione delle tecniche sviluppate durante il corso su una serie di casi di studio pratici e la preparazione di una relazione finale.
6

Data Visualization Lab

Obiettivo del corso è fornire una prima introduzione ai concetti ed agli strumenti per l’esplorazione e la visualizzazione dei dati, attraverso lezioni teoriche ed esercitazioni di laboratorio. Il nucleo centrale del corso sarà l’esplorazione delle basi teoriche e degli aspetti pratici della riduzione di dimensionalita’ dei dati, dalle procedure più elementari fino ai più recenti algoritmi allo stato dell’arte. Si introdurranno inoltre le tecniche fondamentali di clusterizzazione dei dati. A questo si accompagnerà una discussione in merito ai principi di corretta visualizzazione dei dati attraverso le diverse forme di grafico. Alla fine del corso, gli studenti saranno in grado di: descrivere sommariamente la struttura globale di un insieme di dati multidimensionali; proiettare efficacemente un insieme di dati multidimensionale in uno spazio di dimensione minore evidenziandone le caratteristiche principali; scegliere un’opportuna rappresentazione grafica per mostrare una o più caratteristiche quantitative dell’insieme di dati stesso; scrivere il codice necessario (in uno dei linguaggi/ambienti mostrati nel corso) per implementare la rappresentazione grafica voluta.
6

Deep learning

Il corso intende fornire agli studenti una panoramica sui principali modelli e ambiti di applicazione del deep learning. In particolare, nella prima parte del corso si introdurranno i concetti di base relativi al deep learning e all’addestramento di reti neurali artificiali (Backpropagation, Dropout, BatchNorm, ...). Nella seconda parte del corso verranno presentate le principali tipologie di modelli neurali. Si introdurranno le Convolutional Neural Networks, le Recurrent Neural Networks, le Generative Adversarial Networks, il Deep Reinforcement Learning. Nella parte conclusiva del corso verranno presentate alcune applicazioni del deep learning nell’ambito della visione artificiale, della robotica e dell’elaborazione del linguaggio naturale. Alla trattazione teorica si affiancheranno laboratori di programmazione in Python utilizzando le principali librerie di deep learning.
6

Distributed systems 1

Obiettivo del corso è esporre gli studenti ai principi e alle tecnologie di base dei sistemi distribuiti. La parte predominante del corso è dedicata all'esposizione di concetti fondamentali dei sistemi distribuiti quali sincronizzazione, fault-tolerance, replicazione, attraverso lo studio di alcuni algoritmi classici. Nelle esercitazioni in laboratorio vengono invece illustrati gli aspetti tecnologici legati allo sviluppo di applicazioni distribuite, attraverso lo studio di tecnologie base quali socket e invocazione di procedure remote (RPC). Infine, l'ultima parte del corso è dedicata a lezioni monografiche su monografiche su argomenti avanzati e di ricerca.
6

Fog and Cloud Computing

Il corso ha l'obiettivo di formare gli studenti sulle tecnologie di computazione distribuita basate su infrastrutture centralizzate (cloud) o maggiormente decentralizzate (fog). Le lezioni offrono sia una panoramica teorica sia dei momenti di apprendimento interattivi nei quali gli studenti apprendono l'utilizzo dei software open-source maggiormente utilizzati dalle comunità di riferimento.
6

Formal methods mod I and mod II

I metodi formali sono sempre più usati nello sviluppo di sistemi SW e HW industriali come potenti strumenti per la specifica, la verifica e la ricerca di errori. Questo corso presenta un'introduzione alle metodologie e agli strumenti per la specifica e soprattutto per la verifica formale di sistemi SW e HW. Ad eccezione di una parte introduttiva sulle tecniche formali e la loro utilità, il corso si concentrerà sulle tecniche di verifica formale, ed in particolare sulle tecniche di "Model Checking".
12

Game Theory

Il corso propone una introduzione ai concetti fondamentali della Teoria della Decisione e della Teoria dei Giochi. Gli obiettivi del corso sono articolati nel modo seguente. In primo luogo, il corso fornisce solide basi per la comprensione dei principali concetti delle teorie, ad esempio, i concetti di preferenza e di funzione di utilità, la nozione di strategia, le diverse classi di giochi, le principali nozioni di soluzione di un gioco. In secondo luogo, le competenze teoriche sono messe in pratica al fine di sviluppare le abilità necessarie per modellare uno scenario di interazione tra agenti. La comprensione dello scenario e la consapevolezza delle scelte di modellazione forniscono gli strumenti per ampliare le competenze di problem solving dei partecipanti, per i tipi di problemi in questione. In terzo luogo, l’applicazione delle nozioni teoriche nella pratica di modellazione sarà associata allo sviluppo dell’implementazione delle soluzioni proposte, per testare la loro efficienza e attendibilità in pratica. La modellazione e l’implementazione degli scenari proposti saranno sviluppate dai partecipanti divisi in gruppi che collaborano per trovare le soluzioni adatte
6

High-Throughput Sequencing Data Analysis

Il corso ha l’obiettivo di fornire conoscenze di analisi di dati generati con tecniche e piattaforme ad alta processi vita per la caratterizzazione del genoma, dell’epigenoma e del trascrittoma. Il materiale del corso si basa su tecniche sperimentali di ultima generazione.
6

Language Understanding Systems

 
6

Machine Learning

Obiettivo del corso è fornire i principali fondamenti teorici e pratici della teoria del machine learning, delle principali tecniche di supervised e unsupervised learning, e del ragionamento probabilitistico.
6

Network Security

Offrire un'introduzione generale alle problematiche, algoritmi e soluzioni per la sicurezza nelle reti.
6

Optimization techniques

Il corso punta a dare una prima introduzione teorica, supportata da esempi concreti, all'uso di ottimizzazione matematica/ricerca operativa per risolvere problemi e fornire soluzioni migliori. E' idealmente combinato ad a un corso di "Machine learning". Un "Data Scientist" parte da fonti di dati ricche e abbondanti, costruisce modelli matematici utilizzando i dati (machine learning), presenta e comunica le intuizioni ottenute, fornisce soluzioni migliorative (ottimizzazione). L'innovazione nell'industria e nei servizi è l'obiettivo finale.
6

Service Design and Engineering

Il corso si focalizza sulle più recenti metodologie, linguaggi e strumenti per sostenere l'approccio " service-oriented " per la programmazione e la gestione dei processi aziendali. Metodologie, linguaggi e strumenti basati sull'idea di comporre applicazioni scoprendo e invocando servizi di rete disponibili, piuttosto che costruire nuove applicazioni per eseguire un compito. In questo approccio, i servizi sono processi indipendenti - distribuiti su piattaforme middleware standard, ad esempio, J2EE - che sono descritti, pubblicati, trovati e invocati in rete. In questo corso gli studenti avranno l'opportunità di essere introdotti a questo nuovo approccio, per studiare le più recenti metodologie, linguaggi e strumenti e per sviluppare competenze adeguate lavorando in un primo momento su esercizi guidati e, successivamente, su progetti individuali o di gruppo effettuati sia durante le attività di laboratorio supervisionate che non supervisionate
6

Data Mining

Obiettivo di questo corso è introdurre le tecniche che permettono di processare e analizzare grandi quantità di informazioni, discutendo di algoritmi scalabili per l'identificazione di regole associative, cluster, modelli di classificazione. Descrive inoltre tecniche per l'analisi real-time di dati in streaming.
6

Knowledge and Data Integration

L'obiettivo di questo corso è di fornire competenze teoriche ma soprattutto pratiche per l'integrazione di dati eterogenei. Questo è un corso inerentemente di laboratorio. Gli studenti vengono suddivisi in gruppi dove ad ogni gruppo viene assegnato un task che consiste di recuperare dalla rete vari data set (che poranno essere in forma testuale, tabellare, od anche a grafo) e poi integrarli per produrre un knowledge graph che risolve il problema loro assegnato.
6

Laboratory of Biological Data Mining

Obiettivo del corso è di fornire i concetti di analisi dati e statistica necessari per supportare o eseguire l'analisi di dati genomici e trascrittomici.
6

Low-power wireless networking for the Internet of Things

Le tecnologie di comunicazione wireless a bassa potenza sono un elemento cardine dei moderni scenari di computazione distribuita e pervasiva noti come "Internet of Things". Obiettivo del corso è esporre gli studenti a tali tecnologie mediante un approccio pratico, in cui i concetti appresi durante le lezioni vengono immediatamente messi in pratica durante i laboratori. Questi ultimi, che costituiscono circa la metà del corso, si svolgono utilizzando le piattaforme hw/sw attualmente allo stato dell’arte. Il corso si focalizza sui protocolli di rete, contestualizzati da un lato verso il livello fisico e dall'altro verso la loro integrazione e uso in applicazioni reali.
6

Multisensory Interactive Systems

Il corso ha l’obiettivo di fornire basi teoriche e pratiche per la progettazione, sviluppo e valutazione di sistemi interattivi multisensoriali, tangibili e connessi. Gli studenti avranno l'opportunità di esplorare concetti di "physical computing", usare linguaggi di programmazione real-time, imparare le basi della percezione sensoriale umana e progettare interazioni mediate dalla rete in contesti sia locali che remoti.
6

Quantum Machine Learning

Gli obiettivi principali del corso sono fornire una introduzione al Quantum Computing e illustrare le applicazioni delle computazioni quantistiche al Machine Learning. Al termine del corso gli studenti avranno appreso: 1) Le basi della Meccanica Quantistica e come le nozioni di stati e processi di misura quantistici possono essere calati in un contesto di teoria dell’informazione; 2) Come codificare informazione classica nei sistemi quantistici e come processarla mediante operazioni quantistiche; 3) Come gli algoritmi quantistici possono essere applicati in ML; 4) Come quantificare l’efficienza di algoritmi di QML.
6

Real-Time Operating Systems and Middleware

Scopo del corso di Real-Time Operating Systems and Middleware è introdurre il concetto di applicazione real-time e insegnare agli studenti come progettare, sviluppare ed implementare un sistema real-time, sia per quanto riguarda le applicazioni che per quanto riguarda la parte di sistema.
6

Requirements Engineering

Gli obiettivi principali del corso sono: (i) fornire concetti, strumenti e tecniche per l'acquisizione e l'analisi di requisiti software per un progetto di sviluppo software; (ii) sviluppare la comprensione delle problematiche ingegneristiche che formano il background del processo di ingegnerizzare i requisiti.
6

Robot Planning and its application

Il corso presenterà il problema della "deliberazione" in robotica, intendendo la capacità dei robot di ricevere/decidere una missione e di raffinare la scelta con una pianificazione di dettaglio per ottenerne gli obbiettivi. Quest'ultima corrisponde spesso a decidere una traiettoria da seguire evitando ostacoli e collaborando con persone e altri robot. Lo studente riceverà un'introduzione alle principali tecniche di pianificazione di movimento e consoliderà le proprie conoscenze tramite esperienze di laboratorio.
6

Security Testing

Il corso mira a fornire i fondamenti teorici delle attività di analisi del software condotte per il security testing. Saranno presentate applicazioni delle tecniche di analisi del codice relative al reverse engineering del software.
6

Spatial Databases

Obiettivo del corso è lo studio dei database spaziali e il loro uso nei Geographical Information Systems (GIS). La parte teorica si focalizzerà sui linguaggi per dati spaziali, gli algoritmi per la loro manipolazione, e strutture indicizzate per tali dati. La parte pratica utilizzerà il GIS GRASS.
6

Web Architectures

At the end of the course the student will be familiar with the main issues related to web architectures and with several web technologies. It is necessary to be familiar with object oriented programming and Java A basic knowledge of computer networks (TCP/IP stack, sockets) and of Databases and SQL language is required.
6

Affective computing

Questo corso esplora la ricerca computazionale che si riferisce a, deriva da o influenza deliberatamente le emozioni. L'obiettivo è individuare le importanti questioni di ricerca e di stabilire orientamenti di ricerca futuri potenzialmente fruttuosi in relazione all'analisi multimodale delle emozioni e all'interazione uomo-macchina. Al termine del corso gli studenti conosceranno lo stato dell'arte nel "calcolo affettivo" e saranno in grado di scrivere una proposta di ricerca su questo tema.
6

Distributed systems 2

Obiettivo del corso è esporre gli studenti alle problematiche algoritmiche proprie dei sistemi distribuiti, con particolare enfasi sulle proprietà di affidabilità, resilienza ai guasti e contrasto agli attacchi "maligni".
6

 

Curriculum ICT Innovation

Insegnamenti obbligatori

Insegnamenti Crediti (CFU)

Innovation and Entrepreneurship Basic

The goal of the course is to provide students fundamentals in the field of innovation theory and entrepreneurial practice, while focusing on the development of “soft skills” such as presentation, leadership, critical thinking and creativity. At the end of the course, students will be able to: Analyse the different perspectives on I&E and apply them to possible future scenarios; Create rough drafts of sustainable business models starting from an idea and/or product; Discuss the role of entrepreneurship in society and how different organizations function; Explain how technology can be seen both as a positive driver and as a source of disruption for contemporary society; Understand the main decisional models and apply them to analyse real cases; Evaluate the impact of an innovation on organizations and society at large; Present and defend their ideas in public; Discuss ethical implications of innovations, business models and technologies; Identify and discuss technological macro-trends and contextualise them in the I&E field; Positively work in a group setting, managing deadlines and internal group dynamics.
6

Business Development Laboratory

Il corso ha l'obiettivo di dotare gli studenti con strumenti e concetti utili a trasformare un'idea di business in un business model che possa competere con altre idee per una successiva realizzazione pratica nella forma di una impresa o di una start-up. Il corso prevede molte ore di laboratorio ed alcune sezioni di didattica su temi quali concept generation, target clients, suppliers, go to market strategy, competitors, financial basics and risk assessment. Il delivery del corso è un business model.
9

 

Insegnamenti a scelta

51 crediti a scelta tra i seguenti insegnamenti

Insegnamenti Crediti (CFU)

Autonomous Software Agents

La complessità dei sistemi multi-agente ha portato alla definizione di diverse metodologie di sviluppo, architetture software e linguaggi di programmazione in cui il concetto di agente autonomo assume un ruolo centrale al pari del concetto di oggetto nello sviluppo di sistemi object-oriented. L'obiettivo del corso è quello di esaminare ed esplorare le possibilità offerte dall'approccio agent-oriented. Verranno presentate le tecniche di analisi e progettazione agent-oriented e tecniche di implementazione. In particolare, il corso affronterà tematiche legate al concetto di agente e lo sviluppo di sistemi multi-agente, architetture e algoritmi per la progettazione di un agente software, principi di planning, tecniche di modellazione e analisi goal-oriented, linguaggi di comunicazione e metodologie di sviluppo agent-oriented.
6

Bio-Inspired Artificial Intelligence

Il corso descrive teorie ed algoritmi per risolvere problemi reali sulla base di princìpi bio-ispirati, ad esempio Evolutionary Computation e Swarm Intelligence. Inoltre mostra come sistemi artificiali di questo tipo possono essere utilizzati, a loro volta, per comprendere meglio i sistemi biologici. Le lezioni sono accompagnate da esercitazioni di laboratorio per ottenere esperienza pratica di queste tecniche.
6

Cyber Security Risk Assessment

Il corso offre un'introduzione generale alle problematiche per progettare un sistema sicuro a partire dai requisiti di sicurezza e dall'analisi del rischio fino all'analisi architetturale a livello di servizi. La struttura del corso rispecchia la pratica aziendale e prevede l'applicazione delle tecniche sviluppate durante il corso su una serie di casi di studio pratici e la preparazione di una relazione finale.
6

Deep learning

Il corso intende fornire agli studenti una panoramica sui principali modelli e ambiti di applicazione del deep learning. In particolare, nella prima parte del corso si introdurranno i concetti di base relativi al deep learning e all’addestramento di reti neurali artificiali (Backpropagation, Dropout, BatchNorm, ...). Nella seconda parte del corso verranno presentate le principali tipologie di modelli neurali. Si introdurranno le Convolutional Neural Networks, le Recurrent Neural Networks, le Generative Adversarial Networks, il Deep Reinforcement Learning. Nella parte conclusiva del corso verranno presentate alcune applicazioni del deep learning nell’ambito della visione artificiale, della robotica e dell’elaborazione del linguaggio naturale. Alla trattazione teorica si affiancheranno laboratori di programmazione in Python utilizzando le principali librerie di deep learning.
6

Distributed systems 1

Obiettivo del corso è esporre gli studenti ai principi e alle tecnologie di base dei sistemi distribuiti. La parte predominante del corso è dedicata all'esposizione di concetti fondamentali dei sistemi distribuiti quali sincronizzazione, fault-tolerance, replicazione, attraverso lo studio di alcuni algoritmi classici. Nelle esercitazioni in laboratorio vengono invece illustrati gli aspetti tecnologici legati allo sviluppo di applicazioni distribuite, attraverso lo studio di tecnologie base quali socket e invocazione di procedure remote (RPC). Infine, l'ultima parte del corso è dedicata a lezioni monografiche su monografiche su argomenti avanzati e di ricerca.
6

Fog and Cloud Computing

Il corso ha l'obiettivo di formare gli studenti sulle tecnologie di computazione distribuita basate su infrastrutture centralizzate (cloud) o maggiormente decentralizzate (fog). Le lezioni offrono sia una panoramica teorica sia dei momenti di apprendimento interattivi nei quali gli studenti apprendono l'utilizzo dei software open-source maggiormente utilizzati dalle comunità di riferimento.
6

Formal methods mod I and mod II

I metodi formali sono sempre più usati nello sviluppo di sistemi SW e HW industriali come potenti strumenti per la specifica, la verifica e la ricerca di errori. Questo corso presenta un'introduzione alle metodologie e agli strumenti per la specifica e soprattutto per la verifica formale di sistemi SW e HW. Ad eccezione di una parte introduttiva sulle tecniche formali e la loro utilità, il corso si concentrerà sulle tecniche di verifica formale, ed in particolare sulle tecniche di "Model Checking".
12

Formal Techniques for Cryptographic Protocol Analysis

L’obiettivo del corso è quello di presentare agli studenti le tecniche formali per la verifica automatica di proprietà di sicurezza sui protocolli crittografici. Dopo avere fornito agli studenti le basi della teoria dei linguaggi di programmazione, il corso le applica per modellare protocolli e costruire algoritmi per verificare la robustezza agli attacchi. Lo studente alla fine del corso deve avere imparato: a ragionare sui punti fissi di una funzione su un dominio; a modellare protocolli in opportuni linguaggi; a conoscere i risultati negativi sulla verifica dei protocolli; a descrivere le tecniche principali di verifica dei protocolli (model checking, analisi statica); a comprendere qualche algoritmo per la verifica dei protocolli; a usare uno strumento automatico per verificare protocolli e generare dimostrazioni formali di sicurezza; a conoscere le basi della logica utilizzata in tali dimostrazioni formali.
12

Game Theory

Il corso propone una introduzione ai concetti fondamentali della Teoria della Decisione e della Teoria dei Giochi. Gli obiettivi del corso sono articolati nel modo seguente. In primo luogo, il corso fornisce solide basi per la comprensione dei principali concetti delle teorie, ad esempio, i concetti di preferenza e di funzione di utilità, la nozione di strategia, le diverse classi di giochi, le principali nozioni di soluzione di un gioco. In secondo luogo, le competenze teoriche sono messe in pratica al fine di sviluppare le abilità necessarie per modellare uno scenario di interazione tra agenti. La comprensione dello scenario e la consapevolezza delle scelte di modellazione forniscono gli strumenti per ampliare le competenze di problem solving dei partecipanti, per i tipi di problemi in questione. In terzo luogo, l’applicazione delle nozioni teoriche nella pratica di modellazione sarà associata allo sviluppo dell’implementazione delle soluzioni proposte, per testare la loro efficienza e attendibilità in pratica. La modellazione e l’implementazione degli scenari proposti saranno sviluppate dai partecipanti divisi in gruppi che collaborano per trovare le soluzioni adatte
6

Human computer interaction

This course is delivered in English. The overall goal of this course is to develop human-centered design skills, and adopt principles and methods to create effective user interfaces. To achieve the goal, upon successful attendance to this course, the students will acquire following knowledge and skills:• Learning methods and principles of Human-Computer Interaction design.• Learning methods and techniques of requirements elicitation.• Learning techniques for prototyping, and how to use the prototypes to get feedback from other stakeholders like classmates, team colleagues, and users.• Learning principles of visual design to effectively organize and present information with interfaces.• Learning principles of perception and cognition to inform effective interaction design. • Learning methods and techniques of evaluating user interface alternatives with end users. Students will apply knowledge and skills from above in completing a semester project in teams. The setting for the project is a web application design. The course encourages team assignments for several reasons. Firstly, they provide students with opportunities to develop and enhance interpersonal, communication, leadership and other team-building skills. Secondly, team assignments are also beneficial for learning integrative skills for solving together a complex task.
6

ICT Innovation

Il corso illustra i passaggi fondamentali nella progettazione e nello sviluppo di un prodotto e guida gli studenti, formando i team multidisciplinari, nell’elaborazione di un "prodotto" superando il concetto di un mero progetto. Il corso si differenzia alla fine per la tipologia di studenti e puo' includere la partecipazione a summer school, la presentazione di un detailed business plan, o la presentazione di una dettagliata architettura software.
9

Laboratory of Biological Data Mining

Obiettivo del corso è di fornire i concetti di analisi dati e statistica necessari per supportare o eseguire l'analisi di dati genomici e trascrittomici.
6

Network Security

Offrire un'introduzione generale alle problematiche, algoritmi e soluzioni per la sicurezza nelle reti.
6

Optimization techniques

Il corso punta a dare una prima introduzione teorica, supportata da esempi concreti, all'uso di ottimizzazione matematica/ricerca operativa per risolvere problemi e fornire soluzioni migliori. E' idealmente combinato ad a un corso di "Machine learning". Un "Data Scientist" parte da fonti di dati ricche e abbondanti, costruisce modelli matematici utilizzando i dati (machine learning), presenta e comunica le intuizioni ottenute, fornisce soluzioni migliorative (ottimizzazione). L'innovazione nell'industria e nei servizi è l'obiettivo finale.
6

Requirement Engineering

Gli obiettivi principali del corso sono: (i) fornire concetti, strumenti e tecniche per l'acquisizione e l'analisi di requisiti software per un progetto di sviluppo software; (ii) sviluppare la comprensione delle problematiche ingegneristiche che formano il background del processo di ingegnerizzare i requisiti.
6

Service Design and Engineering

Il corso si focalizza sulle più recenti metodologie, linguaggi e strumenti per sostenere l'approccio " service-oriented " per la programmazione e la gestione dei processi aziendali. Metodologie, linguaggi e strumenti basati sull'idea di comporre applicazioni scoprendo e invocando servizi di rete disponibili, piuttosto che costruire nuove applicazioni per eseguire un compito. In questo approccio, i servizi sono processi indipendenti - distribuiti su piattaforme middleware standard, ad esempio, J2EE - che sono descritti, pubblicati, trovati e invocati in rete. In questo corso gli studenti avranno l'opportunità di essere introdotti a questo nuovo approccio, per studiare le più recenti metodologie, linguaggi e strumenti e per sviluppare competenze adeguate lavorando in un primo momento su esercizi guidati e, successivamente, su progetti individuali o di gruppo effettuati sia durante le attività di laboratorio supervisionate che non supervisionate
6

Statistical Methods

Lo studente apprenderà la teoria di base e la pratica dell’inferenza statistica, con particolare riferimento all’approccio basato sulla verosimiglianza e all'impiego del modello di regressione lineare. Nel dettaglio, dopo un breve riepilogo dei principi di base di teoria della probabilità e delle variabili casuali, il corso permetterà agli studenti di: sviluppare una conoscenza approfondita del concetto di funzione di verosimiglianza e delle sue caratteristiche; saper utilizzare il metodo della stima di massima verosimiglianza.
6

Statistical Models

Lo studente alla fine di questo insegnamento sarà in grado di utilizzare modelli di regressione, tra cui i modelli lineari generalizzati, per lo studio della relazione tra variabili sia continue che discrete e categoriche. Sarà familiare con metodi di classificazione, come l’analisi dei discriminanti. Conoscerà e saprà usare metodi di riduzione dimensionale, supervisionati e non, metodi ad albero, tra cui foreste casuali, e tecniche di clustering. Avrà appreso gli aspetti fondamentali della teoria e sarà in grado di discutere la bontà di un’analisi statistica e di applicare i risultati teorici a casi pratici attraverso l’uso di un programma di calcolo statistico.
6

Concurrency

Obiettivo del corso è fornire i principali fondamenti teorici e pratici della teoria della concorrenza.
6

Data Mining

Obiettivo di questo corso è introdurre le tecniche che permettono di processare e analizzare grandi quantità di informazioni, discutendo di algoritmi scalabili per l'identificazione di regole associative, cluster, modelli di classificazione. Descrive inoltre tecniche per l'analisi real-time di dati in streaming.
6

Introduction to Computer and Network Security

Il corso fornisce un'introduzione ai fondamenti della sicurezza informatica e delle reti, un'area che sta assumendo importanza crescente. L'obiettivo principale è quello di mettere in grado lo studente di comprendere il significato di sicurezza sia in teoria che in pratica, essere in grado di riconoscere le potenziali minacce alle proprietà di sicurezza fondamentali (quali, ad esempio, la confidenzialità e l'integrità) ed illustrare i meccanismi di sicurezza principali che garantiscono tali proprietà (come i protocolli di autenticazione e autorizzazione o le politiche di controllo degli accessi).
6

Knowledge and Data Integration

L'obiettivo di questo corso è di fornire competenze teoriche ma soprattutto pratiche per l'integrazione di dati eterogenei. Questo è un corso inerentemente di laboratorio. Gli studenti vengono suddivisi in gruppi dove ad ogni gruppo viene assegnato un task che consiste di recuperare dalla rete vari data set (che poranno essere in forma testuale, tabellare, od anche a grafo) e poi integrarli per produrre un knowledge graph che risolve il problema loro assegnato.
6

Low-power wireless networking for the Internet of Things

Le tecnologie di comunicazione wireless a bassa potenza sono un elemento cardine dei moderni scenari di computazione distribuita e pervasiva noti come "Internet of Things". Obiettivo del corso è esporre gli studenti a tali tecnologie mediante un approccio pratico, in cui i concetti appresi durante le lezioni vengono immediatamente messi in pratica durante i laboratori. Questi ultimi, che costituiscono circa la metà del corso, si svolgono utilizzando le piattaforme hw/sw attualmente allo stato dell’arte. Il corso si focalizza sui protocolli di rete, contestualizzati da un lato verso il livello fisico e dall'altro verso la loro integrazione e uso in applicazioni reali.
6

Machine Learning

Obiettivo del corso è fornire i principali fondamenti teorici e pratici della teoria del machine learning, delle principali tecniche di supervised e unsupervised learning, e del ragionamento probabilitistico.
6

Participatory Design

The course aims at providing a theoretical framework and empirical experience of Participatory Design, including planning a PD project, running it, communicating the results.
6

Privacy and Intellectual Property Rights

L'obiettivo del corso è quello di introdurre gli studenti ai principi fondamentali in tema di riservatezza e proprietà intellettuale.
6

Project course

L'obiettivo del corso è la realizzazione di un progetto in uno degli ambiti applicativi dell'ingegneria dell'informazione. Lo studente, affiancato da un advisor, avrà modo di conoscere tutti gli strumenti da quelli base a quelli più avanzati dell'ambito scelto, e dovrà sviluppare in autonomia una soluzione ad uno specifico problema identificato assieme all'advisor.
6

Real-Time Operating Systems and Middleware

Scopo del corso di Real-Time Operating Systems and Middleware è introdurre il concetto di applicazione real-time e insegnare agli studenti come progettare, sviluppare ed implementare un sistema real-time, sia per quanto riguarda le applicazioni che per quanto riguarda la parte di sistema.
6

Robot Planning and its application

Il corso presenterà il problema della "deliberazione" in robotica, intendendo la capacità dei robot di ricevere/decidere una missione e di raffinare la scelta con una pianificazione di dettaglio per ottenerne gli obbiettivi. Quest'ultima corrisponde spesso a decidere una traiettoria da seguire evitando ostacoli e collaborando con persone e altri robot. Lo studente riceverà un'introduzione alle principali tecniche di pianificazione di movimento e consoliderà le proprie conoscenze tramite esperienze di laboratorio.
6

Security Testing

Il corso mira a fornire i fondamenti teorici delle attività di analisi del software condotte per il security testing. Saranno presentate applicazioni delle tecniche di analisi del codice relative al reverse engineering del software.
6

Web Architectures

At the end of the course the student will be familiar with the main issues related to web architectures and with several web technologies. It is necessary to be familiar with object oriented programming and Java A basic knowledge of computer networks (TCP/IP stack, sockets) and of Databases and SQL language is required.
6

Affective computing

Questo corso esplora la ricerca computazionale che si riferisce a, deriva da o influenza deliberatamente le emozioni. L'obiettivo è individuare le importanti questioni di ricerca e di stabilire orientamenti di ricerca futuri potenzialmente fruttuosi in relazione all'analisi multimodale delle emozioni e all'interazione uomo-macchina. Al termine del corso gli studenti conosceranno lo stato dell'arte nel "calcolo affettivo" e saranno in grado di scrivere una proposta di ricerca su questo tema.
6

Complexity, Cryptography and Financial Technologies

The students will learn the foundations for understanding complexity, cryptography and zero knowledge that is necessary for understanding crypto-currenciesn (basic of NP-completeness theory, one-way functions, interactive proof systems and Zero-Knowledge proof systems). Then the student will experiment with modern financial instruments and technologies such as cryptographic auctions, crypto-currencies, distributed stock exchanges, and other financial applications (FinTech)
6

Distributed systems 2

Obiettivo del corso è esporre gli studenti alle problematiche algoritmiche proprie dei sistemi distribuiti, con particolare enfasi sulle proprietà di affidabilità, resilienza ai guasti e contrasto agli attacchi "maligni".
6

Innovation and Entrepreneurship Studies in ICT

The course objective is the practical application of the knowledge and experience gain in the previous I&E minor courses of the EIT Digital/ICT Innovation curriculum. The course is composed of two parts – with related groundfield concepts, methods and/or tools – that will be covered in the context of a selected innovation or entrepreneurial case study: • One fixed and common part: Assessing the impact of a technology on an industry, market and/or organization, the support and barriers to its deployment, how to perform business research, entry to market/market grow. • One case-dependent part: pertaining to market / business environment analysis (main forces affecting the business, suppliers, partners, competition, environmental issues), sustainability and social issues, business modeling, go-to-market strategies, etc.
6

Multisensory interactive systems

Il corso ha l’obiettivo di fornire basi teoriche e pratiche per la progettazione, sviluppo e valutazione di sistemi interattivi multisensoriali, tangibili e connessi. Gli studenti avranno l'opportunità di esplorare concetti di "physical computing", usare linguaggi di programmazione real-time, imparare le basi della percezione sensoriale umana e progettare interazioni mediate dalla rete in contesti sia locali che remoti.
6

Offensive Technologies

Il progresso scientifico nella sicurezza informatica è guidato dalla mutua comprensione di attacco e difesa. Il corso punta ad avanzare la conoscenza concreta degli studenti degli attacchi ai sistemi operativi, alle reti ed alle applicazioni.
12

Prototyping interactive systems

 
6

Quantum Machine Learning

Gli obiettivi principali del corso sono fornire una introduzione al Quantum Computing e illustrare le applicazioni delle computazioni quantistiche al Machine Learning. Al termine del corso gli studenti avranno appreso: 1) Le basi della Meccanica Quantistica e come le nozioni di stati e processi di misura quantistici possono essere calati in un contesto di teoria dell’informazione; 2) Come codificare informazione classica nei sistemi quantistici e come processarla mediante operazioni quantistiche; 3) Come gli algoritmi quantistici possono essere applicati in ML; 4) Come quantificare l’efficienza di algoritmi di QML.
6

Research Project

Obiettivo del corso è sviluppare progetti di ricerca avanzati in un settore dell’Informatica
12
Aggiornato il
10 Settembre 2020