This feature allows you to view your educational path, if you enrolled in previous years

Curriculum(s) for 2024 - Artificial Intelligence (32346)

Single curriculum

1st year

LessonSemesterCFULanguage
10610050 | Autonomous Systems1st6ENG

Educational objectives

Presentation
The focus of this course is autonomous behavior, and more precisely, the different methods for developing "agents" capable of making their own decisions in real or simulated environments. This includes characters in video-games, robots, softbots in the web, etc. The problem of developing autonomous agents is a fundamental problem in Artificial Intelligence, where three basic approaches have been developed: the programmer-based approach, where the agent responses are hardwired by a human programmer; the learning-based approach, where the agent learns to control its behavior from experience or information obtained from a teacher, and the model-based approach, where the agent control is derived automatically from a model describing the goals, the actions available, and the sensing capabilities. In the course, we review the three approaches to developing autonomous systems, with emphasis on the model-based approach, which in AI goes under the name of planning. We study autonomy in dynamic, partially observable settings involving a single agent or multiple agents. The course involves theory and experimentation.
Associated skills
• E1) Apply the models and algorithms of autonomous systems to a problem of well-identified interactive intelligent systems. Specifically, models and algorithms for sequential decision making in reactive environments.
• E3) Identify new uses of models and algorithms in the field of interactive intelligent systems. Specifically, uses that lend themselves to a formulation as sequential decision making.
• E6) Present the result of a research project in the field of interactive intelligent systems in a scientific forum and in interaction with other researchers.
Learning outcomes
• Understand the mathematical principles that form the basis of autonomous systems.
• Solve complex problems using Artificial Intelligence techniques.
• Recognize the type of problem and select appropriate algorithms.
• Implement Artificial Intelligence algorithms in a common programming language.

10610049 | Symbolic Reasoning1st6ENG

Educational objectives

Presentation
Knowledge representation and reasoning are essential components of an intelligent system and are at the core of Artificial Intelligence research. The aim of this course is to provide the students with several computational concepts and tools that have been developed in logic programming to support symbolic reasoning. The material covered in the course will interleave the computational concepts of logic programming with applications of the concepts in knowledge representation and problem solving. The students will have the opportunity to learn the general framework of Answer Set Programming (ASP) that interprets logic programs under the Answer Set Semantics to solve tasks such as (1) Defeasible reasoning, (2) Solving combinatorial problems, (3) Solving optimization problems using preferences, and (4) Reasoning about actions and change, The course will conclude by introducing basic notions of abduction and induction in ASP as alternative framework to statistical machine learning to do symbolic learning. Students will have the opportunity to put into practice the topics learned in class by solving simple problems using an ASP environment and an Inductive Learning system that learns ASP programs.
Associated skills
• That students have and understand knowledge that provides a basis or opportunity to be original in the development and/or application of ideas, often in a research context.
• That students are able to integrate knowledge and face the complexity of making judgments from information that, being incomplete or limited, includes reflections on the social and ethical responsibilities linked to the application of its knowledge and judgments.
• That students possess the learning skills that allow them to continue studying in a way that will be largely self-directed or autonomous.
• Applying with flexibility and creativity the acquired knowledge and adapting it to new contexts and situations.
Learning outcomes
Write ASP programs that use constraints and choice operators
Represent and solve NP-hard combinatorial problems in ASP
Solve optimisation problems using preferences
Model complex planning environments using logic-based action description languages
Translate these planning environments into ASP programming to solve different types of planning tasks
Write specifications of Inductive Learning tasks and implement them in an Inductive Learning system

10611120 | Introduction to machine learning and reinforcement learning1st12ENG

Educational objectives

Basic Competences:
• That students have and understand knowledge that provides a basis or opportunity to be original in the development and/or application of ideas, often in a research context.
• That students are able to integrate knowledge and face the complexity of making judgments from information that, being incomplete or limited, includes reflections on the social and ethical responsibilities linked to the application of its knowledge and judgments.
• That students possess the learning skills that allow them to continue studying in a way that will be largely self-directed or autonomous.
Transversal Competences
• Applying with flexibility and creativity the acquired knowledge and adapting it to new contexts and situations. Specific Competences
• Solve mathematical problems related to machine learning and apply the knowledge to different forms of learning (supervised, unsupervised, Bayesian machine learning).
• Ability to communicate effectively using the technical vocabulary of the field in English.
• Use techniques of calculus and linear algebra applied to machine learning by means of existing software packages. • Apply machine learning to realistic problems in order to learn appropriate models.
• Identify machine learning problems and select the appropriate algorithm for solving them.
• Understand the knowledge that provides a basis or opportunity to be original in the development and / or application of ideas, often in a research context.
• That students know how to apply the knowledge acquired and their ability to solve problems in novel or poorly known environments within broader (or multidisciplinary) contexts related to their area of study.
• That students have the learning skills that allow them to continue studying in a way that will need to be largely self directed or autonomous.

Learning outcomes
• Understand the mathematical principles that form the basis of machine learning.
• Solve basic mathematical exercises related to machine learning theory.
• Recognize the type of learning problem and select appropriate algorithms.
• Implement machine learning algorithms in a common programming language and test them on actual learning problems.
• Evaluate and interpret the outcome of learning on a given problem and compare the outcome for different algorithms.
• Select appropriate values of hyper-parameters through validation.
Apply models and algorithms for sequential decision making in reactive environments.
Solves problems related to RL.
Identifies the appropriate models and algorithms to solve a specific problem in the field of RL
Evaluates the result of applying a model or algorithm to a specific problem.
Presents the result of the application of a model or algorithm to a specific problem according to scientific standards.
Identify new uses of models and algorithms in the field of RL. Specifically, uses that lend themselves to a formulation as sequential decision making.
Recognizes the intentional domain of application of a model or algorithm in the field of reinforcement learning.
Describes limitations of a given model or algorithm for a new problem.
Identifies parallels in problems in the field of RL.
Transfers the solution of a specific problem in the field of interactive intelligent systems to a similar problem.
Present the result of a research project in the field of RL in a scientific forum and in interaction with other researchers.
Organizes and conducts an oral presentation of a research paper according to the rules of the discipline.
Carries out a scientific argument and convincingly defends scientific work in front of an expert and non-expert public

10610047 | Natural Language Interaction1st6ENG

Educational objectives

Presentation
The course covers the central themes involved in the interaction with intelligent agents through the use of natural language, with emphasis on dialogue and language generation. We will also study planning techniques applied to the theory of speech acts and the use of rhetorical structures, both for controlled dialogues as for dynamic and non-cooperative dialogues. Regarding analysis and generation of language, students will learn robust and incremental techniques capable of dealing with partial, and even ungrammatical discourse, as it's typical of spontaneous dialogues. We will also look at the design of dialogue architectures, and analyze the use of dialogue in "chatbots" and videogames. The course also covers spoken interaction including aspects on automatic speech recognition, automatic speaker recognition, and text-to-speech synthesis.
Associated skills
The course contributes to the basic and advanced skills and expertise acquired during the master studies on Intelligent Interactive Systems:
• The capacity to collect and interpret relevant data in the area of Computer Science and Artificial Intelligence in general and Natural Language-based Human-Computer Interaction in particular in order to be able to assess and comment on relevant topics from the scientific, ethical and social points of view.
• The capacity to communicate information, ideas, problems and solutions in the area of Natural Language-based Interaction to general public and NLP scholars alike.
• The capacity to apply the acquired skills in order to build operational conversational agent prototypes.
Furthermore, the course contributes to transversal skills related to
CE1. Solving the mathematical problems which can be set out in the rise in engineering and applying the knowledge on: linear algebra; differential and integral calculus; numerical methods, numerical algorithms, statistics, and optimization.
CE8. Mastering the concepts of data programming and programming and data structures, including principles of secure design and defensive programming, program verification and error detection.
CE10. Recognizing basic algorithmic procedures and applying them for the resolution of computational problems, analyzing the solutions suitability and complexity.
CE11. Solving complex computational problems using the principles and techniques of intelligent systems. Learning outcomes
It is expected that the students will obtain knowledge about state-of-the-art NLP techniques and acquire the skills to both integrate publicly available off-the-shelf modules into applications and develop on their own simple applications that use state-of-the-art techniques. In particular:
RA.CE1.5 Using knowledge of statistics to solve problems which can be set out in engineering.
RA.CE8.3 Designing and using advanced data structures and the most proper suitable algorithms for solving aproblem.
RA.CE10.3 Applying basic techniques of artificial intelligence.
RA.CE11.2 Solving complex problems using machine learning techniques.
RA.CE11.3 Applying advanced intelligent computation techniques for the design and development of intelligent applications.

Elective course2nd6ENG

Educational objectives

Among other training activities are provided 12 credits are chosen by the student.

Optional group Attività Caratterizzanti (Type B)
Optional group Attività Affini (Type C)

