1047205 | CLOUD COMPUTING | 1º | 2º | 6 | INF/01 | ENG |
Obiettivi formativi Obiettivi generali:
Lo scopo del corso è quello di fornire agli studenti i concetti di base dei sistemi distribuiti e quindi di concentrarsi sulle tecnologie di cloud computing. Il corso copre aspetti teorici e pratici con un focus su esempi reali. Alla fine del corso si suppone che gli studenti siano in grado di scegliere, configurare e utilizzare i servizi cloud e progettare e distribuire architetture scalabili ed applicazioni elastiche.
Obiettivi specifici:
Conoscenza e capacità di comprensione:
Al termine del corso, lo studente sarà in grado di descrivere e spiegare
- i concetti generali dei sistemi distribuiti
- il concetto di virtualizzazione di sistema e applicazione
- i meccanismi e gli algoritmi utilizzati nel cloud computing
- le tecnologie per lo storage cloud
- i framework per l’elaborazione dei bigdata
- i problemi di sicurezza informatica e le soluzioni nel cloud computing
Conoscenza e capacità di comprensione applicate:
Al termine del corso, lo studente sarà in grado di
- progettare e implementare un'architettura scalabile e distribuire un'applicazione elastica
- presentare risultati pratici sotto forma di rapporto tecnico
- analizzare e presentare lavori scientifici
- selezionare, configurare ed eseguire servizi cloud utilizzando la GUI e l'API di gestione offerte dai provider IaaS
- progettare e configurare infrastrutture scalabili e applicazioni distribuite elastiche.
- fare scelte progettuali che tengano conto dei problemi di sicurezza informatica
Autonomia di giudizio:
Al termine del corso, lo studente:
- sara’ in grado di valutare e confrontare le tecnologie cloud e i servizi cloud, nonché i framework di elaborazione dei big data
- sara’ in grado di identificare, valutare e confrontare soluzioni all'avanguardia
- rafforzera’ la sua capacità di pensiero critico
Abilità comunicative:
Al termine del corso lo studente:
- sara’ in grado di discutere e trasmettere la propria opinione sulle tecnologie cloud
- sara’ grado di presentare l'analisi di un argomento selezionato a un vasto pubblico
Capacità di apprendere:
Durante il corso, lo studente svilupperà e migliorerà la sua capacità di pensiero critico attraverso lo studio e l'analisi di lavori scientifici e di documentazione tecnica. Inoltre, lo studente migliorerà la sua capacità di integrare informazioni da diverse fonti, ad es. libri, documenti tecnici/scientifici ed esperienze pratiche.
|
1047197 | DATA MANAGEMENT FOR DATA SCIENCE | 1º | 2º | 6 | ING-INF/05 | ENG |
Obiettivi formativi The main goal of the course is to present the basic concepts of data
management systems. The first part of the course introduces the main aspects
of relational database systems, including basic functionalities, file and index
organizations, and query processing. The second part of the course aims
at presenting the main non-relational approaches to data management, in
particular, multidimensional data management, large-scale data management,
and open data management.
|
10606654 | ADVANCED DATA MINING AND LANGUAGE TECHNOLOGY | 1º | 2º | 6 | ING-INF/05 | ENG |
Obiettivi formativi The course will present fundamental technologies for advanced data mining
applications. The course will start with presenting the methodologies for storing
and retrieving information on the Web, mining application logs, mining social
media, collaborative filtering and personalization. The course will also present
the basic technologies for classification and learning, with emphasis on textual data sources.
Applications will include mining of consumer preferences, online marketplaces, digital marketing
and Natural Language Processing applications such as sentiment analysis. As part of the course students will carry on a
field study on a relevant use case for a selected application.
|
10589621 | ADVANCED MACHINE LEARNING | 2º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi General objectives:
The course will present to students advanced and most recent concepts of machine learning and their application in computer vision via deep neural network (DNN) models. It will include theory and practical coding, as well as a final hands-on project. Towards the coding assignments and the final project, the students will work in teams and present their ideas and project outcome to the class.
Specific objectives
The first part of the course includes delving into state-of-the-art DNN models for classification and regression applied to detection (where the objects are in the image), pose estimation (whether people stand, sit or crunch) and re-identification (estimating a unique vector representation for each person). The course further discusses DNNs for multi-task objectives (joint detection, pose estimation, re-identification, segmentation, depth estimation etc). This first part would include DNNs which apply to video sequences, by leveraging memory (e.g. LSTMs) or attention (Transformers).
The second part of the course delves into models, training techniques and data manipulation for generalization, domain adaptation and meta-learning. Further to transfer learning (how pre-trained models may be deployed for other tasks), it discusses multi-modal (with different sensor modalities such as depth or thermal cameras) and self-supervision (e.g. training the DNN model by solving jigsaw puzzles) to auto-annotate large amounts of data. Finally, it presents domain adaptation (e.g. apply daytime-detectors for night vision) and meta-learning, a most recent framework to learn how to learn a task, e.g. online or from little available data.
Knowledge and understanding:
At the end of the course students will be familiar with state-of-the-art DNN models for multiple tasks and multi-task objectives, as well as generalization and the effective use of labelled and unlabelled data for learning, self-supervision and meta-learning.
Apply knowledge and understanding:
At the end of the course students will have become familiar with the most recent advances in machine learning across a variety of tasks, their adaptation to novel domains and the continual self-learning of algorithms. They will be able to explain the algorithms and choose the most appropriate techniques for a given problem. They will be able to experiment with existing implementations and design and write programs for new solutions for a given task or problem in the two fields.
Critical and judgment skills:
Students will be able to analyse a problem or task and identify the most suitable methodologies and techniques to apply in terms of the effective resolution of the problem (accuracy) and its feasibility, including the efficiency, the required amount of data and annotation. Further to class discussions, critical and judgemental skills would be the result of assignments, a course project and a final project report.
Communication skills:
Students will acquire the ability to expose their knowledge in a clear and organized way, which will be verified through a final project presentation and its discussion.
Students will be able to express their solutions rigorously and to explain the structure of the code they have written.
Learning ability:
The acquired knowledge will enable students to face the study of other problems in machine learning and computer vision. Learning ability would result from the chosen lecture topics, covering most broad areas in advanced machine learning, as well as from the final project, for which students would deep dive into a new topic, beyond the thought material.
|
10600503 | DATA-DRIVEN MODELING OF COMPLEX SYSTEMS | 2º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi General
This course aims to exploit advanced techniques from network science and complex systems to understand and eventually predict social-relevant issues (information diffusion, mobility, etc.).
The course aims to design efficient strategies to extract knowledge from data through the complex systems approach by stressing the combination of network science and complex systems to build sound mathematical models of complex phenomena.
The course will introduce advanced topics of networks science and diffusion models and address the data-driven modeling of complex socio-technical systems (e.g., misinformation diffusion, echo chambers formation, bot detection, mobility patterns, system resilience).
The first part of the course will explore the foundational aspects of advanced topics of complex networks (multilayer networks, percolation theory, time-varying graphs). The second part will apply those concepts to actual cases from up-to-date scientific findings ranging from the effect of feed algorithms on social dynamics to patterns of human mobility, passing through information operations, and bot detection.
We will use data from real case scenarios (from Facebook, Twitter, Mobility Data, etc.) to analyze phenomena and build and validate models of complex phenomena.
Specific
• Knowledge and understanding: To know and discuss recent advances in the area of data-driven modeling of complex systems, in particular on algorithms and models to understand and eventually predict social dynamics (e.g., information diffusion, polarization)
• Applying knowledge and understanding: to know how to apply criteria and techniques for designing a data analysis framework exploiting the theory of complex systems.
• Making judgments: to select the most appropriate strategy to cope with the data-driven modeling of complex phenomena
• Communication skills: know how to present projects, including design constraints, solutions, and use possibilities.
• Learning skills: ability to develop more advanced studies in data-driven modeling of complex systems.
|
1047214 | DATA PRIVACY AND SECURITY | 2º | 1º | 6 | INF/01 | ENG |
Obiettivi formativi General Objectives
Ensuring the privacy of personal data, and securing the computing infrastructures, are key concerns when collecting and analyzing sensitive data sets. Example of these data sets include medical data, personal communication, personal and company-wide financial information. The course is meant to cover an overview of modern techniques aimed at protecting data privacy and security in such applications.
Specific Objectives
The students will learn the basic cryptographic techniques and their application to obtaining privacy of data in several applications, including cloud computing, statistical databases, distributed computation, and cryptocurrencies.
Knowledge and Understanding
-) Modern cryptographic techniques and their limitations.
-) Techniques for achieving privacy in statistical databases.
-) Techniques for designing cryptographic currencies and distributed ledgers.
-) Techniques for secure distributed multiparty computation.
Applying knowledge and understanding:
-) How to select the right cryptographic scheme for a particular application.
-) How to design a differentially private mechanism.
-) How to program a secure cryptosystem, or a secure smart contract, or a secure cryptographic protocol.
Autonomy of Judgment
The students will be able to judge the security of the main cryptographic applications.
Communication Skills
How to describe the security of cryptographic standards, privacy-preserving statistical databases, and blockchains.
Next Study Abilities
The students interested in research will learn what are the main open challenges in the area, and will obtain the necessary background for a deeper study of the subjects.
|
10610252 | SIGNAL PROCESSING FOR MACHINE LEARNING | 2º | 1º | 6 | ING-INF/03 | ENG |
Obiettivi formativi Obiettivi
L'obiettivo del corso è insegnare le metodologie di base dell'elaborazione dei segnali e mostrare la
loro applicazione al machine learning e alla data science. I metodi includono: (i) strumenti standard
per l'elaborazione di serie temporali e immagini, come l'analisi in frequenza, il filtraggio e il
campionamento; (ii) Modelli di dati basati su sparsità e basso rango con applicazioni all'elaborazione
di dati con alta dimensionalità (p.es., ricostruzione sparsa, fattorizzazione di matrici, completamento
di tensori); (iii) Strumenti di elaborazione di segnali su grafo, adatti ad analizzare ed elaborare dati
definiti su domini non metrici (ad es. grafi, ipergrafi, topologie, ecc.) con l’obiettivo di realizzare task di
graph machine learning come filtraggio su grafo, clustering spettrale, inferenza della topologia dai
dati e reti neurali su grafo. Infine, viene mostrato come formulare e risolvere problemi di machine
learning in modo distribuito, adatto per applicazioni di big data, dove l'apprendimento e
l'elaborazione dei dati devono essere necessariamente eseguiti su più macchine. Homework ed
esercitazioni su dati reali saranno svolti utilizzando Python e/o Matlab.
Obiettivi specifici:
6. Conoscenza e comprensione: Apprendere le basi dell'elaborazione dei segnali per il machine
learning e applicare questi concetti a problemi di data science.
7. Applicazione: Applicare tecniche di elaborazione dei segnali e machine learning su set di dati
reali, utilizzando linguaggi di programmazione come Python e Matlab.
8. Autonomia di giudizio: Analizzare i vantaggi e i limiti dei diversi strumenti e modelli e
determinare la migliore metodologia da utilizzare per un determinato problema.
9. Comunicazione: Comunicare in modo efficace nei campi dell’elaborazione dei segnali e del
machine learning, considerando la teoria, i vincoli, le soluzioni e le potenziali applicazioni.
10. Abilità di apprendimento: Sviluppare studi nel campo dell'elaborazione dei segnali per il
machine learning, inclusa la capacità di intraprendere ricerche in questo settore.
|
1044406 | BIG DATA COMPUTING | 2º | 1º | 6 | ING-INF/05 | ENG |
Obiettivi formativi Obiettivi generali:
Conoscenza dei principali scenari applicativi di interesse nell'analisi di
collezioni di dati di grandi dimensioni.
Conoscenza e comprensione dei principali problemi metodologici e di analisi posti dalla
dimensione crescente dei dati.
Conoscenza delle principali tecniche di soluzione e dei principali strumenti
a disposizione per implementarle.
Comprensione degli aspetti teorici e fondazionali delle principali tecniche per
l'analisi di collezioni di dati di grandi dimensioni
Capacità di tradurre le nozioni acquisite in programmi per la soluzione di problemi
specifici.
Conoscenza delle principali tecniche di valutazione e loro applicazione a scenari specifici.
Obiettivi specifici:
Capacità di:
- individuare le tecniche più adatte a un problema di analisi di dati di grandi dimensioni;
- implementare la soluzione proposta, individuando gli strumenti più adatti a
raggiungere lo scopo tra quelli disponibili;
- progettare e realizzari scenari sperimentali per valutare le soluzioni proposte
in condizioni realistiche;
Conoscenza e comprensione:
- conoscenza dei principali scenari applicativi;
- conoscenza delle principali tecniche di analisi;
- comprensione dei presupposti teorici e metodologici alla base delle tecniche principali
- conoscenza e comprensione delle principali tecniche e indici di valutazione
delle prestazioni
Applicare conoscenza e comprensione:
- essere in grado di tradurre esigenze applicative in problemi concreti di analisi
dei dati;
- essere in grado di identificare gli aspetti del problema, se presenti, che potrebbero rendere
la dimensione (o dimensionalità) dei dati un fattore critico;
- essere in grado di individuare le tecniche e gli strumenti più adatti alla soluzione dei
problemi concreti di cui sopra;
- essere in grado di stimare a priori, almeno qualitativamente, la scalabilità delle
soluzioni proposte;
Capacità critiche e di giudizio:
Essere in grado di valutare, anche sperimentalmente, l'efficacia, l'efficienza e la scalabilità
delle soluzioni proposte
Capacità comunicative:
Essere in grado di descrivere in modo efficace le specifiche di un
problema e di comunicare ad altri le scelte adottate e le motivazioni sottostanti a
tali scelte.
Capacità di apprendimento:
Il corso consentirà lo sviluppo di capacità di approfondimento autonomo
su argomenti del corso o ad essi correlati. Metterà lo studente nelle condizioni
di individuare e consultare in modo critico manuali avanzati o letteratura scientifica
per affrontare scenari nuovi oppure per applicare tecniche alternative a scenari noti.
|
1056023 | SMART ENVIRONMENTS | 2º | 2º | 6 | ING-INF/03 | ENG |
Obiettivi formativi GENERALI
L'obiettivo di questo corso è fornire una panoramica del vasto mondo delle tecnologie wireless e cablate che verranno utilizzate per gli ambienti intelligenti. Queste tecnologie saranno in grado di fornire infrastrutture di rete e piattaforme per l’elaborazione delle informazioni digitali utilizzate in ambienti urbani e in ambienti intelligenti.
I recenti progressi in settori quali quelli dell’edge computing, dell'apprendimento automatico, delle reti wireless e rete di sensori consentono varie applicazioni ambientali intelligenti nella vita di tutti i giorni. L'obiettivo principale di questo corso è presentare e discutere i recenti progressi nell'area dell'Internet of Things, in particolare su tecnologie, architetture, algoritmi e protocolli per ambienti intelligenti con enfasi sulle applicazioni reali di ambienti intelligenti. Il corso presenterà gli aspetti di comunicazione e networking, nonché l'elaborazione dei dati da utilizzare per la progettazione dell'applicazione. Il corso proporrà due casi di studio nel campo degli ambienti intelligenti: monitoraggio del traffico veicolare per applicazioni ITS e reti wireless a basso consumo energetico. In entrambi i casi verranno forniti strumenti, modelli e metodologie per la progettazione di applicazioni per ambienti intelligenti.
SPECIFICI
• Conoscenza e capacità di comprensione: Conoscere i recenti progressi nell'area dell'Internet delle cose, in particolare su tecnologie, architetture, algoritmi e protocolli per ambienti intelligenti con enfasi sulle applicazioni e sulle piattaforme di elaborazione.
• Capacità di applicare conoscenza e comprensione: saper applicare criteri e tecniche di progettazione di piattaforme intelligenti per l’acquisizione dei dati, per la comunicazione in rete e per le applicazioni in contesti di ambienti intelligenti.
• Autonomia di giudizio: saper analizzare benefici e limiti di progetti ambienti intelligenti.
• Abilità comunicative: saper presentare progetti su ambienti intelligenti e di IoT, compresi vincoli progettuali, soluzioni e possibilità d’impiego.
• Capacità di apprendimento: capacità di sviluppare studi più avanzati nell’ambito delle tecnologie di elaborazione e di rete in ambienti intelligenti.
|
10616532 | ECONOMICS AND COMPUTATION | 2º | 2º | 6 | ING-INF/05 | ENG |
Obiettivi formativi Obiettivi generali:
Il corso presenterà un'ampia panoramica di argomenti all’intersezione di informatica, scienza dei dati ed economia, sottolineando l’efficienza, la robustezza e le applicazioni ai mercati online emergenti. Introdurrà i principi della teoria algoritmica dei giochi e della progettazione dei meccanismi economici, della progettazione algoritmica del mercato, nonché dell'apprendimento automatico nei giochi e nei mercati. Dimostrerà applicazioni a casi di studio nella ricerca sul Web e nella pubblicità online, nell'economia delle reti, nei dati, nelle criptovalute e nei mercati dell'intelligenza artificiale.
Risultati specifici:
Conoscenza e comprensione:
I principi algoritmici e matematici dell’economia alla base della progettazione e del funzionamento di mercati online efficienti e robusti. L'applicazione di questi principi in esempi concreti di mercati online.
Applicare conoscenza e comprensione:
Essere in grado di progettare e analizzare algoritmi per concrete applicazioni dei mercati online rispetto ai requisiti di efficienza e robustezza.
Capacità critiche e di giudizio:
Essere in grado di valutare la qualità di un algoritmo per applicazioni nel mercato online, discriminando gli aspetti di modellizzazione da quelli legati all'implementazione algoritmica e di sistema.
Capacità comunicative:
Capacità di comunicare e condividere le scelte di modellazione e i requisiti di sistema, nonché i risultati dell'analisi dell'efficienza degli algoritmi del mercato online.
Capacità di apprendimento:
Il corso stimola gli studenti ad acquisire capacità di apprendimento al crocevia tra informatica, economia e applicazioni del mercato digitale, compresi i diversi linguaggi utilizzati in questi campi.
|
10616533 | GRAPH MINING AND APPLICATIONS | 2º | 2º | 6 | ING-INF/05 | ENG |
Obiettivi formativi Risultati di apprendimento attesi:
Graphs have applications in multiple areas, including social networks, bioinformatics, network medicine, computational chemistry, and they can be used to provide tools in these areas.
The course will present models and algorithms for the analysis of graphs as with applications on various areas. The goal at the end of the course, is for student to know algorithms and frameworks that can allow them to analyze large graph data.
Informazioni sui prerequisiti culturali e curriculari necessari
- Knowledge of basic algorithms
- Programming
- Linear algebra
- Probability
- Neural networks
Programma in italiano
• Theoretical algorithms for graph modeling and analysis:
◦ Real graph properties and models (Gnp, preferential attachment, Kleinberg’s reachability)
◦ Models for propagation (linear threshold, cascade) and for opinion formation
◦ Homophily and influence and algorithms for identifying and distinguishing
◦ Influence maximization
◦ Algorithms for graph alignment
◦ Dense subgraphs, community detection, graph minors
◦ Graph summarization and sampling
• Machine-learning approaches:
◦ Label propagation
◦ Graph transformers
◦ Knowledge-graph emdeddings
◦ Models for analysis of temporal graphs
◦ Explainability
• Architectures for handling large graph data:
◦ Spark GraphsX
◦ AWS Neptune
◦ AWS GraphStorm
◦ Neo4J
Modalità di valutazione delle conoscenze
Prova scritta
Prova orale
Valutazione progetto
Modalità di valutazione in italiano
Homeworks and/or project and oral exam or written exam
Esempi di domande e/o esercizi frequenti
Find the most influential nodes in a network.
Testi adottati
Material will be distributed online
Modalità di svolgimento
Didattica frontale/tradizionale
Modalità di svolgimento in italiano
The course is based on in-class theoretical lectures and sometimes in-class labs.
Modalità di frequenza
Classes are in person.
Programmazione:
http://aris.me/index.php/teaching
|