1047205 | CLOUD COMPUTING | 1st | 2nd | 6 | ENG |
Educational objectives General Objectives:
The purpose of the course is to give students the basic concepts of distributed systems and then to focus on cloud computing technologies. The course cover theoretical and practical aspects with a focus on real examples. At the end of the course students are supposed to be capable to chose, setup and use cloud services and to design and deploy scalable architectures and elastic applications.
Specific Objectives:
Knowledge and understanding:
On completion of the course, the student will be be able to describe and to explain
- the general concepts related to distributed systems
- the concepts of system and application virtualization
- the mechanisms and algorithms used in cloud computing
- the technologies for cloud storage
- the big data processing frameworks
- the cyber security issues and solutions in cloud computing
Applying knowledge and understanding:
On completion of the course, the student will be able:
- to design and to implement a scalable architecture and to deploy an elastic application
- to write and to present practical results in the form of technical report
- to analyze and to present scientific work
- to select, to configure and to run cloud services by using management GUI and API offered by IaaS providers
- to design and to configure elastic infrastructure and to deploy elastic applications.
- to make design choices that account for cyber security issues
Making judgements:
On completion of the course, the student will:
- be capable to assess and to compare cloud technologies and cloud services, as well as big data processing frameworks
- be capable to identify, to assess and to compare state of the art solutions
- strengthen his/her critical thinking ability
Communication skills:
On completion of the course, the student will:
- be capable to discuss on and to convey his/her own opinion on cloud technologies
- be capable to present the analysis of a selected topic to a wide audience
Learning skills:
During the course, the student will develop and will enhance his/her critical thinking skill by means of studying and analyzing scientific work and technical documentation. Moreover, the student will improve his/her capability to integrate information from different sources, e.g. books, technical/scientific papers, practical experiences.
|
1047197 | DATA MANAGEMENT FOR DATA SCIENCE | 1st | 2nd | 6 | ENG |
Educational objectives 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 | 1st | 2nd | 6 | ENG |
Educational objectives 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 | 2nd | 1st | 6 | ENG |
Educational objectives 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 | 2nd | 1st | 6 | ENG |
Educational objectives 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 | 2nd | 1st | 6 | ENG |
Educational objectives 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 | 2nd | 1st | 6 | ENG |
Educational objectives Eng
Objectives
The goal of the course is to teach basic methodologies of signal processing and to show their
application to machine learning and data science. The methods include: (i) Standard tools for
processing time series and images, such as frequency analysis, filtering, and sampling; (ii) Sparse and
low-rank data models with applications to high-dimensional data processing (e.g., sparse recovery
matrix factorization, tensor completion); (iii) Graph signal processing tools, suitable to analyze and
process data defined over non-metric space domains (e.g., graphs, hypergraphs, topologies, etc.) with
the aim of performing graph machine learning tasks such as graph filtering, spectral clustering,
topology inference from data, and graph neural networks. Finally, it is shown how to formulate and
solve machine learning problems in distributed fashion, suitable for big data applications, where
learning and data processing must be necessarily performed over multiple machines. Homeworks
and exercises on real-world data will be carried out using Python and/or Matlab.
Specific Objectives:
1. Knowledge and understanding: Learn the basics of signal processing for machine learning and
be able to apply these concepts to real data science problems.
2. Application: Apply signal processing and machine learning techniques to real-world data sets,
using programming languages such as Python and Matlab.
3. Autonomy of judgement: Analyze the benefits and limitations of different signal processing
tools and models and determine the best methodology to use for a given data set.
4. Communication: Communicate effectively about signal processing for machine learning,
including design constraints, solutions, and potential applications.
5. Learning skills: Develop studies in the field of signal processing for machine learning,
including the ability to undertake research in this area.
|
1044406 | BIG DATA COMPUTING | 2nd | 1st | 6 | ENG |
Educational objectives General Objectives:
Knowledge of main application scenarios in Big Data Computing.
Knowledge and understanding of main algorithms and approaches in Big Data Computing. Knowledge of
main tools to implement them.
Understanding of theoretical foundations underlying main techniques of analysis
Ability to implement the aforementioned algorithms, approaches and techniques and to
apply them to specific problems and scenarios.
Knowledge of main evaluation techniques and their application to practical scenarios.
Specific objectives:
Ability to:
- identify the most suitable techniques to address a data analysis problem where
data dimensionality is concern;
- implement the proposed solution, identifying the most appropriate design and
implementation tools, among available ones;
- Design and implement experiments to evaluate proposed solutions in realistic settings;
Knowledge and understanding:
- knowledge of main application scenarios;
- knowledge of main techniques of analysis;
- understanding of methodological and theoretical foundations of main analysis techniques;
- knowledge and understanding of main evalutation techniques and corresponding
performance indices
Apply knowledge and understanding:
- being able to translate application needs into specific data analysis
problems;
- being able to identify aspects of the problem for which data dimensionality
might play a critical role;
- being able to identify the most suitable techniques and tools to addresse the
aforementioned problems;
- being able to estimate in advance, at least qualitatively, the degree of scalability
of proposed solutions;
Critical and judgment skills:
Being able to evaluate, also experimentally, the effectiveness and efficiency of
proposed solutions
Communication skills:
Being able to effectively describe the requirements of a problem and
provide to third parties the relative specifications, design choices and
the reasons underlying these choices.
Learning ability:
The course will facilitate the development of skills for the independent
study of topics related to the course. It will also allow students to identify
and critically examine material contained in andvanced manuals and/or scientific
literature, allowing them to face new application scenarios and/or apply alternative
techniques to known ones.
|
1056023 | Smart Environments | 2nd | 2nd | 6 | ENG |
Educational objectives GENERAL
Goal of this course is to provide an overview of the large world of wireless and wired technologies that are will be used for the Smart Environments. These technologies will be able to provide infrastructures of networks and digital information used in the urban spaces and smart environments to build advanced applications.
Recent advances in areas like pervasive computing, machine learning, wireless and sensor networking enable various smart environment applications in everyday life. The main goal of this course is to present and discuss recent advances in the area of the Internet of Things, in particular on technologies, architectures, algorithms and protocols for smart environments with emphasis on real smart environment applications. The course will present the communication and networking aspects as well as the processing of data to be used for the application design. The course will propose two cases studies in the field of smart environments: Vehicular Traffic monitoring for ITS applications and Low Power Area Networks. In both cases instruments, models and methodologies for the design of smart environments applications will be provided.
SPECIFIC
• Knowledge and understanding: To know and discuss recent advances in the area of the Internet of Things, in particular on technologies, architectures, algorithms and protocols for smart environments with emphasis on real smart environment applications and processing tools.
• Applying knowledge and understanding: to know how to apply criteria and techniques for designing a smart platform from the data acquisition, the networking and the application.
• Making judgements: to know how to analyze benefits and limitations of smart environments and relevant applications.
• Communication skills: know how to present projects on smart environments and and IoT including design constraints, solutions and possibilities of use.
• Learning skills: ability to develop more advanced studies in the field of ambient intelligence.
|
10616532 | Economics and computation | 2nd | 2nd | 6 | ENG |
Educational objectives INGLESE:
General outcomes:
The course will present a broad survey of topics at the interface of computer
science, data science, and economics, emphasizing efficiency, robustness, and application to emerging online markets. It will introduce the principles of algorithmic game theory and mechanism design, algorithmic market design, as well as machine learning in games and markets. It will demonstrate applications to case studies in Web search and advertising, network economics, Data, cryptocurrency, and AI markets.
Specific outcomes:
Knowledge and understanding:
The algorithmic and mathematical economics principles underlying the design and the operation of efficient and robust online markets. The application of these principles in concrete examples of online markets.
Applying knowledge and understanding:
Being able to design and analyze algorithms for concrete online market applications with respect to the requirements of efficiency and robustness.
Making judgements:
Being able to evaluate the quality of an algorithm for online market applications, discriminating the modeling aspects from those related to algorithmic and system implementation.
Communication skills:
Ability to communicate and share the modeling choices and system requirements, as well as the results of the analysis of the efficiency of online market algorithms.
Learning skills:
The course stimulates the students to acquire learning skills at the crossroads of computer science, economics, and digital market applications, including the different languages used in these fields.
|
10616533 | Graph mining and applications | 2nd | 2nd | 6 | ENG |
Educational objectives 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
|