2nd year

LessonSemesterCFULanguage
Elective course1st6ENG

Educational objectives

Among other training activities are provided 12 credits are chosen by the student.

AAF1028 | Final exam2nd30ENG

Educational objectives

The student will present and discuss the results of a technical activity, producing a written thesis supervised by a professor and showing the ability to master the methodologies of Computer Science Engineering and/or their application

Optional group Attività Caratterizzanti (Type B)
Optional group Attività Affini (Type C)
Optional group AAF

Optional groups

The student must acquire 24 CFU from the following exams
LessonYearSemesterCFULanguage
10610046 | Human-Robot Interaction1st2nd6ENG

Educational objectives

Contents
The main content of the course is summarized below.
Introduction to HCI and HRI
Human factors and engineering design
Interface design, usability evaluation, universal design, multimodal interfaces (touch, vision, natural language and 3-D audio)
Virtual reality and spatial displays
Embodiment and anthropomorphism
Perception of human behavior
Multimodal interaction
HCI and HRI applications
User studies and evaluation methods
Ethical and social implications of HMI

Associated skills
Knowledge and understanding:
The course offers an overview of different research topics in HCI and HRI and, more specifically, in using Artificial Intelligence techniques to model and reason about human-machine interaction tasks. Techniques for requirement collection and analysis, goal and task models, interaction and system models, multimodal and personalized interactions, methods for usability evaluation will be examined. Some advanced issues in HCI and HRI, such as cooperative systems, immersive and ubiquitous environments, intelligent interfaces, social interactions, etc., will also be addressed. The topics are covered by researchers in the field who will introduce the student to research problems and recent and relevant applications in HCI, HRI and AI.
Applied knowledge and understanding:
The course provides the knowledge necessary to undertake research work in these fields using practical tools for experimental validation, including understanding the concepts of HMI and usability, conducting a research project of an interactive interactive system following the UCD methodology, and reporting the results according to scientific standards.
Critical and judgment skills:
The course proposes advanced methods to study, understand and apply results reported on scientific articles, and integrate these results to create innovative HCI, HRI and AI applications. The student learns how to use results from the literature as a basis for new research and how to evaluate the usability of an interactive system and its adequacy with respect to the goals and tasks of end users and stakeholders.
Communication skills:
Group activities in the classroom and the need to make presentations to the class allow the student to develop the ability to communicate and share the knowledge acquired and to compare themselves with others on the topics of the course. In particular, the project activities and the course homeworks allow the student to be able to collaborate in the design and development of an interactive system.
Learning ability:
In addition to the classic learning skills provided by the theoretical study of the teaching material, the course develops methods to stimulate the student to deepen his knowledge of some of the topics she presents to the course and to the work group. Furthermore the course stimulates the student to effectively apply both the concepts and the techniques learned during the course in homeworks and in a research project.

Learning outcomes
Understand motivations, opportunities and limits of HMI applications
Identify the appropriate models and algorithms to solve a specific HMI problem
Evaluate the performance of HMI systems
Present the result of an HMI study according to scientific standards.
Describe limitations of a given HMI solution
Organize and conduct an oral presentation of a research paper
Develop a research project in HMI and AI and present the results

10600392 | Artificial Intelligence1st2nd6ENG

Educational objectives

General objectives:

Acquire the basic principles of the field of Artificial Intelligence, specifically the modeling of intelligent systems through the notion of intelligent agent.
Acquire the basic techniques developed in the field of Artificial Intelligence, concerning symbol manipulation and, more speicifically, discrete models.
Acquire the basic principles of the interaction among intelligent agents and, specifically, of the interaction between intelligent agents and humans, through natural language.

Specific objectives:

Knowledge and understanding:

Automated search in the space state: general methods, heuristic driven methods, local Search. Factored representations: constraint satisfaction problems, automated planning.
Knowledge Representation through formal systems: propositional logic, first order logic, description logic (hints), non monotonic reasoning (hints). Usage of logic as a programming language: PROLOG.
Cooperation and coordination, distributed task assignment, distributed constraint optimization, lexical, syntactic and semantic analysis of natural language.

Applying knowledge and understanding:

Modeling problems by means of the manifold representation techniques acquired through the course. Analysis of the behavior of the basic algorithms for automated reasoning.
Design and implement frameworks for multi agent interaction.

Making judgements:
Being able to evaluate the quality of a representation model for a problem and the results of the application of the reasoning algorithms when run on it.
Analyse and evaluate the key elements of the interaction among multiple agents.

Communication:
The oral communication skills are stimulated through the interaction during class, while the writing skills will be developed thorugh the analysis of exercises and answers to open questions, that are included in the final test.
The communication skills are also exercised through the presentation of a group project and its associated written report.

Lifelong learning skills:
In addition to the learning capabilities arising from the study of the theoretical models presented in the course, the problem solving capabilities of the student will be improved through the exercises where the acquired knowledge is applied.
The design and implementation of a prototype system for multi agent interaction support the learning of teamwork.

1023325 | VISION AND PERCEPTION1st2nd6ENG

Educational objectives

GENERAL OBJECTIVES
The course aims to introduce the student to the fundamental concepts of artificial vision and to the construction of autonomous systems of interpretation and reconstruction of a scene through images and video. The course deals with basic elements of projective and epipolar geometry, methods for 3D vision and vision based on multiple views, and methods for metric reconstruction and image and video interpretation methods. Furthermore the course illustrates the main techniques for the recognition and segmentation of images and videos based on machine learning.

SPECIFIC OBJECTIVES

Knowledge and Understanding
The course stimulates students' curiosity towards new methodologies for the analysis and generation of images
and video. The student learns new concepts that allow him to acquire a basic knowledge of
computational vision.

Apply Knowledge and Understanding
Students deepen and learn programming languages ??to apply the acquired knowledge.
In particular they deepen the Python language and learn Tensorflow. The latter offers students
the possibility of programming deep learning applications. They use this brand new technology to make
a project to recognize specific elements in images and videos.

Critical and Judgment skills
The student acquires the ability to distinguish between what he can achieve with the tools he/she has learned,
such as generating images or recognizing objects using deep learning techniques,
and what is actually required for the realization of an automatic vision system.
In this way she/he is able to elaborate a critical judgment on the vision systems available to the state
of art and to assess what can actually be achieved and what requires further progress
in research.

Communication skills
The realization of the project, as part of the exam program, requires the student to work and give a
contribution within a small work group. This together with the solution of exercises in the classroom,
and to the discussions on the most interesting topics it stimulates the student's communication skills.

Learning ability
In addition to the classic learning skills provided by the theoretical study of the teaching material,
the course development methods, in particular the project activities, stimulate the student
to the self-study of some topics presented in the course, to group work, and to the application
concrete knowledge and techniques learned during the course.

1044398 | INTERACTIVE GRAPHICS1st2nd6ENG

Educational objectives

Knowledge and understanding:

Have the student acquire the basics of 3D graphic programming with particular emphasis on animation and interactive visualization techniques. In particular the topics covered include: Fundamentals of computer graphics, interactive rendering and animation, graphics pipeline, transformations, visualizations, rasterization, lighting and shading, texture-mapping, animation techniques based on keyframes, physical simulations, particle systems and animation of characters. An introduction to computing on specialized graphics hardware (GPGU) will also be provided.

Applying knowledge and understanding:

To make the student familiar with the mathematical techniques underlying 3D graphics, as well as the ability to program complex and interactive environments in 3D graphics using the OpenGL library or one of its variants

Making judgements:

Deep understanding of the operation of a 3D graphics system in its hardware and software components. Knowledge of the HTML5 standard and the Javascript language, application of the WebGL library and some higher level libraries. Understanding of the problems of efficiency and visual quality of 3D graphics applications

Communication skills:

Development of interactive applications on the web in 3D graphics.

Learning skills:

Ability to understand the technical complexities in the realization of interactive applications in 3D graphics. Ability to critically analyze the solutions on the market and analyze strengths and weaknesses.

10610045 | Machine Learning in Practice1st2nd6ENG

Educational objectives

Aims
At the end of this course, the student is able to
reason and argue about what type of algorithms and efficient source code to be developed and applied when tackling real-life machine learning tasks;
understand the principles underlying effective machine learning methods;
use and adapt state-of-the-art machine learning algorithms to tackle a challenge;
properly evaluate a machine learning algorithm's performance in a real-life context.

Content
Machine learning addresses the fundamental problem of developing computer algorithms that can harness the vast amounts of digital data available in the 21st century and then use this data in an intelligent way to solve a variety of real-world problems. Examples of such problems are recommender systems, (neuro) image analysis, intrusion detection, spam filtering, automated reasoning, systems biology, medical diagnosis, speech analysis, and many more. The goal of this course is to learn how to tackle specific real-life problems through the selection and application of state-of-the-art machine learning algorithms, notably by entering international machine learning competitions organized at Kaggle.

10610044 | Natural Computing1st2nd6ENG

Educational objectives

Aims
On completion of the course students should be able to:
Outline core Natural Computing approaches and algorithms
Compare and contrast different Natural Computing approaches
Solve optimization problems using Natural Computing methods
Design an experiment in Natural Computing
Perform simple simulations of biological systems
Write an academic paper on this subject

Content
The field of Natural Computing concerns the development of algorithms inspired by Nature, including Biological, Social and Physical systems. These algorithms draw metaphorical inspiration from various aspects of nature, including the operation of biological neurons, processes of evolution, and models of social interaction amongst organizations. They are used to tackle complex real-world problems. This course provides a description of core Natural Computing approaches, like evolutionary algorithms, immunocomputing and cellular automata, which can be used by the students to tackle a real-world problem.

10610043 | Physical Aspects on Secure Systems1st2nd6ENG

Educational objectives

Aims
At the end of the course students can:
• understand the vulnerabilities and adversarial models for embedded (crypto) devices, and explain the objectives for protecting those devices against implementation attacks
• explain currently known attacks on small devices and associated countermeasures;
• carry out side-channel and fault injection attacks on smartcards i.e. microcontrollers.
• use statistics and machine learning techniques when performing the attacks

Content
Our daily business relies on the devices we carry on us, such as bank, ID and transportation cards, car keys, and mobile phones. All those devices use secret (cryptographic) keys that are not accessible from the outside. Getting a hold of the key allows a hacker to steal our data or take control of a self-driving car or a pacemaker.
The majority of real-world attacks on security implementations use side-channel analysis, i.e., they measure and process physical quantities, like the power consumption or electromagnetic emanations of a chip, or reaction time of a process. Preventing this kind of leakages and side-channel attacks in general remains a great challenge as effective mitigations are often prohibitively expensive in terms of power and energy resources.

This course treats security aspects of embedded cryptographic device, including hardware and software, certification and security evaluation and the security objectives these are meant to provide, and attack techniques and countermeasures, especially side-channel and fault attacks.
We cover all implementation attacks on embedded systems, including state of the art methods using machine/deep learning and fault injection.

The course includes practical lab assignments where students perform the attacks on physical targets.

10610042 | Applied Cryptography1st2nd6ENG

Educational objectives

Aims
After the course, the student should understand the ideas and workings of public and secret-key cryptography in the IT security sector.

Content
The course covers the following topics:
Symmetric cryptography: encryption, authentication, hashing, ...
Public key cryptography and post-quantum cryptography: encryption, signatures, KEMS, ...
Security notions like existential forgery, IND-CCA, zero-knowledge, etc.
Security proofs
Protocols, like challenge-response protocols, proofs of knowledge, etc.
Real-world protocols, like TLS, secure messaging, etc.

10610171 | Big Data1st2nd6ENG

Educational objectives

Content (Syllabus outline):
Introduction to big data. Characteristics of big data. Big data and data science. Relational databases and big data. Distributed data systems. Hadoop ecosystem.
Big data management. Structured and semi-structured data models. Non-relational (NoSQL) data models. Data models and database systems for big data. Domain-specific languages for big data. Monitoring big data systems.
Big data processing. Querying and retrieval.
Paradigms for computing with data. Processing pipelines and aggregators. Basic algorithmic building blocks and patterns. Hadoop. Spark.
Data analytics with big data. Data analytics tools. Basic statistics. Clustering. Associations. Predictive modeling. Spark machine learning library MLib.
Big data and graph analytics. NoSQL graph databases for big data. Neo4j graph database. Graph querying with CYPHER. Basic graph analytics with Neo4j and CYPHER.
Practical aspects of big data analytics. Processing heterogeneous data. Processing data streams.

10610172 | Natural Language Processing1st2nd6ENG

Educational objectives

Content (Syllabus outline):
The syllabus is based on a selection of modern statistical natural learning techniques and their practical use. The lectures introduce the main tasks and techniques, explain their operation and theoretical background. During practical sessions and seminars the gained knowledge is applied to language practical task using open source tools. Student investigate and solve assignments, based on real-world research and commercial problems form English and Slovene languages.
Introduction to natural language processing: motivation, language understanding, Turing test, traditional and statistical approaches.
Language resources: corpuses, dictionaries, thesauruses, networks and semantic data bases, overview of tools.
Linguistics: phonology and morphology, syntactical analysis, formal grammars.
Using automata and grammars: automata and algorithms for searching strings, syntax parsing, dependency parsing.
Part-of-speech tagging: types of tags, lemmatization, ngrams, Hidden Markov model, rule-based tagging.
Computational and lexical semantics: semantic representations, rule-to-rule approaches, semantic role labelling.
Clustering words and text similarity measures: cosine distance, language networks and graphs, WordNet, vector representation, vector weighting, sematic correlation.
Text mining: adaptation of classification methods to the specifics of text, support vector machines for language, feature selection.
Deep networks for text: document representations for deep neural networks, autoencoders, recurrent neural networks.
Text summarization: text representations, matrix factorization, multi-document summarization, extractive methods, query based methods.
Machine translation: language model, translation model, alignment model, challenges in machine translation.
Augmenting text with other data sources: heterogeneous networks, word2vec representation, heterogeneous ensembles of classifiers, link analysis.
Methodology and evaluation in NLP.

10610041 | Machine Learning for Data Science I1st2nd6ENG

Educational objectives

Content (Syllabus outline):
Linear models. Linear regression. Linear discriminant analysis. Logistic regression. Gradient descent. Stochastic gradient descent.
The machine learning approach. Cost functions. Empirical risk minimization. Maximum likelihood estimation. Model evaluation. Cross-validation.
Feature selection. Search-based feature selection. Regularization.
Tree-based models. Decision trees. Random forest. Bagging. Gradient tree boosting.
Clustering. k-means. Expectation Maximization.
Non-linear regression. Basis functions. Splines. Support vector machines. Kernel trick.
Neural networks. Perceptron. Activation functions. Backpropagation.

10610040 | Data Science Project1st2nd6ENG

Educational objectives

Content (Syllabus outline):
Students select project theme and work in groups to complete the project. Students present their midterm progress and results. Students complete the Project with a public presentation of their work.
Project themes are compiled by the lecturer from proposals by faculty members and industry.

Perez-Riverol Y, Gatto L, Wang R, Sachsenberg T, Uszkoreit J, Leprevost FdV, et al. (2016) Ten Simple Rules for Taking Advantage of Git and GitHub. PLoS Comput Biol 12(7): e1004947.
Sandve GK, Nekrutenko A, Taylor J, Hovig E (2013) Ten Simple Rules for Reproducible Computational Research. PLoS Comput Biol 9(10): e1003285.
Vicens Q, Bourne PE (2007) Ten Simple Rules for a Successful Collaboration. PLoS Comput Biol 3(3): e44.
Taschuk M, Wilson G (2017) Ten simple rules for making research software more robust. PLoS Comput Biol 13(4): e1005412.
Bourne PE (2007) Ten Simple Rules for Making Good Oral Presentations. PLoS Comput Biol 3(4): e77.

10610031 | Probabilistic Graphical Models2nd1st6ENG

Educational objectives

Presentation
Structured probabilistic models also known as probabilistic graphical models (PGMs) are powerful modeling tools for reasoning and decision making with uncertainty. PGMs have many application domains, including artificial vision, natural language processing, efficient coding, and computational biology. PGMs connect graph theory and probability theory and provide a flexible framework for modeling large collections of random variables with complex interactions.
This is an introductory course to PGMs focused on two main axes: (1) the role of PGMs as a unifying language in machine learning, which allows for a natural specification of many problematic domains with inherent uncertainty, and (2) the set of
computational tools for probabilistic inference (such as making predictions to aid decision making) and learning (estimating the structure of the graph and its parameters from data).
Associated skills
Basic skills
Understand the knowledge that provides a basis or opportunity to be original in the development and / or application of ideas, often in a research context.
That students know how to apply the knowledge acquired and their ability to solve problems in novel or poorly known environments within broader (or multidisciplinary) contexts related to their area of study.
That students are able to integrate knowledge and face the complexity of making judgments based on information that, being incomplete or limited, includes reflections on social and ethical responsibilities linked to the application of their knowledge and judgments.
That students have the learning skills that allow them to continue studying in a way that will need to be largely self- directed or autonomous.

Specific skills
E1) Apply the models and algorithms of machine learning, autonomous systems, interaction in natural language, mobile robotics and / or web intelligence to a problem of well-identified interactive intelligent systems. Specifically, models and algorithms for inference and learning in structured graphical models.
E3) Identify new uses of models and algorithms in the field of interactive intelligent systems. Specifically, uses for which structured graphical models are appropriate
E6) Present the result of a research project in the field of interactive intelligent systems in a scientific forum and in interaction with other researchers.
Learning outcomes
E1)
• Solves problems related to interactive intelligent systems.
Identifies the appropriate models and algorithms to solve a specific problem in the field of interactive intelligentsystems.
• Evaluates the result of applying a model or algorithm to a specific problem.
• Presents the result of the application of a model or algorithm to a specific problem according to scientific standards.
E3)
• Recognizes the intentional domain of application of a model or algorithm in the field of interactive intelligent systems.
• Describes limitations of a given model or algorithm for a new problem.
• Identifies parallels in problems in the field of interactive intelligent systems.
• Transfers the solution of a specific problem in the field of interactive intelligent systems to a similar problem.
E6)
• Organizes and conducts an oral presentation of a research paper according to the rules of the discipline
• Carries out a scientific argument and convincingly defend scientific work in front of an expert and non-expert public.

10610028 | Advanced Topics on Intelligent Systems2nd1st6ENG

Educational objectives

Presentation and Associated Skills
The idea behind this course is to treat a topic within the broad field of intelligent systems in-depth. The topic may vary over the years, but it will be a topic that is highly relevant and important and one that is an active area of research within the Artificial Intelligence and Machine Learning research group at the DTIC, including Automated planning, Interactive machine learning, Learning theory, Probabilistic graphical models, Autonomous robotics, and Constraint satisfaction problems.
Content
Topics covered in the course include:
Stateful and stateless tracking (cookies, super-cookies, browser fingerprinting, ID-based tracking, cookie syncing);
Same-Origin Policy and cookie attributes;
Personal data exfiltration (email addresses, passwords, etc.);
Tracking on mobile and IoT (apps, platforms, smart TVs and other connected devices);
Behavioral advertising, microtargeting, and dark patterns;
Countermeasures against online tracking;
Tools and techniques for analyzing online tracking (DevTools, Tracker Radar Collector, OpenWPM, Selenium, Playwright, Puppeteer);
Privacy-preserving analytics, telemetry, and advertising (RAPPOR, Prio, Local Differential Privacy);
This internship is part of the training as a scientific researcher: in this Research Internship the student will participate in a research project in one of our scientific groups, or participate in research at another institute, in industry, in one of the associated partners of the Master programme, or even abroad.
A goal of the research internship is to gain experience in your future work field, in academia or in industry. It also gives the student the opportunity to find out about a prospective work environment, and some experience in carrying out a larger individual project as preparation for the Master thesis.
Depending on the students interests, the research internship can be done internally in one of the research groups of the DTIC department or externally at some company or organization in industry or the public sector. The research internship can also be done in an academic setting outside the DTIC, for instance in a research group in another faculty of UPF, or at another university altogether.
Learning Outcomes
at the end of the course students understand key online tracking mechanisms; can audit websites, mobile applications and IoT devices to identify tracking and data collection practices; understand the privacy and security implications of online tracking; understand how countermeasures against online tracking works; can explain how privacy-preserving telemetry and client-side data collection works.

Upon completion of the internship, the student will be able to
take part in scientific research in the specific area of the students’ master’s specialization: get acquainted with the subject and state of the art, apply appropriate methods, discuss, contribute to research results, relate the activities to current developments in the field;
present their activities and research outcomes of the internship;
reflect on the development of their research skills and the role of research in their future career.
Content
Unlike for the Master thesis, the internship need not be a completely independent and stand-alone research project. The aim of the internship is to get some practical experience in carrying out (practical or academic) research, so this can be as part of a team and in collaboration with others. The specific topic can take different forms, e.g. doing a case study, trying out tools & techniques, developing tools or prototypes, or a combination of this.
This includes finding a suitable research group and/or project, so this is best done in advance. Normally, you will carry out your research within one of the ICIS groups involved in your master’s specialization. It is also possible, however, to arrange an In any case, your choice of location and research project needs to be approved by the (assistant/associate) professor or the lecturer who will be your supervisor. The primary point of contact for the research internship (besides whoever acts as supervisor of your research internship project) is the coordinator of your master’s specialization.

10610027 | Critical Data Analysis2nd1st6ENG

Educational objectives

Presentation
Critical Data Studies is an interdisciplinary subject offered by professors from three disciplines: computing, philosophy, and law.
The course seeks to train students in addressing issues of personal data protection, as well as those arising from two broad applications of intelligent systems: data-driven decision support, and automated decision making.
About half of the sessions cover computing technologies for, e.g., anonymizing data, or detecting and mitigating algorithmic bias. The other half of the sessions study different conceptualizations of power around data processing pipelines, analyze bias and discrimination in computer systems from a moral philosophy perspective, and overview the relevant legal frameworks for data processing.
The course includes 12 theory sessions for delivering and discussing the main concepts and methods. Optionally, students can attend 6 seminar sessions for case studies, not graded, and 6 practice sessions to receive help in the data analysis assignments. The evaluation will be done on the basis of a mid-term exam and a final exam (about the theory part), assignments (data analysis), and a report (algorithmic audit project.
The scope of the course are issues of fairness, accountability, transparency in data processing from an ethical, legal, and technological perspective.
1. Personal data processing: privacy, confidentiality, surveillance, recourse, data collection and power differentials
2. Data-driven decision support: biases and transparency in data processing, data-rich communication, and data visualization
3. Automated decision making: conceptualizations of power and discrimination in scenarios with different degrees of automation.
4. External algorithmic auditing in practice: data collection, metrics definition, metric boundaries, reporting.
Associated skills
CB8. That the students are able to integrate knowledge and face the complexity of making judgments on the basis of information that is incomplete or limited, including reflecting about the social and ethical responsibilities associated with the application of their knowledge and judgment.
CE1. Apply models and algorithms in machine learning, autonomous systems, natural language interaction, mobile robotics and/or web intelligence to a well-identified problem of intelligent systems.
Learning outcomes
E1) 1. Solves problems related to interactive intelligent systems. Specifically, students can solve the problem of detecting an mitigating biases in such a system.
2. Identifies the appropriate models and algorithms to solve a specific problem in the field of interactive intelligent systems. Specifically, students can identify data processing methods to reduce disclosure risk and to mitigate biases.
3. Evaluates the result of applying a model or algorithm to a specific problem. Specifically, students can use standard metrics of algorithmic fairness, and at the same time understand the limitations of such metrics.
4. Presents the result of the application of a model or algorithm to a specific problem according to scientific standards. Specifically, students can present in written the results of an external audit (without the collaboration of the auditee), performed over an existing dataset or an existing online service.

Sustainable Development Goals
• SDG5 - Gender equality
• SDG10 - Reduced inequalities

1052222 | Planning and Reasoning2nd1st6ENG

Educational objectives

This course introduces the main ideas of automated planning and mechanism for
formal logic reasoning within the field of artificial intelligence. The aim of
the sources is to prepare the student so that they can use the existing systems
for automated planning and understand their inner workings, which is
fundamental to adapt them to cope with issues arising from specific problems.
Furthermore, the student will understand the theoretical bases of the uses of
formal logics in artificial intelligence.

10610026 | Hardware for Security2nd1st6ENG

Educational objectives

Aims
At the end of the course the student will be able to:

- explain the principles and techniques used to secure embedded devices
- identify hardware components on a commercial off the shelf product
- analyze a random number generator implementation
- implement a dedicated crypto core implementation on an FPGA platform
- discuss trade-offs and design explorations of cryptographic implementations on various platforms such as microcontrollers, ASICs, FPGAs, etc.

Content
In this course we explore the role hardware plays in securing embedded systems. We identify the typical components available in a wide range of Commercial off the shelf (COTS) products such as gaming consoles, IP cameras, routers and diverse IoT devices and explore the role of memories and interfacing.

Next, we contrast the architecture for COTS products with that of high-end security devices and we zoom-in and examine components that are typically present in high-end security devices such as true random number generators, physically unclonable functions and dedicated crypto co-processors.

This is a course for students interested in hardware and software design in industry i.e. real-world security applications. The course is devoted to the state-of-art technologies in cryptographic hardware and embedded systems.

10610025 | Security in Organizations2nd1st6ENG

Educational objectives

Aims
Learn to control information security risks within an organization in an holistic fashion (procedural, organizational and technical).
Getting familiar with the leading standards in this area, their shortcomings and practical implementation guidelines.
To learn to map policies to technical countermeasures and vice versa.
To learn how to write and enforce security policies.
To learn some basic techniques in security auditing.
Getting an idea of the practical aspects of information security and new directions.

Content
Information security deals with the preservation of the confidentiality, integrity and availability of information. The leading standard on information security is ISO 27001 that defines the notion of a Information Security Management System (ISMS). This is a means for the management of an organization to be in control of the information security risks. Fundamental within ISO 27001 is that information security is considered to be a 'process' and not a 'product' one can simply buy. The process allows management to ensure that others within their organization are implementing security controls that are effective.
One of the difficulties of the information security process is its multidisciplinary nature: it needs to grasp security requirements from the organization business processes (where the managers typically are not savvy on information security) and to translate them to security controls. These controls can be of various types, including ICT technical or cryptographic but also related to personnel security (e.g. screening) or physical security (e.g. ‘locks’). The multidisciplinary nature of information security is reflected in the different areas ISO 27001 refers to. Moreover, the process needs to check that the operational effectiveness of the chosen controls is satisfactory and to adapt the controls (or the surrounding framework leading to the controls) if required.
Within the course this process is explored both from a theoretical and a practical level never losing sight of the computer science perspective. To this end the course also has several practical exercises including conducting an EDP audit and a vulnerability test.
The course provides the basic information on information security required by the security officer of an organization, by IT security auditors and by IT security consultants. As information security is still a rapidly evolving topic (some might argue it is even still in its infancy) the course can also provide inspiration for further scientific research.
The course starts with introduction of security management based on ISO27001 and then follows the different areas of ISO 27001. In each class one of these areas is discussed in more detail, in many cases by practical experts from the field, e.g. on internet banking fraud, ‘lock-picking’, ‘hacking’ etc.

10610174 | Information Retrieval2nd1st6ENG

Educational objectives

Aims
The objective is that participants in the course
are familiar with the classic retrieval models
understand the limitations and assumptions associated with these models
have insight and proficiency in the design and construction of search engines
are familiar with the standard evaluation methods for IR systems
are familiar with interaction techniques to support searchers in their quest for information
have an understanding of how the searcher's context and behaviour can be used to enhance retrieval effectiveness
have gained familiarity with recent scientific literature in this field

Content
While the rise of the internet has helped strengthen the field of Information Retrieval (IR), the area stretches far beyond plain web search, as a discipline situated between information science and computer science. In 1968, Gerard Salton defined information retrieval as "a field concerned with the structure, analysis, organization, storage, searching, and retrieval of information". Even though the area has seen many changes since that time and made a tremendous impact (who has never used a search engine?!), that definition is still accurate.
IR takes the notion of "relevance" as its core concept. As the scope of IR is limited to those cases where computers try to identify the relevance of information objects given a user's information need (as opposed to humans doing that, the common scenario in information science), perhaps "Computational Relevance" would have been a better term for the research in this area.
In this course, we cover the following aspects of Information Retrieval:
How do people search for information, and how can this be formalized?
How can we take advantage of term statistics, structure and annotations to capture the meaning of texts?
How can these elements be combined in order to find "relevant" information?
What techniques are necessary to scale to large text collections?

10610024 | Advanced Network Security2nd1st6ENG

Educational objectives

After the course, the student will
understand 4G and 5G mobile networks and their core security principles
have hands-on experience with different tools relevant in the context of network security
have knowledge of and understand some key advanced network security technologies and their main advantages, disadvantages, and consequences when applying them in practice and

Content
The Advanced Network Security course builds on the bachelor course on Network Security. The Master course will go into detail with different existing web attacks and address the security of mobile networks. To this end, we will focus on recent research in different areas of network security.

The course covers the following topics.
A discussion on several widely used Internet protocols, focusing on the security they provide (e.g. IEEE 802.11 and BGP).
An overview of some of the current threats on the Internet and motivations behind these (e.g. botnets).
A discussion of possible solutions to current security issues in the Internet.
An introduction to mobile network security for the current mobile generation 4G and the upcoming generation 5G.
Examples of academic attacks against mobile networks.
The content of this course may be updated to reflect recent development in network security

10610175 | Advanced Machine Learning2nd1st6ENG

Educational objectives

Aims
The aim of the course is to provide the student with a advanced concepts of modern machine learning at the international research level. The student will become familiar with the modern literature by presenting recent research papers on various topics. The student will implement these methods in computer code and apply them to real learning problems. See http://www.snn.ru.nl/~bertk/machinelearning/adv_ml.html for details.

Content
The course provides advanced topics in machine learning. The course is intended for Master's students in physics and mathematics.
This course is the follow-up of the course Machine Learning, which is part of the Computational Data Science minor. The course provides a good preparation for a Masters' specialisation in Theoretical Neuroscience or Machine Learning. See http://www.snn.ru.nl/~bertk/machinelearning/adv_ml.html for details.

10610023 | Bayesian Networks2nd1st6ENG

Educational objectives

Aims
At the end of this course, you will be able to demonstrate knowledge of the following theoretical concepts:
Foundations of Bayesian networks and other types of probabilistic graphical models.
Model testing, statistical equivalence, and parsimoniousness (Occam's razor).
Message passing and other foundations of probabilistic inference.
Key causal inference concepts such as intervention and confounding.

Further, you will have acquired the following practical skills:
Build a Bayesian network model of a problem domain that you are familiar with.
Use inference algorithms for probabilistic reasoning in Bayesian networks.
Statistically evaluate the model fit of a Bayesian network to a given dataset.
Use structure learning algorithms to generate plausible network structures for given datasets.
Use a Bayesian network to help answer causal inference questions from observational data -- that is, learn how to tackle questions such as "will getting a Master's degree increase my future salary?"

Content
Bayesian networks are powerful, yet intuitive tools for knowledge representation, reasoning under uncertainty, inference, prediction, and classification. The history of Bayesian Networks dates back to the groundbreaking work of Judea Pearl and others in the late 1980s, for which Pearl was given the Turing Award in 2012.

Bayesian networks are used in many application domains, notably medicine and molecular biology. This course will cover the necessary theory to understand, build, and work with Bayesian networks. It will also introduce how Bayesian networks provide a much needed foundation for causal inference, giving rise to what is sometimes called the "causal revolution".

10610022 | Philosophy and Ethics for Computing and Information Systems2nd1st6ENG

Educational objectives

Aims
The student will:
be acquainted with a number of philosophical and ethical theories, both in general and applied to his/her object of study;
be able to recognize the implicit presuppositions in a number of scientific advances of his/her object of study;
be able to reflect on the normativity of his/her object of study;
be able to articulate his/her reflection in a number of short papers and a research paper.

Content
The course Philosophy and Ethics for Computing & Information Science explores philosophical, ethical and societal issues that have been made possible by the development of information technology
Starting from the concepts of privacy and the relationship between informatics and political decision-making processes, we will move on to examine the changes in our way to look at the world caused by the progresses of information technology. We will analyze among others the cultural meaning of hackerism, the role different ethical frameworks play in discussing technological advances, and the social/ethical/cultural implications of artificial intelligence (AI). Current 'hot topics' will be additionally discussed, based among others on input by the students

The student must acquire 12 CFU from the following exams
LessonYearSemesterCFULanguage
10611398 | New Media1st2nd6ENG

Educational objectives

Aims
After this course, the student will be capable to play a role in a multi-disciplinary team and conduct empirical research in the field by means of new media technologies such as mobile apps, virtual reality or interactive installations.

Content
The course focuses on designing, building and deploying new media technologies as instruments for conducting research. The research questions addressed stem from different academic fields as well as from industry and range from data collection (e.g. experience sampling), through coaching and behavioral change, up to validation of applications of Artificial Intelligence.The student is expected to follow, in a multi-disciplinary student team, a research cycle consisting of the following steps:
define the research question, target user group, functionality and study protocol.
conceptualize an interactive application, create mock-ups and preliminary walk-throughs.
develop the application, distribute it and implement the study protocol.
conduct and analyze an empirical study using this application.
The course will address necessary topics to follow the proposed research cycle.

Students work in multi-disciplinary teams of about 4-5 students. Throughout the course, each team will develop an 'intelligent new media application' with which they can answer a certain research question. These questions are put forward by so-called ‘stakeholders’, and should be centred around the general idea of ‘assistive technology’. For example, questions may include: 'can an intelligent mobile app help people quit smoking?', 'can a social robot be used to teach maths in primary school?', 'can a Virtual Reality application help people cope with anxiety?'. Hence, the type of technology (e.g., mobile app, social robot, VR application, serious game, …) as well as the choice of a programming language and platform to develop the application are completely open, as long as the system uses some kind of Artificial Intelligence. Moreover, students are encouraged to use new and interesting forms of sensors and devices (e.g., an eye tracker to sense gaze movement and pupil dilation, an emotive for EEG brain monitoring, or beacons for tracking movement). To answer their research question, students will go through an entire research & development trajectory (including requirements analysis, focus groups, conceptual design, prototype implementation, usability study, and an actual experiment involving real participants).

1022797 | Data Management1st2nd6ENG

Educational objectives

General objectives:

The goal of the course is the investigation on the basic concepts of
Data Management systems, emphasizing the relational model. Several major
issues related to the theory and the design of relational data
management systems are covered, including concurrency control, recovery,
file and index organizations, query processing, OLAP and OLTP. A good
knowledge of the fundamentals of Programming Structures, Programming
Languages, and Databases (SQL, relational data model,
Entity-Relationship data model, conceptual and logical database design)
is required.

Knowledge and understanding:

The student will have a good knowledge on how a Data Management System
works, how it is structured, and how it is designed. Also, the student
will acquire knowledge of the architecture of a database management
system and of its main modules (transaction manager, recovery manager,
query evaluator). The student will also acquire a good understanding of
how to design the physical organization of relations (files and
indices), and how the query optimizer of a Data Management system works.

Applying knowledge and understanding:

The students will be able to design her/his own Data Management system,
including the concurrence control module, the recovery module, the
access file method, and the query optimizer.

Making judgements:
The student will be able to evaluate a Data Management system, and will
be able to choose the right technique for concurrency, recovery, and
query processing in specific application contexts.

Communication skills:
The students will acquire a good knowledge on how to illustrate the
algorithms and the techniques at the basis of a modern Data Manager.

Learning skills:
The student will be able to understand any new architecture and approach
to Data Management that will become popular in the future.

10610032 | Intelligent Systems in Medical Imaging1st2nd6ENG

Educational objectives

Aims
Learn how basic methods of image processing work
Learn about important applications in the field of medical image analysis and computer aided diagnosis (CAD)
Understand the increasing role of machine learning and deep learning in medical imaging
Design, implement, and evaluate a medical image analysis system for a clinical application
Learn how to design studies to evaluate medical image analysis systems

Content
Medical imaging is increasingly gaining importance in medicine. Radiologists use images to detect diseases in an early stage (via screening), to diagnose patients with symptoms, and to monitor the effect of treatment. In pathology digitization of microscopy imaging is just starting, enabling pathologists to use computerized analysis of high-resolution gigapixel images to better diagnose disease in tissue samples. However, as the complexity of imaging (3D/4D) and the amount of data increases the interpretation of images by humans becomes problematic.
Therefore, there is a growing need for intelligent image analysis systems that can aid clinicians with image interpretation and decisions. The goal of these systems is to reproduce visual skills of highly trained human observers and to provide quantitative analysis. For this purpose, machine learning is applied to develop a computer model that can be trained to exploit information from a large number of medical images.
In recent years, Deep Learning [LeCun et al., Nature, 2015] has emerged as the state-of-the-art approach for image analysis applications. While human readers still are superior in most applications, Convolutional Neural Networks have been successfully applied to medical imaging problems like automated reading of mammograms for breast cancer detection, automatic detection of pulmonary nodules for lung cancer screening, detection of breast and prostate cancer in histopathology images and segmentation of white matter lesions in brain magnetic resonance, amongst others, de facto gradually bridging the gap between humans and computers. Finally, recent studies have shown that deep learning algorithms have reached and outperformed human professionals at diagnostic tasks like detection of skin cancer [Esteva et al., Nature, 2017], classification of diabetic retinopathy [Gulshan et al., JAMA, 2016] detection of breast cancer metastasis in lymph nodes [Ehteshami et al., JAMA, 2017], and malignancy risk estimation of lung nodules on CT [Venkadesh et al., Radiology, 2021].

In the first part of the course, students will learn basic concepts of digital image processing, medical imaging, machine learning and deep learning through a series of weekly practical assignments. Lectures and assignments will cover the following topics:
Introduction to Medical Image Analysis
Medical Image Processing and Transformation
Detection, Segmentation and Classification in Medical Imaging
Machine Learning with Neural Networks
Deep Learning with Convolutional Neural Networks
Convolutional Neural Networks and Segmentation in Medical Imaging
Convolutional Neural Networks and Detection in Medical Imaging
Deep Learning for Gand Challenges in Medical Imaging

The second part of the course is dedicated to the development of a CAD system based on deep learning, in the form of a final project, in which small teams of students will apply the concepts and techniques learned in the first part of the course and compete in ongoing grand challenges in medical imaging.

10610029 | Network Analysis1st2nd6ENG

Educational objectives

Content (Syllabus outline):
Introduction to network analysis. Graphs. Networks.
Node position. Spectral and distance node centrality. Clustering coefficients. Link analysis algorithms.
Link importance. Betweenness and bridgeness link centrality. Embeddedness and topological overlap.
Node similarity. Local and global node similarity. Structural and regular equivalence. Block models.
Node fragments. Egonets analysis. Network motifs and graphlets. Convex subgraphs. Node orbit distributions.
Graph partitioning. Graph bisection. Spectral analysis. Hierarchical clustering. Core-periphery structure.
Network clustering. Modularity optimization. Community detection. Role discovery. Blockmodeling.
Network modeling. Erdos-Renyi. Watts-Strogatz. Price, Barabasi-Albert and configuration models.
Network abstraction. Structural network comparison. Network layout algorithms. Network visualization.
Network mining. Node classification and ranking by equivalence and position. Link prediction by similarity.
Selected applications of network analysis. Fraud detection. Software engineering. Information science.

10610030 | High Performance Computing1st2nd6ENG

Educational objectives

Content (Syllabus outline):
Parallel and distributed computing. Quantifying parallelisation architectures. Memory access. Granularity. Topologies.
Modern parallel architectures. Shared-memory systems. Distributed-memory systems. Graphics processing units. Modern coprocessors. FPGA circuits. Heterogeneous systems.
Parallel languages and programming environments. OpenMP. MPI. OpenCL. MapReduce.
Parallel algorithms. Analysis and programming. Data and functional parallelism. Pipeline. Scalability. Programming strategies. Performance analyis. Implementation of standard scientific algorithms. Choosing the appropriate architecture.
Parallel performance. Load balancing. Scheduling. Communication overhead. Cache effects. Spatial and temporal locality. Energy efficiency.
Using the national high performance computing infrastructure.
Selected advanced and current topics in high performance computing.

10589747 | INTERNET OF THINGS1st2nd6ENG
10606830 | Internet-of-Things Networks and Protocols1st2nd6ENG

Educational objectives

The course will make students aware of the challenges behind the design, implementation and field use of Wireless system, sensing systems and the Internet of Things. The course will present both the theoretical foundations and practical aspects you need to know to develop such systems. Hands on lab experiences are associated to the course.

Part 1, Wireless networks

Fundamentals of wireless systems

Fundamental of ad hoc and cellular networks

Part 2, Internet of Things Core

Internet of Thigs applications, architectures, enabling technologies and protocols

Part 3, Emerging Technological Trends in Internet of Things

Zero power sensing systems: Wake Up Radio, energy harvesting, ...

ML based system optimization

Cyber physical systems for the Blue Economy

Part 4, From technologies to Applications

Internet of Things for smart planet and smart cities: practical examples of how to put the pieces together to implement real systems

Part 5 (Lab): Simulating, implementing and testing novel ideas on wireless networked systems and IoT systems

Performance evaluation of Internet of Things systems: How to model, what to model

Network simulators for Internet of Things

How to move from an idea to a validated idea to a solution

Lab: The course provides some lectures on C++ tailored to what needed to program simulators on Internet of Things systems.

For students with limited background on C/C++, recording of classes on C++ from previous courses will be shared so that you can get the needed background

10610038 | Research Methodology2nd1st6ENG

Educational objectives

Presentation and Associated Skills
This course covers the major considerations and tasks involved in conducting scientific research, with special emphasis in those aspects related to the context of Information and Communication Technologies.
Students are expected to develop the following skills: formulation of research questions; ability to search and distinguish the types of information sources and their impact; selection of the techniques and methods that can be applied to different types of research work; communication skills in the context of research; understanding the context and role of professional researchers, including the tasks of writing and reviewing papers and projects.
Topics covered
Introduction: course set-up, group gauge and introduction to the concept of "research".
Reality and consensus: science, paradigm, scientific community, scientific revolutions, trends. The nature of "truth", credibility, frauds in research, responsible research and innovation.
Information sources: types of information sources, access to articles, ranking/impact. Managing and citing references.
How to formulate research questions: reasons for doing research. Possible outcomes of research. Finding research topics. Writing a literature review.
How to answer research questions: playing with theory, induction, deduction and abduction. Science and creativity. The scientific, the engineering, the empirical and the analytical methods. Experimental validation methods. Data collection instruments and analysis.
Writing and presenting research work: technical writing. Presentations, posters and exhibitions.
The tasks of professional researchers: submitting and reviewing papers. Academy, research centres, R&D in Industry. Some aspects of intellectual property. Open Science. Social Impact of Science. Meta-Research.

10610037 | Data-driven Social Analytics2nd1st6ENG

Educational objectives

Presentation
Online social networks and social media play a central and growing role in our daily life. They influence how we communicate with our friends, how we obtain and consume media and news content, how we apply for a job, even how the information we look up in Wikipedia is generated or how political parties try to convince you to vote for them. The aim of this course is to provide both the theoretical background as well as the practical tools to analyse, model and visualize the multiple facets of these phenomena.
The course provides an overview about the state of the art in Social Network Analysis and how its metrics have been derived from theories in Sociology. Furthermore, it will provide knowledge about tools and methods to derive specific social media datasets and the way to visualize social networks that go beyond an ugly hair ball of nodes and edges. Finally, it will cover more advanced topics such as learning and inference, information diffusion, community structure and prediction.
Associated skills

Basic Competences
That students have and understand knowledge that provides a basis or opportunity to be original in ○
the development and/or application of ideas, often in a research context.
That students know how to apply the acquired knowledge and their ability to solve problems in new or little-known environments within broader (or multidisciplinary) contexts related to their area of study.
That students are able to integrate knowledge and face the complexity of making judgments from information that, being incomplete or limited, includes reflections on the social and ethical responsibilities linked to the application of its knowledge and judgments.
That the students know how to communicate their conclusions and knowledge and ultimate reasons that support them to audiences specialized and non-specialized in a clear way and without ambiguities.
That students possess the learning skills that allow them to continue studying in a way that will be largely self-directed or autonomous.
Specific Competences
Identify novel applications of models and algorithms in the field of interactive intelligent systems.
Ability to communicate effectively using the technical vocabulary of the field in English.
Apply machine learning models and algorithms to a well-identified interactive intelligent systems problem.
Learning outcomes
Ability to apply and identify basic algorithms in social networks modeling, analysis, and visualization.
Ability to read and demonstrate good comprehension of scientific articles in the area of data-driven social analytics.
Identify parallels in problems in the field of interactive intelligent systems.

1038133 | Formal Methods2nd1st6ENG

Educational objectives

General outcomes:

The objective of the course is to study the most important quality of software: correctness. Such a study concerns bot the static aspects (data) and the dynamic aspects (processes) of software, considering both how to conceptualize and model such aspects and how to verify them. The main tools used for such study are various forms of logic: first-order logic and description logics for the static aspects, Hoare Logic and dynamic and temporal logics of programs for the dynamic aspects. After a successful completion of the course, the student will have acquired techniques and methods to model and verify programs, both wrt data and processes.

Specific outcomes:

Knowledge and understanding:
Learn the fundamentals of formal methods. The use of strict and formal specifications and their verification. Founding principles of logic in computer science logic and formal verification of data and processes.

Applying knowledge and understanding:
Being able to apply the acquired knowledge to perform analysis of the correctness of programs through rigorous and formal methods, both in relation to aspects relating to data and processes.

Making judgements:
Being able to evaluate the rigor of a given argument of correctness of the programs. Being able to choose the conceptual tools provided by logic and formal methods for the verification of both static and dynamic properties.

Communication:
The group activities in the classroom as well as group projects make the students able to communicate / share the acquired knowledge and to compare himself with others on the topics of the course.

Lifelong learning skills:
In addition to the competences provided by the study of the teaching material, the course teaches the students to deepen their knowledge of some of topics presented in the course, while working in a group, and concretely apply the concepts and techniques learned to specific case studies.

1041706 | Knowledge Representation and Semantic Technologies2nd1st6ENG

Educational objectives

General objectives:

To know the main languages of the current semantic technologies, in particular, the families of class-based and rule-based knowledge representaton formalisms, and the main reasoning techniques for such formalisms. To know the standard semantic technologies based on the above knowledge representation formalisms, in particular the RDF language and the OWL language, with the goal of designing and managing an ontological knowledge base. To know the basic elements of the representation of actions and reasoning about actions.

Specific objectives:

Knowledge and understanding:
Description Logics (the main class-based knoeledge representation formalisms) and the main rule-based languages, in particular Datalog and some of its extensions. The main Web standards for semantic technologies, in particular the RDF, SPARQL and OWL languages.

Applying knowledge and understanding:
To be able to design a knowledge base, choosing the most appropriate formalism and technologies for the given application context.

Making judgements:
To be able to evaluate the main semantic aspects of a knowledge base and of a knowledge-based application. To be able to choose the best available technology for processing a knowledge base.

Communication skills:
The practical activities and the exercises allow the student to be able to communicate and share the requirements of an application requiring the construction and management of a knowledge base and/or the usage of the standard semantic technologies.

Learning skills:
Besides the classical learning skills provided by the theoretical study of the teaching materials, the practical activities stimulate the student to autonomously deepen her/his knowledge about some of the course topics, to teamwork, and to the practical application of the notions and techniques learned during the course.

10610036 | Capita Selecta in Cybersecurity2nd1st6ENG

Educational objectives

Aims
The idea behind this capita selecta course is to treat a topic within the broad field of cyber security in-depth. The topic may vary over the years, but it will be a topic that is highly relevant and important and one that is an active area of research within the Digital Security group at ICIS.

The current topic is 'Online Tracking and Privacy' and the course will be taught by dr. Günes Acar.

Learning objectives: at the end of the course students
understand key online tracking mechanisms;
can audit websites, mobile applications and IoT devices to identify tracking and data collection practices;
understand the privacy and security implications of online tracking;
understand how countermeasures against online tracking works;
can explain how privacy-preserving telemetry and client-side data collection works.

Content
Topics covered in the course include:
stateful and stateless cross-site tracking on the web (e.g. cookies, super-cookies, browser fingerprinting, cookie syncing);
microtargeting and behavioral advertising;
intentional and unintentional exfiltration of personal data;
countermeasures against password leaks;
countermeasures against web tracking, at browser or network level;
tracking on mobile platforms;
IoT devices and privacy (e.g. data collection from smart home devices and by smart TV channels);
online manipulation: microtargeting and dark patterns;
practical analysis of online privacy practices for the web, mobile devices, and IoT, including building web crawlers for large scale measurements and using machine learning techniques for analysis;
privacy-preserving analytics, telemetry, and advertising (e.g. RAPPOR, Local Differential Privacy, Mozilla Prio, Google FLoC).

10610035 | Software Security2nd1st6ENG

Educational objectives

Aims
At the end of the course students
can explain the common ways in which software security fails;
are able to identify security objectives of applications and identify likely places where they might fail;
can explain methods and technologies that can help in the development of secure software;
can apply some of these techniques in practice.
Concrete examples of attacks and countermeasures are often specific to a certain setting (a programming language and/or type of application); the aim provide enough insight to be able to assess problems and proposed solutions in other situations.

Content
Software is THE most important cause of computer security problems. This course is about the challenges in developing secure software and the technologies that can be used to improve software security, at the various stages in the software development life-cycle, and at various "levels", eg. specific to an individual application or at the level of the programming language.

10610034 | Machine Learning for Data Science II2nd1st6ENG

Educational objectives

Content (Syllabus outline):
The course will explore in depth several important classes of algorithms in modern machine learning, and cover applications of each algorithm in real-world settings.
We will cover the following topics.
Methods for linear and non-linear dimensionality reduction. Shallow embeddings and matrix factorization. Random-walk embeddings and their connection with spectral methods. Locality-preserving projections.
Machine learning on relational data. Using machine learning to reason with relational data, especially in the context of knowledge graph embeddings. Network representation learning methods. Graph convolutional networks. End-to-end learning on relational data using low-dimensional embeddings.
Distant supervision, multi-label and multi-target learning. Weak supervision. Data programming. One-shot and few-shot learning. Noise-contrastive estimation (NCE) and optimization.
Introduction to reinforcement learning.
Current research topics.

10611400 | mobile robotics2nd1st6ENG

Educational objectives

Presentation
The ability to integrate artificial intelligence capabilities and agency aboard of an autonomous robot is now a reality. The great
success of manipulation in robotics has now been expanded to platforms of robots that move in their environment and for which
the challenge of selecting their actions depends heavily on tracking their location by themselves.
This course explores the impact of intelligent capabilities aboard mobile robotics and examines the software architectures that
transform reactive behaviours into deliberative behaviours. We touch on the issues of middleware and illustrate this with the
software packages provided by ROS.
Associated skills
Basic skills
Understand the knowledge that provides a basis or opportunity to be original in the development and / or application of ideas, often in a research context where robots may be relevant.
Apply the knowledge acquired and their ability to solve problems in novel or poorly knownenvironments within broader (or multidisciplinary) contexts related to their area of study.
Integrate knowledge and face the complexity of making judgments based on information that, being incomplete or limited, includes reflections on social and ethical responsibilities linked to the application of their knowledge and judgment.
Learning skills that allow students to continue studying in a way that will need to be largely self-directed or autonomous.

Specific skills
E1) Apply the models and algorithms of machine learning, autonomous systems, interaction in natural language, mobile robotics and / or web intelligence to a problem of well-identified interactive intelligent systems. In particular, students will acquire in-depth experience with software programming tools and with the software architecture and middleware that enable the robotic behaviour.
E2) Program virtual agents so that they can interact with their environment, humans and / or other agents intelligently. In particular, students will develop expertise with reactive systems and the integration of deliberative capabilities.
E3) Identify new uses of models and algorithms in the field of interactive intelligent systems. In particular, students will also understand the main issues in algorithms for localisation, navigation and mapping.
E6) Present the result of a research project in the field of interactive intelligent systems in a scientific forum and in interaction with other researchers. In particular, develop a small package that demonstrates inquiry in mobile robotics.
Learning outcomes
E1) Solves problems related to interactive intelligent systems. In particular, students shall critically recognise and produce designs for software architectures and control architectures suited for robotic systems.
Identifies the appropriate models and algorithms to solve a specific problem in the field of interactive intelligent
systems. In particular, the student shall evaluate and contrast the techniques for robotic manipulation and robotic motion.
Evaluates the result of applying a model or algorithm to a specific problem. In particular, students shall appreciate the properties
of reactive systems and be able to compose complex behaviour from simpler behaviours of finite state machines.
E2) Uses software tools and environments autonomously for intelligent agent programming. Students shall become familiar with ROS as middleware and recognise the roles of middleware for robotics systems and the very relevant issues of properties contrasting the "push" approach versus the "pull" approach.
Implements stable algorithms that meet the quality requirements in relation to the required time and space. In particular, students shall apply kinematic models (as motion models) in the context of localisation to create the predictive step during the action phase of the localisation exercise.
E3) Recognizes the intentional domain of application of a model or algorithm in the field of interactive intelligent systems. In particular, use sensor models to incorporate the uncertainty of sensing in the revision of the belief that represent the notion of position and posture for the robot.
Describes limitations of a given model or algorithm for a new problem. In particular, recognise the common elements and the individual differences between the methods for map representation in localisation, as well for the algorithms that represent uncertainty and how they update such uncertainty for autonomous mobile robots.

10611399 | Image-based Biometry2nd1st6ENG
1023235 | Robotics I2nd1st6ENG

Educational objectives

General objectives

The course provides basic tools for the control of robotic systems: kinematic analysis, trajectory planning, programming of motion tasks for robot manipulators in industrial and service environments.

Specific objectives

Knowledge and understanding:
Students will learn how actuation units and sensing components of robots operate, the basic methods for the kinematic modeling, analysis and control of robot manipulators, as well as the main algorithms for trajectory planning.

Apply knowledge and understanding:
Students will be able to analyze the kinematic structures of industrial robots and to design algorithms and modules for planning and controlling robot trajectories.

Critical and judgment skills:
Students will be able to characterize the functionality of a robotic system with reference to a given industrial or service task, analyzing the complexity of the solution, its performance, and the possible weaknesses.

Communication skills:
The course will allow students to be able to present the main problems and the technical solutions related to the use and application of robotic systems.

Learning ability:
The course aims at developing autonomous learning abilities in the students, oriented to the analysis and solution of problems in the use of robots.

1021883 | ROBOTICS II2nd1st6ENG

Educational objectives

General objectives

The course provides advanced tools for the control of robotic systems: use of kinematic redundancy, dynamic modeling of robot manipulators, design of feedback control laws for free motion and interaction tasks, including visual servoing.

Specific objectives

Knowledge and understanding:
Students will learn the methods for the dynamic modelling of manipulators, for the use of kinematic redundancy, as well as how control laws can be designed to execute robotic tasks in free motion or involving interaction with the environment.

Apply knowledge and understanding:
Students will be able to analyze the robot dynamics and to design algorithms and modules for controlling robot trajectories and contact forces with the environment.

Critical and judgment skills:
Students will be able to characterize the dynamic functionality of a robotic system with reference to a given task, analyzing the complexity of the solution, its performance, and the possible weaknesses.

Communication skills:
The course will allow students to be able to present the advanced problems and related technical solutions when using robots in dynamic conditions.

Learning ability:
The course aims at developing autonomous learning abilities in the students, oriented to the analysis and solution of advanced problems in the use of robots.

1022863 | MEDICAL ROBOTICS2nd1st6ENG

Educational objectives

Introduction to the basic robotic technologies in the medical context, with particular emphasis on surgical robotics.

Expected learning results: Knowledge of the main robotic surgical systems, of the challenges and methodologies of medical robot design and control.
Expected competence in:

- critically reading a scientific paper describing medical robotics technologies;
- discussing in detail the state of the art of robotic applications in medicine;
- estimating potential benefits deriving from the introduction of robotic technologies in a medical procedure;
- arguing the development of a particular technology not yet available or experimentally validated;
- communicating and collaborating with people with different technical background;
- evaluating clinical, social and economical constraints in implementing a robotic technology in a medical context;
- design control scheme for teleoperation of medical robots and for shared execution of surgical tasks between humans and robots.

The student must acquire 12 CFU from the following exams
LessonYearSemesterCFULanguage
AAF1466 | INTERNSHIP2nd1st12ENG

Educational objectives

Aims
Upon completion of the internship, the student will be able to
take part in scientific research in the specific area of the students’ master’s specialization: get aquainted with the subject and state of the art, apply appropriate methods, discuss, contribute to research results, relate the activities to current developments in the field;
present their activities and research outcomes of the internship;
reflect on the development of their research skills and the role of research in their future career.

Content
This internship is part of your training as scientific researcher: in the Research Seminar you have studied scientific literature, in this Research Internship you participate in a research project in one of our scientific groups, and in the Master Thesis you will carry out your own research project.
You will have to make the arrangements for your internship yourself. This includes finding a suitable research group and/or project, so this is best done in advance. Normally, you will carry out your research within one of the ICIS groups involved in your master’s specialization. It is also possible, however, to arrange an ‘external internship’ and participate in research at another institute, in industry, or even abroad. In any case, your choice of location and research project needs to be approved by the (assistant/associate) professor or the lecturer who will be your supervisor. The primary point of contact for the research internship (besides whoever acts as supervisor of your research internship project) is the coordinator of your master’s specialization.

AAF2331 | Advanced Topics in Computer Vision and Image Processing2nd1st12ENG

Educational objectives

Content (Syllabus outline):
The course will include selected advanced topics in motion perception using computer vision. Concrete topics will change each year according to trends in this fast developing field in computer science and industry. Potential topics will include:
Overview of the field motion estimation and applications.
Optical flow estimation using least-squares.
Variational optical flow estimation.
Parametric template tracking using Lucas-Kanade.
Histogram-based tracking using Mean Shift
Tracking as stochastic optimization using cross entropy.
Recursive Bayes filter for online state estimation.
Tracking by Kalman filter.
Tracking by particle filters.
Tracking deformable objects by constellation models.
Methodologies of tracker comparison.
Tracking by classification.
Long-term tracking by detection.

AAF2330 | Seminars on Advanced Topics in AI and Robotics2nd1st12ENG

Educational objectives

Contents
part A : AI for Visual Perception in HCI & HRI

As computer science, assistive technologies and robotics evolve towards application fields in which humans cooperate with machines, working closer and closer, the requirements for human computer interactions increase. Visual perception is an important component for human–machine interaction processes in all kinds of computer systems. Interaction between humans and computers depends on the reliability of the perception systems, and, above all, the vision system. The analysis of activities, motions, skills, and behaviors of humans and robots are generally addressed by using the features of a moving human body (or body part). The human motion behavior is then analyzed by body movement kinematics, and the trajectory of the target is used to identify the objects and the human target. The process of human target identification and gesture recognition in a quite non-trivial problem. In this series of lectures we will focus on the context of Human-Robot Interaction (HRI) along with the related problems on the field of vision and perception, applied to robotic systems. We will devise the typical characteristics of vision and perception related hardware device, as well as the relative software systems and solutions. We will explore the known approaches characterizing well known visual recognition systems, as well as the most important algorithmic solutions for people targeting and body parts recognition. A theoretical and practical framework will be given with several example. Finally we will discuss the state of the art on human-centric vision analysis and explain the importance of the matter relatively to human-based interfaces of computer/robots with special interest in human motion and activity recognition. We will also devise several tracking systems and motion oriented context and object recognition techniques, with emphasis on deep learning techniques applied to visual recognition. Finally we will compare the applicability of such techniques to human motion classification and the related application on the field of Human-Computer Interaction.

part B: Computational Narrative Understanding and Storytelling
Stories are an early genre and a popular form of human communication and entertainment. They are pervasive in our everyday life, ranging from experience sharing at dinner and telling imprtant events in newspapers articles to entertainment in fables, novels, movies and computer games. In this part of the course we will focus on the computational understanding and generation of stories, which are open research areas at the intersection of Natural Language Processing, Machine Learning, computational literary analysis and human-computer interaction. The topics covered during the course will include:
narrative theory for computational computational narrative
computational semantic models and frame semantics for stories
event knowledge encoding and extraction
the computational structure of a story
commonsense knowledge and reasoning
computational dialogue for narrative
computational storytelling