| 10630014 | ADVANCED ALGORITHMS [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives Educational goals
The course provides an in-depth treatment of advanced techniques for the design and analysis of algorithms for complex computational problems. Particular emphasis is placed on problem modeling, rigorous performance analysis, and the use of probabilistic and combinatorial methods.
Knowledge and understanding
Students will acquire an advanced understanding of algorithmic techniques and paradigms, including their theoretical foundations, computational limitations, and the mathematical tools required for their analysis.
Applying knowledge and understanding
Students will be able to model complex algorithmic problems, design efficient solutions, analyze their correctness and complexity, and adapt known techniques to new problem settings.
Making judgements
Students will develop the ability to critically evaluate alternative algorithmic approaches, assess their strengths and limitations, and select the most appropriate techniques for a given problem.
Communication skills
Students will be able to present algorithms, proofs, and complexity analyses clearly and rigorously, using the language and conventions of theoretical computer science.
Learning skills
Students will acquire the conceptual tools needed to study advanced topics in algorithms independently and to read and understand research papers in the field.
I would be happy to sign my name under this. It is concise, reasonably substantive, and avoids the usual avalanche of educational-management jargon.
|
| 10629763 | ADVANCED ARCHITECTURES [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives Educational goals
The course provides an advanced understanding of the principles of computer architecture, with particular emphasis on parallel computing systems, high-performance architectures, and the foundations of quantum computing. The course integrates theoretical and methodological aspects related to performance evaluation, arithmetic circuit design, and the study of modern computer architecture paradigms.
Upon completion of the course, students will be able to:
analyze the main models of computer architecture, both sequential and parallel;
understand the characteristics of SIMD, vector, and GPU architectures;
design and evaluate arithmetic circuits and related optimizations;
apply advanced numerical representation techniques (IEEE 754, redundant number systems, residue number systems);
use analytical models for performance evaluation (Amdahl’s law, Gustafson–Barsis law, processor performance equation);
understand memory architectures and interconnection networks in parallel systems;
acquire the fundamental concepts of quantum computing and the design of elementary quantum circuits.
Knowledge and understanding
Students will acquire in-depth knowledge of computer architecture models, digital circuit design techniques, parallel computing paradigms, and the foundations of quantum computing. They will also understand the main theoretical models for evaluating the performance of computational systems.
Applying knowledge and understanding
Students will be able to apply the acquired knowledge to design and analyze arithmetic circuits; evaluate the performance of computational systems using quantitative models; interpret and compare modern parallel architectures; and analyze computational problems in complex hardware contexts, including vector systems, GPUs, and interconnection networks.
Making judgements
Students will develop critical skills in analyzing and comparing different architectural solutions, evaluating their efficiency, scalability, computational cost, and performance with respect to the application context.
Communication skills
Students will be able to clearly and rigorously present complex concepts related to computer architecture, both in written and oral form. They will also be able to justify and defend design choices and performance analyses using appropriate technical terminology.
Learning skills
Students will develop autonomy in studying and continuously updating their knowledge in the field of computer architecture, parallel computing, and emerging technologies, with the ability to independently explore new models and computational paradigms.
|
| 10626793 | Advanced Machine Learning [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives General objectives:
The course will present to students the advanced and most recent concepts of machine learning and their application in computer vision via deep neural network (DNN) models. It will include theory and practical coding, as well as a final hands-on project. Towards the coding assignments and the final project, the students will work in teams and present their ideas and project outcome to the class.
Specific objectives
The first part of the course includes delving into state-of-the-art DNN models for classification and regression applied to detection (where the objects are in the image), pose estimation (whether people stand, sit, or crunch), and re-identification (estimating a unique vector representation for each person). The course further discusses DNNs for multi-task objectives (joint detection, pose estimation, re-identification, segmentation, depth estimation, etc). This first part includes DNNs that apply to video sequences, by leveraging memory (e.g. LSTMs) or attention (Transformers).
The second part of the course delves into models, training techniques, and data manipulation for generalization, domain adaptation, and meta-learning. Further to transfer learning (how pre-trained models may be deployed for other tasks), it discusses multi-modal (with different sensor modalities such as depth or thermal cameras) and self-supervision (e.g. training the DNN model by solving jigsaw puzzles) to auto-annotate large amounts of data. Finally, it presents domain adaptation (e.g. apply daytime-detectors for night vision) and meta-learning, a most recent framework to learn how to learn a task, e.g. online or from little available data.
Knowledge and understanding:
At the end of the course, students will be familiar with state-of-the-art DNN models for multiple tasks and multi-task objectives, as well as generalization and the effective use of labeled and unlabelled data for learning, self-supervision, and meta-learning.
Apply knowledge and understanding:
At the end of the course, students will have become familiar with the most recent advances in machine learning across a variety of tasks, their adaptation to novel domains, and the continual self-learning of algorithms. They will be able to explain the algorithms and choose the most appropriate techniques for a given problem. They will be able to experiment with existing implementations and design and write programs for new solutions for a given task or problem in the two fields.
Critical and judgment skills:
Students will be able to analyze a problem or task and identify the most suitable methodologies and techniques to apply in terms of the effective resolution of the problem (accuracy) and its feasibility, including the efficiency, the required amount of data, and annotation. Further to class discussions, critical and judgemental skills will be the result of assignments, a course project, and a final project report.
Communication skills:
Students will acquire the ability to expose their knowledge in a clear and organized way, which will be verified through a final project presentation and its discussion.
Students will be able to express their solutions rigorously and explain the structure of the code they have written.
Learning ability:
The acquired knowledge will enable students to face the study of other problems in machine learning and computer vision. Learning ability will result from the chosen lecture topics, covering broad areas in advanced machine learning, as well as from the final project, for which students will deep dive into a new topic, beyond the thought material.
|
| 10626987 | ADVANCED SOFTWARE ENGINEERING [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General goals:
The course aims at presenting a formal method approach, typically based on model transformations, for the development of medium complexity software systems (typically Enterprise applications).
The course is focused on issues of model-driven development, in its various articulations, also providing a theoretical foundation based on the algebraic approach to graph transformation.
At the end of the semester, course participants will have learned system modeling through textual and diagrammatic languages based on various types of metamodels as well as the fundamental notions relating to the definition of domain-specific languages.
They will also have acquired skills in the use of different modeling tools.
Specific goals:
The course will form students on:
1. Foundations of metamodeling
2. Fundamental of model transformations
3. Domain specific languages
4. Software architectures
Knowledge and understanding
The student will learn fundamental notions for platform-independent modelling starting from specification of requirements, and how to use transformation tools to get to implementations of (partial) code satisfying the requirements, as well as on software architectures.
Applying knowledge and understanding
The student will be able to use some of the most popular languages and tools in the field of systems modeling and model transformation, and use them to develop applications at various levels of complexity.
Critical and judgmental skills:
Students will develop the analytical skills necessary to evaluate various alternatives in the field of system modeling, in particular regarding domain modeling and assessment of architectural requirements.
Communication skills:
Students will learn to document their choices, also through the use of documentation generation tools, exploiting in particular diagrammatic notations.
Learning ability:
The mastery of the concepts of formal model and model transformation, as well as the familiarity with software development environments that integrate these concepts, will allow students to continue exploring and learning languages and approaches based on these concepts.
|
| 10627537 | AUTOMATIC VERIFICATION OF INTELLIGENT SYSTEMS [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational objectives
General goals:
The course aims at presenting advanced methods and software tools for modelling, design, verification, and validation of intelligent systems.
Specific goals:
The course aims at making students proficient in the comprehension and application of advanced modelling, design, verification and validation techniques for intelligent systems.
Knowledge and understanding:
A wide-spectrum introduction to advanced principles of modelling, analysis, and design of intelligent systems.
Applying knowledge and understanding:
The successful student will be able to exploit the portfolio of techniques and the different approaches shown in the course for the modelling, design, verification and validation of intelligent systems.
Critical and judgmental skills:
Students will be able to take autonomous and rational decisions on the most effective methods and software tools to employ for the modelling, design, verification, and validation of intelligent systems.
Communication skills:
Students will be able to interact proficiently with domain experts on a wide set of topics concerning modelling, design, verification, and validation of intelligent systems.
Learning ability:
Students will be able to extend their skills in the subjects of this course through autonomous reading of relevant scientific literature.
|
| 10628736 | Autonomous Networking [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals
The course aims to provide students with theoretical and practical knowledge of autonomous networking, with particular emphasis on wireless systems, sensor networks, Wi-Fi, RFID, backscattering networks, and robophysical networks. The course also introduces the basic principles of reinforcement learning and their use in the design of adaptive communication protocols, with a focus on MAC and routing protocols that can modify their behavior according to the state of the network and the operating environment.
Knowledge and understanding
By the end of the course, students will have acquired knowledge of the main communication paradigms in wireless networks and of the characteristics of sensor networks, RFID systems, backscattering networks, and robophysical networks. They will be able to understand the main challenges related to channel sharing, mobility, resource constraints, interference, and variability of operating conditions. Moreover, students will understand the fundamental concepts of reinforcement learning and how these techniques can be applied to the design of autonomous and adaptive network protocols.
Applying knowledge and understanding
Students will be able to analyze network scenarios characterized by dynamics, uncertainty, and resource constraints, identifying suitable protocol solutions. They will be able to design, model, and evaluate simple adaptive mechanisms for medium access control, transmission action selection, and routing. In addition, they will be able to apply basic reinforcement learning tools to formulate decision-making problems in networking and to compare static and adaptive strategies through appropriate performance metrics.
Making judgements
The course aims to develop students’ ability to critically evaluate the effectiveness of autonomous networking solutions in different application contexts. Students will be able to discuss the advantages and limitations of rule-based, optimization-based, and learning-based approaches, taking into account aspects such as complexity, scalability, energy consumption, robustness, convergence, and communication overhead. They will also be able to interpret experimental or simulation results and make well-founded judgements on the choice of a protocol or learning strategy.
Communication skills
Students will acquire the ability to clearly and rigorously describe problems, models, and solutions related to autonomous networking. They will be able to present adaptive protocols, reinforcement learning algorithms, and evaluation results using appropriate technical language. The course also promotes the ability to discuss scientific papers, justify design choices, and effectively communicate experimental results both in written and oral form.
Learning skills
By the end of the course, students will have developed the skills needed to independently explore advanced topics in autonomous networking, intelligent wireless networks, and the application of reinforcement learning to communication systems. They will be able to read and understand recent scientific literature, identify open research problems, and update their knowledge in response to the evolution of wireless technologies, adaptive protocols, and machine learning methods applied to networking.
|
| 10627562 | BIG DATA COMPUTING [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals
The course aims to introduce big data computing as an advanced structural paradigm of modern computing platforms, highlighting the intersection between distributed computing architectures, high-dimensional data representations, and scalable machine learning systems. The primary objective is to provide students with a comprehensive understanding of how the scale-out computing model handles large volumes, velocities, and varieties of data, offering the methodological abstractions necessary to design and analyze systems where classical exact computation becomes intractable.
By the end of the course, students will have the methodological foundations to understand and analyze the challenges involved in designing complex distributed software platforms.
Knowledge and understanding
Understanding the theoretical principles and execution semantics of large-scale distributed infrastructures. Knowledge of the geometric properties governing high-dimensional spaces, the trade-offs of structural sparsity, and the limits of exact query processing. Gaining a comprehensive overview of distributed optimization models, parameter synchronization abstractions, and memory-efficient training pipelines.
Applying knowledge and understanding
Being able to apply scale-out data processing abstractions to map complex workloads (covering tabular, text, image, and graph data) into distributed pipelines. Being able to model and solve massive data extraction, aggregation, and learning tasks using probabilistic sketching bounds and data-skipping methods in real-world large-scale deployments.
Making judgements
The ability to critically evaluate system trade-offs between exact and approximate computing paradigms (e.g., speed vs. accuracy in sketching, or synchronization overhead vs. statistical efficiency in distributed optimization) across different operational and infrastructure constraints.
Communication skills
Being able to clearly, formally, and rigorously explain the advanced architectural patterns and mathematical abstractions of big data platforms, presenting peer-reviewed scientific literature from top-tier venues with academic fluency.
Learning skills
Acquiring a solid conceptual and research-informed foundation that enables independent study of emerging cloud infrastructure developments, modern execution frameworks, and open problems in massive machine learning engineering.
|
| 10626968 | BIOMETRIC SYSTEMS [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals:
To be able to design and evaluate a biometric or multibiometric system.
To know the features and basic techniques related to physical biometric identifiers, such as face, fingerprint, iris, etc., and behavioral, such as gait, signature (dynamic), voice, typing mode, etc. Architecture of a biometric system: unimodal systems and multibiometric architectures. To be able to evaluate the performance of a biometric system according to the adopted modality: verification and identification. To be able to evaluate/assure the robustness of a biometric system against spoofing attacks (identity theft).
Knowledge and understanding:
Fundamentals of design of a biometric system and of the techniques to extract/match the specific characteristics for the main biometric traits.
Applying knowledge and understanding:
To be able to design and implement an application for biometric recognition for at least one biometric trait.
Making judgments:
To be able to assess the performance and robustness of a biometric system to presentation attacks. To be able to transfer techniques and protocols in different contexts.
Communication skills:
To be able to communicate/share the requirements of a biometric system, the most suited modalities for a certain application, and the performance measures of a system.
Learning skills:
To be able to autonomously get a deeper insight on the course topics, in relation to either specific/complex techniques and methods, or to biometric traits not covered in the course.
|
| 10627535 | Blockchain and distributed ledger technologies [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives
General goals:
Blockchains emerged as a novel, game-changing paradigm for the distributed management of transactional systems. A blockchain is a protocol for the management of distributed ledgers, that is for the decentralised storage of a tamper-proof sequence of transactions (ledger), maintained and verified by the nodes participating in the network. A combination of peer-to-peer networks, consensus-making, cryptography, and market mechanisms is at the core of blockchains, which ensure data integrity and transparency thereby. An increasing number of blockchain platforms provides support for so-called smart contracts, that is, executable code expressing how business is to be conducted among contracting parties (e.g., transfer digital assets after a condition is fulfilled). The design of a secure, verifiable and efficient blockchain-based application requires the capability of properly architecting the behavioural structures amid the involved parties. The course covers in details the principles and technologies underpinning blockchain platforms and the properties they guarantee, on one hand, and is aimed at providing the means for the creation and analysis of blockchain-based solutions and applications, on the other hand.
Specific Goals
The course addresses four main topics: 1) fundamentals of blockchain and distributed ledger technologies; 2) the functioning of Bitcoin, transactions, UTXO, Script, and Proof-of-Work consensus; 3) the functioning of Ethereum, accounts, EVM, gas, Proof-of-Stake, and an introduction to smart contracts, with some implementation insights related to tokens and NFTs; 4) analysis of DeFi protocols, wallets, incentives, and blockchain-based applications.
Knowledge and understanding
Students will learn the fundamentals of blockchain and distributed ledger technologies, understanding the interaction between cryptographic primitives, data structures, peer-to-peer networks, transactional models, and consensus protocols that contribute to ensuring the integrity, persistence, and security of blockchain platforms. In addition, they will study the functioning of Bitcoin and Ethereum, with a focus on transactions, UTXO, Script, Proof-of-Work, accounts, EVM, gas, and Proof-of-Stake. The course will introduce smart contracts, clarifying their role, how they work, and providing some implementation insights related to tokens and NFTs. An overview of the cybersecurity challenges related to wallets, DeFi protocols, exchanges, and blockchain-based applications will also be provided. Furthermore, students will also examine the topics covered from a legal perspective, in order to consider the main regulatory constraints, including respect for users’ privacy.
Application of knowledge and understanding:
At the end of the course, students will have gained a better understanding of the fundamental pillars of distributed ledger technologies and blockchains. Also, they will have the ability to design and implement blockchain-based systems. Furthermore, they will produce reports in a manner that provides the most value to the stakeholders of decentralised applications.
Critical and judgmental skills:
Learners will develop the ability to assess the quality of decentralized applications and blockchain-based solutions at large from the perspectives of reliability, behavioural soundness, execution cost, on-chain and off-chain load balance, applicability, cybersecurity, and privacy.
Communication skills:
Students will learn how to document their choices, including through the use of diagramming and reporting tools. They will also have acquired the ability to prepare presentations on scientific subjects.
Learning ability:
The notions acquired during the course will provide students with solid knowledge in order to further investigate the most advanced technical aspects and to keep themselves informed about the continuous developments and updates of blockchain and distributed ledger technologies.
-
|
| 10626985 | CLOUD COMPUTING [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General Objectives
Cloud computing has entered the mainstream of information technology, providing highly elastic scalability in the delivery of enterprise applications.
At the end of the course, students will have the tools to understand the impact of using Cloud services in a business environment and the technological implications of developing Cloud applications in practice, especially for storing and processing large data sets.
Specific Objectives:
At the end of the course, the students will have the tools to:
use system and application virtualization technologies
use IaaS and PaaS technologies
design virtualized architectures
deploy cloud applications
assess the cost and performance of cloud-based systems
Knowledge and Understanding
At the end of the course, the students will have acquired knowledge about the drivers of cloud computing, virtualization technologies, cloud architectures (autoscaling, load balancing, monitoring, high availability), and cloud storage.
At the end of the course, the students will be capable of understanding the working principles of cloud-based solutions (design and operation) and of understanding applied research problems related to cloud-based solutions.
Applying Knowledge and Understanding:
At the end of the course, the students will be capable of:
explaining the principles of cloud computing
explaining the main cloud technologies
solving problems that require the use of cloud technologies and the design and deployment of virtualized architectures and cloud applications
assessing the performance and costs of cloud-based solutions
Critical Thinking and Judgment Skills:
In the course, the students will develop critical thinking skills in the field of cloud computing.
Communication Skills:
At the end of the course, the students will be capable of communicating the notions learned to practitioners and managers.
Learning Ability:
After the course, the students will have acquired the knowledge to read advanced courses on cloud computing and big data technologies.
|
| 10627582 | COMPUTATIONAL COMPLEXITY [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals
Introduction to the fundamental concepts of computational complexity
through rigorous mathematical tools. The main topics of the course:
the intractability of computational problems, models of computation
(Turing machines, Boolean circuits, decision trees, communication
complexity), the hierarchy of complexity classes (P, NP, coNP, BPP,
ZPP, the polynomial hierarchy), the P vs NP problem, NP-completeness,
interactive proof systems, and probabilistic methods.
Knowledge and understanding
Knowledge of the main models of computation and their associated
complexity measures. Understanding of techniques for proving lower
bounds and reducing problems. Ability to read and understand
mathematical proofs of a combinatorial and probabilistic nature,
typical of computational complexity theory.
Apply knowledge and understanding
Ability to apply reduction techniques to prove the NP-completeness or
NP-hardness of problems. Ability to use combinatorial and
probabilistic methods to derive complexity results in models such as
decision trees and communication complexity.
Making judgements
Ability to assess the inherent difficulty of a computational problem,
to identify the most appropriate model of computation for its
analysis, and to evaluate the correctness and effectiveness of
a complexity proof.
Communication skills
Oral presentation (in English, at the blackboard) of a proof of
NP-hardness or NP-completeness chosen from a list provided by the
instructor, approximately 20–25 minutes in length, delivered to fellow
course participants.
Learning skills
Ability to independently read advanced research articles and textbook
chapters in computational complexity theory, and to apply the
techniques learned to tackle new models and open problems in
the field.
|
| 10630015 | COMPUTER NETWORK PERFORMANCE [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals
The course aims to provide students with the analytical and methodological tools to model, evaluate, and design the performance of computing systems and networks, with particular reference to queueing theory applied to computer systems. The course introduces the fundamental concepts of queueing theory, the necessary probability background, the operational laws (including Little's Law) for predictive "what-if" analysis, discrete-time and continuous-time Markov chains, the Poisson process, and the M/M/1 queue, up to multi-server systems and networks of queues (M/M/k server farms, capacity provisioning, Burke's theorem, Jackson networks, closed networks, and Mean Value Analysis). Building on this quantitative foundation, the course also addresses the challenge of reconciling performance optimization with the sustainability of systems, with particular emphasis on data center infrastructures for artificial intelligence, where the trade-off between performance, energy consumption, and efficiency is today a central concern. The course combines theoretical treatment with the analysis of real-world case studies and with modeling and simulation activities.
Knowledge and understanding
By the end of the course, students will have acquired solid knowledge of the principles and techniques underlying the performance modeling of computing systems and networks. They will understand the terminology and classification of queueing systems, both open and closed, and the fundamental metrics of throughput, utilization, number of jobs in the system, and response time. They will master the necessary probability background, including random variables, expectation and variance, the normal distribution, the central limit theorem, and the generation of random variables for simulation. They will understand operational laws and Little's Law, discrete-time and continuous-time Markov chains, the concepts of ergodicity and stationary distribution, the exponential distribution, the Poisson process and the PASTA property, as well as the analysis of the M/M/1 queue. They will also be familiar with models for multi-server systems and networks of queues (M/M/k and M/M/k/k, capacity provisioning and square-root staffing, time-reversibility and Burke's theorem, Jackson and classed networks, closed networks and Mean Value Analysis). Finally, they will understand the main issues related to the trade-off between performance and energy efficiency in large-scale computing systems and in data center infrastructures for artificial intelligence.
Applying knowledge and understanding
Students will be able to build and solve queueing models to represent the behavior of real computing systems and networks. They will be able to apply operational laws and Little's Law to answer "what-if" questions and estimate the impact of system modifications on performance. They will be able to model systems through discrete-time and continuous-time Markov chains, compute stationary distributions and performance metrics, and analyze M/M/1 queues and multi-server M/M/k systems. They will be able to size the capacity of a server farm, apply provisioning rules such as square-root staffing, and analyze open and closed networks of queues through the Jackson product form and Mean Value Analysis. They will also be able to set up and interpret simulation experiments and to quantitatively evaluate the trade-off between performance, energy consumption, and sustainability, with application to data center infrastructures for artificial intelligence workloads.
Making judgements
The course aims to develop students' ability to critically evaluate the design choices of computing systems and networks on the basis of quantitative models. Students will be able to discuss the advantages and limitations of different server organizations and resource management policies, to recognize the impact of workload variability on performance, and to judge the adequacy of a model with respect to the real system it is intended to represent. They will also be able to consciously evaluate the trade-off between performance optimization and sustainability, understanding the tensions between performance goals, costs, energy consumption, and environmental impact, with particular reference to data center infrastructures for artificial intelligence.
Communication skills
Students will acquire the ability to clearly and rigorously describe the performance models of computing systems and networks and the results of the analysis. They will be able to use appropriate technical and mathematical language to formulate modeling assumptions, present analytical and simulation results, and discuss their design implications. The course also promotes the ability to present and discuss the results of exercises, case studies, and modeling activities, arguing for the choices made and the conclusions reached, including with respect to efficiency and sustainability aspects.
Learning skills
By the end of the course, students will have developed the skills needed to independently explore advanced topics in the field of performance evaluation, queueing theory, and the design of efficient and sustainable computing systems and networks. They will be able to read technical and scientific literature, understand analytical models and methods, interpret experimental results, and update their knowledge with respect to the evolution of computing architectures, modeling techniques, and the challenges posed by infrastructures for artificial intelligence.
|
| 10628017 | COMPUTER VISION [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives General Objectives:
The course aims to provide students with a comprehensive overview of Computer Vision.
Specific Objectives:
The course provides the fundamental principles, basic methodologies, and core algorithms used in the design and application of computer vision systems.
Knowledge and Understanding:
Introduction to the fundamental principles and main areas of Computer Vision, with knowledge of problem solving in areas such as feature extraction, tracking, scene understanding, object recognition, event analysis, and emotion analysis.
Applying Knowledge and Understanding:
Ability to apply the set of techniques and approaches presented for the design and implementation of computer vision systems.
Critical and Judgment Skills:
Students will learn well-established techniques and a wide range of mathematical methods useful in the design of vision systems.
Communication Skills:
Students will be able to effectively interact with other researchers in Computer Vision across a broad range of topics.
Learning Skills:
Students will be able to independently expand their knowledge by consulting the scientific literature in the field of Computer Vision when needed.
|
| 10625959 | CONCURRENT SYSTEMS [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General goals:
Understanding the basic concepts of concurrent systems and the methodologies used for solving the problems they yield
Specific goals:
Mutual exclusion, different liveness properties, semaphores, monitors, transactions, mutex-free concurrency, other liveness properties, universal object and consensus. Labelled transitions systems, interleaving semantics, synchronization, simulation and bisimulation, verification techniques, name passing, type systems.
Knowledge and comprehension:
Understanding the basic issues of concurrent systems and their possible solutions, the foundational principles of a concurrent programming language and the possible verification techniques.
Applying knowledge and comprehension:
ability of solving basic problems of simple concurrent systems
Capabilities of critiquing and assessing:
understanding advantages and disadvantages of the different possible solutions of problems in concurrent systems
Communication skills:
developing a technical and formal language, able to explain the proposed solutions and their relative merits
Learning skills:
ability in understanding complex programming scenarios and the relative solutions, even complex
|
| 10630016 | CRYPTOGRAPHY [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives General Objectives:
The goal of the course is to hand down the foundations of cryptography, which is at the heart of security in nowadays digital applications.
Specific Objectives:
The students will learn the methodology of provable security, which allows to prove security of modern cryptosystems in a mathematically sound way.
Knowledge and Understanding:
-) Knowledge of the mathematical foundations of modern cryptography.
-) Knowledge of the main hardness assumptions, on which the security of cryptographic constructions is based.
-) Knowledge of the cryptographic schemes currently used in real life. Understanding of their (practical and theoretical) properties.
Applying knowledge and understanding:
-) How to select the right cryptographic scheme for a given application.
-) How to analyze the security of a given cryptographic scheme.
Critiquing and judgmental skills:
The students will be able to judge whether a given cryptographic scheme is secure or not.
Communication Skills:
How to describe the security of a cryptographic construction in the language of provable security.
Ability of learning:
The students interested in research will learn what are the main open challenges in the area, and will obtain the necessary background for a deeper study of the subjects.
|
| 10625772 | DATA AND NETWORK SECURITY [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives Data and Network Security
General goals
The course Data and Network Security is designed to provide students with a solid foundation in the fundamental principles of cybersecurity, while also exposing them to current trends and cutting-edge developments in the field. Moreover, this course aims at promoting active participation in class and students' discussions on such security topics
Specific goals
The Data and Network Security course is designed to provide students with a comprehensive understanding of a broad spectrum of cybersecurity concepts, paradigms, and real-world applications. It emphasizes a critical perspective on the evolving threat landscape, encouraging students not only to learn the foundations of cybersecurity but also to explore cutting-edge challenges and research trends. Each lecture is structured with a dual purpose: first, to introduce a specific cybersecurity topic—such as authentication mechanisms, types of malware, covert communication channels, cyber deception, remote attestation in IoT, digital forensics, data privacy, software-defined networking, and advanced persistent threats—and second, to highlight key research questions, emerging threats, and novel techniques relevant to that topic. This approach ensures that students gain both theoretical grounding and awareness of practical and research-driven issues. A central aim of the course is to cultivate critical thinking and research-oriented curiosity. Students are encouraged to go beyond surface-level understanding by engaging with research papers that have either advanced the state of the art or uncovered new vulnerabilities and system abuses. To foster this mindset, students will conduct independent research on a security topic of their choice. They will analyze current approaches, present their findings to peers, and participate in discussions about future directions in cybersecurity. This active engagement with contemporary research equips students with the skills to evaluate, question, and contribute to the field.
Knowledge and understanding
Students will gain a solid foundation in the fundamental principles of cybersecurity, including the core concepts, technologies, and practices that protect digital systems and data from unauthorized access, attacks, and exploitation. They will explore key areas such as cryptographic methods, secure communication protocols, threat modeling, and common types of cyberattacks (e.g., phishing, malware, denial-of-service). Through both theoretical instruction and practical examples, students will develop an understanding of how cybersecurity measures are designed, implemented, and evaluated in real-world systems. This foundational knowledge will prepare them to critically assess security risks, recognize vulnerabilities, and apply basic protective mechanisms in a variety of digital environments.
Application of knowledge and understanding
Students will apply the knowledge gained throughout the course by engaging in individual or group projects that encourage them to explore diverse and emerging areas within the cybersecurity landscape. These projects will challenge them to investigate specific security issues, analyze real-world threats or vulnerabilities, and evaluate existing or novel defense mechanisms. By conducting literature reviews, designing experiments, or developing proof-of-concept implementations, students will deepen their understanding of the field while also developing critical thinking, problem-solving, and research communication skills. The projects will culminate in presentations and technical reports, fostering collaborative learning and peer feedback.
Critical and Judgmental Skills
Students will develop critical analytical skills needed to evaluate and compare alternative approaches when designing secure information systems. This includes the ability to identify potential vulnerabilities, assess trade-offs between security and usability, and make informed decisions grounded in both theory and practical considerations.
Communication skills
Students will learn how to effectively document their technical and design choices, using both manual methods and automated reporting tools commonly adopted in cybersecurity workflows. In addition, they will develop the ability to clearly communicate complex scientific topics by preparing and delivering structured presentations. This will strengthen their skills in articulating research findings, defending their decisions, and engaging in informed discussion—essential competencies for both academic and professional environments.
Learning ability
The knowledge and skills acquired during the course equip students with a solid foundation for pursuing more advanced studies in cybersecurity. They will also be prepared to stay current with ongoing developments in the field, enabling them to critically engage with emerging threats, technologies, and research trends throughout their careers.
|
| 10626114 | Deep Learning and Applied Artificial Intelligence [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives
Educational goals
Advanced supervised and unsupervised machine learning techniques and the modeling of complex problems through deep learning. Deep neural networks, their training and interpretation; convolutional networks and prominent architectures; deep learning theory (with focus on convergence); frameworks for implementation; autoencoders; adversarial attacks; diffusion models.
Knowledge and understanding
Knowledge of how neural networks work and their mathematical interpretation as universal approximators. Understanding of the limits and potential of advanced machine learning models.
Applying knowledge and understanding
Design, implementation, deployment, and analysis of deep learning architectures to solve complex problems across diverse application domains.
Making judgements
Ability to evaluate the performance of different architectures and their generalization capability.
Communication skills
Ability to clearly communicate the formulation of an advanced learning problem and its implementation, its applicability in realistic contexts, and to justify architectural and regularization choices.
Learning skills
Ability to learn alternative and more complex techniques and to implement existing techniques in an efficient, robust, and reliable way.
|
| 10628018 | DISTRIBUTED SYSTEMS [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives General goals
The objective of this courseis to cover the fundamentals of distributed systems and their implementation in real large-scale modern systems.
Specific goals
Students will become familiar with analysis, design and monitoring techniques for distributed systems
Knowledge and comprehension
At the end of the course the students will have acquired advanced knowledge on how to monitor a distributed computation, fault tolerance and failure detectors, consistency and consensus on multiple-replicas in data-centres, logical clocks and vector clocks for asynchronous systems,
Applying knowledge and comprehension
At the end of the course, students will be able to apply the knowledge acquired to the analysis of real systems such as Chord and Amazon.
Critiquing and judgmental skills
The students will have the know-how to evaluate and analyse the correctness and the efficiency of distributed computations, as well as deeply understand and assess their main characteristics, issues and assets.
Communication skills
The students will be able to express in a clear and concise but complete way their knowledge regarding the topics of the class.
Learning ability
The topics covered in this course will allow students to exploit the knowledge acquired in order to deeply study and understand current and future distributed solutions, as well as to have the basis to build system design solutions for real systems.
|
| 10629106 | FORMAL METHODS FOR AI-BASED SYSTEMS ENGINEERING [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives
General goals:
The course is aimed to the acquisition of logical and modelling knowledge for systems engineering based on artificial intelligence (AI).
Specific goals:
Students will acquire knowledge on a wide portfolio of formal methods for AI-based systems engineering, in particular approaches to the formal verification and design optimization of complex systems.
Knowledge and understanding:
At the end of the course, students will have full understanding of the presented methods and software tools.
Apply knowledge and understanding:
Students will be able to use the methods and software tools presented in the course, but also to deepen the study independently by consulting other texts on the subject, including the available scientific literature.
Critical and judgmental skills:
The acquired knowledge will allow students to properly tackle the systems engineering tasks they will be involved in during their working carrier.
Communication skills:
Students will be stimulated to expose and communicate their experience to their peers and to the instructors.
Ability to continue the study:
The course will deal with only some of the available methodologies and technologies, but will provide students with awareness of the existence of a wide range of alternative options. This will make students able to critically choose the most suitable methodologies and technologies for their AI-based systems engineering tasks.
|
| 10625773 | FOUNDATIONS OF DATA SCIENCE [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives
Educational goals:
Acquiring the basics of data science and machine learning.
To make students aware of the theoretical and practical tools of data science and machine learning, as well as of their intrinsical limitations; to make students able to tackle real problems through the most appropriate tools.
Knowledge and understanding:
The course provides the basic notions, techniques and methodologies employed in data science and machine learning. It gives also the fundamental programming abilities needed to apply the theory to real-world scenarios.
Applying knowledge and understanding:
At the end of the course, students will be able to deal with real-world data science problems, from casting them into a theoretical framework to manipulating the actual data with the right software tools.
Making judgements:
Students will be able to select the techniques to be applied to the case at hand and to evaluate their performance.
Communication skills:
Students will we able to represent and communicate the information extracted from data, through the rational use of graphics and indicators.
Learning skills:
Students will be able to learn autonomously both the theory and the practice of the field.
|
| 10628575 | GRAPH THEORY [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General goals: The student will obtain a broad understanding of the classic results in graph theory as well as an introduction to the primary areas of research in modern graph theory.
Specific goals: Fundamental topics which the student will know after the course include: trees and spanning trees in graphs; connectivity in graphs; Hamiltonian cycles and sufficient conditions for their existence. Menger’s theorem and max flow/min cut in graphs. Matching theory in graphs including Konig, Hall, and Tutte’s theorems. Extremal graph theory and Turan’s theorem and Ramsey theory. Planar graphs and graph coloring.
Knowledge and understanding: The student will obtain mastery of basic techniques in mathematical proofs and a familiarity with more advanced techniques. The student will acquire knowledge of the fundamental results in the area and how they are proven.
Applying knowledge and understanding: The student will learn how to apply mathematical induction in a range of contexts and resolve basic questions in graph theory.
Critical and judgmental skills: The student will acquire the critical judgement skills to understand which proof techniques can be applied in which instances, and determine what are the significant open questions in the area.
Communication skills: The student will develop the ability to present written rigorous mathematical proofs.
Learning ability: Upon completing the course of study, the student will have the necessary tools to read research papers in graph theory and understand the techniques found there. The student will have the tools to begin research projects in graph theory.
|
| 10629525 | High-performance Computing [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals
General goals:
Design and programming of high-performance computing systems
Specific goals:
Overview of HPC systems
Performance metrics
Modern CPU Architectures for HPC
Roofline model
Vector processors
Performance limits and profiling
Data-Oriented Design
Hardware Accelerators
Large-Scale HPC
Role of interconnects in HPC systems
Introduction to scale-up and scale-out networks
Overview of network performance metrics
Scale-Out Networks: Topology Design for HPC Systems
Scale-Out Networks: Adaptive Routing
Scale-Out Networks: Congestion Control
Scale-Up and Scale-Out Networks: High-Performance Interconnect Protocols
RDMA, InfiniBand, Slingshot, RoCE, etc.
Collective Communications in HPC
Workload Analysis and Optimization
Knowledge and understanding
To know and understand how to design and program high-performance computing systems.
Applying knowledge and understanding
Demonstrate the ability to design HPC systems.
Demonstrate the ability to write optimized code for HPC applications.
Making judgements
Being able to choose the best approach, among those considered, for solving a specific task.
Communication skills
Being able to evaluate and justify the choices made in the design of an HPC system.
Learning skills
Understanding the differences and advantages of the various design techniques for HPC systems.
|
| 10628576 | HUMAN COMPUTER INTERACTION ON THE WEB [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General objectives
Information systems course analyses types of info systems and how they can contribute to firm’s business objectives success; the course allows to understand approaches and models to evaluate quality of ICT process , software and ICT services, and It gives basic knowledges to plan, manage, control IT projects.
Specific objectives
• Knowledge and understanding
– functional model and info structure of business processes
– integration needs and control requirements of business computer systems data
– systems and technologies to develop&maintain a successful e-business
– main application areas of info systems in various industries
– ICT organization and ICT quality models
– basic knowledge on context, techniques/methodologies and soft skills for project management in ICT
• Applying Knolewdge and understanding (Capabilities)
– To analyze the multi-faceted requirements elicited from different user categories (stakeholder) of info systems
– To select the proper approach/model to evaluate quality of ICT processes, software product and ICT services
– To develop feasibility study selecting proper application and technological architectures
– To prepare, for a simple ICT project, a development plan according to usual constraints on vtime, cost, quality and to design appropriate organization
– To control an ongoing ICT project, applying basic project management techniques
– To understand and appreciate the lessons learned in previous projects
Critical and judgment skills
Students, through tests and case studies, will acquire capabilities on how select type of information systems, how to use proper quality management model and how plan and manage ICT projects.
Communication skills
Students, grouped in teams, will be involved in activities aimed to make a project communication plan based on given case study that they will show at colleagues explaining the reasons of solutions adopted.
Learning skills
Learning skills will be stimulated through a feasibility study aimed at defining:
[a] functional requirements of proper type of information system,
[b] technical and quality requirements, and
[c] project management plan to implement information system.
|
| 10628603 | INTERNET OF THINGS [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General objectives:
The course will provide students with both theoretical and practical background on wireless and Internet of Things systems. The course includes a hands-on lab.
Specific objectives:
The course will provide students with both theoretical and practical background on wireless and Internet of Things systems. The unique challenges of such systems will be introduced, explaining why they require special design choices with respect to wired networks.
The student will be able to reason on what are the right design choices to increase efficiency, reliability, and energy efficiency, creating the background for being able to design future generation sensing and IoT systems.
He/she will also have the possibility to have hands-on experience in programming IoT devices in a lab.
Course summary:
-Introduction to Wireless Systems
- Cellular networks, Ad Hoc Networking, Internet of Things (Architecture, Protocols)
- Sensing systems basics: MAC protocols, routing protocols, localization, and synchronization
-Towards the Internet of Things: features, standards, open challenges, low power IoT radio technologies
-Trends in Internet of Things research. This part will cover ongoing research issues related to future generation IoT systems. It will be based on research papers and may be subject to revision during the class based on students' interests and emerging topics. The following topics are expected to be addressed:
- Integration between IoT and robotic networks.
- Lab: IoT systems programming
Knowledge and understanding:
At the end of the course, the students will have acquired knowledge about the performance trade-offs associated with different system design choices and will be able to read and understand technical documents on wireless and IoT systems.
At the end of the course, the students will be able to analyze standards and technical documents, understanding and implementing them. He/she will have practical hands-on experience in the programming and performance evaluation of such systems.
Application of knowledge and understanding:
The students will be able to provide solutions for new generations of wireless and IoT systems.
Judgment skills:
Students will develop the analytical skills necessary to evaluate various alternatives for the design of wireless and IoT systems selecting the best alternative for a
specific application scenario.
Communication skills:
Students will learn to present, in a synthetic and accurate way, using an adequate technical language, ideas, solutions, and research results on wireless and IoT systems.
Learning ability:
The course will provide students with both theoretical and practical background on wireless and Internet of Things systems, so as to enable them to pursue the exploration of these topics.
|
| 10627474 | Logics and Reasoning [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives "General goals: The objective of the course is to introduce students to the fundamental results and methods of Mathematical Logic with a special attention to their applications in Computer Science.
Specific goals: The specific objective of the course is twofold. In the first place the course is meant to offer a rigorous knoweldge and an ability to apply those methods and results of Mathematical Logic that have numerous applications in many areas of Computer Science. In the second place the aim is to endow the student with a set of fundamental tools in the perspective of doing active research in theoretical Computer Science.
Knowledge and understanding: The course aims at endowing the student with a rigorous in-depth knowledge of the course topics through the study of poofs and the production of rigorous arguments in homework assignments. Particular attention is devoted to conceptual motivation, rigorous proofs and applicability of results and methods.
Applying knowledge and understanding: The methods of Mathematical Logic play a fundamental role in many areas of Computer Science such as Complexity Theory, Database Theory, Artifical Intelligence. The aim of the course is to stimulate in the student the ability to apply the methods and the results in various contexts of Computer Science.
Critical and judgmental abilities: Active participation to the course is encouraged. Autonomous judgement is exercised through homework assignments and problem-solving tasks.
Communication skills: The student has the option to give a class presentation of a result as final exam in the form of an academic scientific talk.
Learning ability: The analysis and formalization methods acquired during the course find application in different areas of Computer Science. The formalization and problem-solving exercise during the course reinforces the ability to learn and acquire new skills."
|
| 10629076 | Methods in Computer Science Education [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives General goals:
Study and be able to apply the most recent methodologies for Computer Science teaching in high-schools.
The course will show several use-cases on Computer Science teaching at school.
Specific goals:
• Design and development of Computer Science teaching methodologies: principles and methods for learning activities design, and more in general, for the design of Computer Science curricula following the national guidelines for teaching C.S. in high-schools.
• Didactic methodologies and and technologies to study the interaction of Computer Science in the society, with particular attention to ethic aspects, like: privacy and personal data, automation of decisions and recommendations, copyright issues.
• Highlighting the common points between Computer Science methodologies and learning methodologies: constructive problem solving techniques, epistemology approach to problems, cooperative methods to develop solutions.
Knowledge and understanding:
Principles and methods to design and C.S. learning activities in the high-school.
Ethic aspects of the management of personal data and contents in the society.
Applying knowledge and understanding:
The student will design and develop some didactic modules for high-schools.
Critical and judgmental abilities:
The student will be autonomous both by choosing the didactic module to develop and during its design and implementation phases.
Communication skills:
The students should show to be able to design high-quality didactic modules, engaging and able to communicate with precision the topic of the lesson developed.
Learning ability:
The design methodology for the didactic modules seen in the course will be easily applicable to other courses.
|
| 10627173 | MODELS OF COMPUTATION [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals
The teaching is aimed at the acquisition of mathematical knowledge relating to fundamental aspects of functional and imperative programming languages with particular attention to program execution mechanisms.
Knowledge and understanding
At the end of the course the student will have a full understanding of the proposed mathematical tools.
Applying knowledge and understanding
The student will be able to deepen the study by independently consulting manuals or scientific publications.
Making judgements
The knowledge acquired will allow the student to identify and compare the topics proposed in the use of programming languages in other areas, particularly in the workplace.
Communication skills
The student is encouraged to expose and communicate his experiences to his colleagues.
Learning skills
The course deals with fundamental aspects of programming, ensuring the student is able to identify them independently in the use of each particular language.
|
| 10626164 | MULTIMODAL INTERACTION [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives Learning objectives
The course, entitled Multimodal Interaction with Artificial Intelligence and hereafter referred to, for simplicity, as Multimodal Interaction, aims to provide students with advanced knowledge and practical skills for the design, development, and evaluation of intelligent multimodal systems and advanced unimodal systems based on modern Artificial Intelligence techniques. The course addresses multimodal interaction as an interdisciplinary area in which Computer Vision, Human-Computer Interaction, Machine Learning, Deep Learning, signal analysis, and intelligent systems converge. Both individual modalities of interaction and perception, and their integration into complex multimodal architectures, are studied. In particular, the course considers visual, vocal, gestural, postural, acoustic, physiological, EEG, Wi-Fi, biometric, and other signals useful for understanding humans, the environment, and the operational context. Starting from the analysis of individual modalities, the course introduces the principles and techniques for the design of multimodal systems, with particular attention to information representation, feature extraction, modelling through machine learning algorithms, multimodal fusion, and information fission across multiple channels. At the same time, the course also considers advanced unimodal scenarios, in which a single sensory modality, such as images or videos, can be processed in a sophisticated way to extract multiple levels of information, such as appearance, motion, posture, action, trajectory, context, and spatial relationships. The goal is to enable students to understand both how different modalities can cooperate to build more robust, adaptive, and intelligent systems, and how a single modality can be exploited in depth through advanced Artificial Intelligence techniques.
The course adopts a twofold perspective. The first concerns advanced human-machine interaction systems, in which one or more modalities are used to recognize, interpret, and manage multimodal human inputs, making interaction with machines, digital environments, robots, and autonomous systems more natural, effective, and personalized. The second concerns the use of multimodal Artificial Intelligence and advanced unimodal analysis in complex application scenarios, such as robotics, security, surveillance, indoor and outdoor monitoring, ambient intelligence, autonomous systems, prevention of critical events, human behavior analysis, and decision support in real-world contexts. Special attention is also devoted to emerging applications such as the recognition of cognitive and emotional states, personality analysis, physiological and behavioral biometrics, identity identification and authentication, recognition of anomalous or deceptive behaviors, people monitoring, physical and environmental security, infrastructure protection, and advanced scenarios related to risk prevention and safety. From this perspective, the course aims to train students not only to use existing techniques, but also to design original, critical, and scientifically grounded solutions for intelligent multimodal and advanced unimodal systems.
Knowledge and Understanding
At the end of the course, students will have acquired knowledge of the theoretical foundations of communication and interaction through different sensory, cognitive, and behavioral channels. They will understand the main characteristics of different input and output modalities in human-machine systems, including visual, vocal, gestural, postural, acoustic, physiological, EEG, Wi-Fi, and biometric modalities. Students will also understand the fundamental principles for designing a multimodal system, with reference to data representation, feature extraction, modelling through Machine Learning and Deep Learning techniques, cooperation among information channels, multimodal fusion, and the generation of coherent responses or behaviors through multiple output modalities. They will also acquire knowledge of advanced unimodal analysis, with particular reference to the ability to extract, from a single information source, multiple descriptors useful for understanding humans, the environment, and the context. Students will also acquire knowledge of the main application areas of Artificial Intelligence-based multimodal interaction, including natural human-machine interfaces, robotic and autonomous systems, intelligent monitoring systems, biometrics, security, surveillance, human behavior analysis, recognition of cognitive and emotional states, and context interpretation in real-world environments.
Applying Knowledge and Understanding
Students will be able to apply the acquired knowledge to the design and development of intelligent multimodal systems or advanced unimodal systems. In particular, they will be able to select the most appropriate modalities for a specific application scenario, design data acquisition and analysis pipelines, implement information fusion and fission strategies, and evaluate system performance with respect to predefined objectives. Students will also be able to use Artificial Intelligence techniques to analyze multimodal inputs originating from humans, the environment, or heterogeneous sensory systems, as well as to exploit individual information modalities in an advanced way, such as images, videos, or specific signals, with applications in human-machine interaction, biometrics, robotics, security, monitoring, behavior recognition, and autonomous systems. A relevant part of the exam consists of the design and development of a multimodal or advanced unimodal system, in which students must concretely apply the notions presented during the course. This activity will make it possible to assess their ability to translate theoretical concepts into operational solutions, with attention to algorithmic, design, experimental, and application-oriented aspects.
Making Judgements
Students will develop the ability to critically evaluate the performance, robustness, limitations, reliability, and suitability of a multimodal or advanced unimodal system with respect to the considered application scenario. They will be able to analyze design choices related to the different modalities used, their integration, data quality, evaluation metrics, and the overall sustainability of the proposed solution. The course also aims to develop the ability to conduct independent bibliographic research, aimed at understanding the state of the art, evaluating the level of innovation of a specific multimodal or unimodal system, and identifying possible improvements with respect to existing methods, architectures, or applications. Special attention will also be devoted to the critical evaluation of intelligent systems in sensitive contexts, such as biometrics, security, people monitoring, recognition of internal states or anomalous behaviors, where robustness, interpretability, accuracy, privacy, reliability, and the appropriate use of technologies play a central role.
Communication Skills
Students will be able to communicate clearly, rigorously, and with appropriate technical language the requirements, design choices, operational modalities, and performance measures of a multimodal or advanced unimodal system. They must also be able to describe the role of the different modalities used, justify the adopted integration strategies or, in the case of unimodal systems, explain how a single information source is processed to extract complex and relevant levels of information with respect to the application scenario. These skills will be assessed during the exam through the presentation and discussion of the developed project, with particular attention to the students’ ability to illustrate the implemented system, justify methodological choices, compare their work with the state of the art, and critically discuss limitations, results, and possible future developments. Students must also demonstrate the ability to effectively communicate the value of an intelligent system from both a technical-scientific and an application-oriented perspective, highlighting the contribution of the different modalities, or of the single modality analyzed in an advanced way, and the relevance of the proposed solution in real-world scenarios.
Learning Skills
Students will acquire the ability to independently deepen topics, techniques, and methods related to multimodal interaction, advanced unimodal analysis, and intelligent systems based on Artificial Intelligence. They will be able to keep up to date with the evolution of the state of the art, understand advanced approaches, and apply them to new research or development scenarios. The course aims to provide not only specific competences on the techniques presented during the lectures, but also a methodological basis for independently addressing complex problems in the fields of human-machine interaction, multimodal analysis, advanced unimodal analysis, artificial perception, biometrics, security, robotics, and intelligent systems for real-world environments. At the end of the course, students will therefore be able to independently continue the study of advanced techniques, integrate new sensory modalities, analyze individual information modalities in depth, critically examine recent scientific literature, and develop innovative solutions in application and research contexts.
|
| 10625481 | NATURAL LANGUAGE PROCESSING [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives Educational goals
Deep learning-based NLP techniques: distributed representations (LSA, word2vec), sequential architectures (RNN, LSTM) and Transformers, neural machine translation, pre-trained models (BERT, GPT) and transfer learning. Multimodal NLP. Advanced LLM techniques: Mixture of Experts, KV Cache, FlashAttention, RL-based alignment (DPO, GRPO), Chain-of-Thought, RAG, quantization and efficient inference.
Knowledge and understanding
Knowledge of the main neural architectures for language, from word models to Transformers and LLMs. Understanding of pre-training, fine-tuning, alignment, and efficient inference mechanisms, including language-vision connections.
Applying knowledge and understanding
Be able to design and implement NLP systems for tasks such as sentiment analysis, POS tagging, image captioning, machine translation, and text-to-image generation, applying advanced techniques such as RAG and quantized inference with standard frameworks.
Making judgements
Ability to select the appropriate architecture and training strategy for a given task, evaluate model performance, and identify issues related to generalization, computational efficiency, and alignment.
Communication skills
Ability to communicate with technical rigor the formulation of an NLP problem, the architectural choices made, and the results obtained, including in multimodal and advanced LLM contexts.
Learning skills
Ability to learn alternative, more complex, and recent techniques selected from the state of the art, and to implement existing techniques in an efficient, robust, and reliable way.
|
| 10628280 | NETWORK ALGORITHMS [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Educational goals:
Acquiring knowledge about the design of complex algorithms to solve problems on graphs that model problems arising by networks (wired, wireless, and sensor).
Knowledge and understanding:
At the end of the course, students will know the basic methodologies for the analysis of problems related to networks and the identification of problems on graphs that are closest to them; they will also know the solution algorithms of some of the main problems on graphs and will be able to propose original solutions to new problems..
Apply knowledge and understanding:
At the end of the course, students will have acquired familiarity with the analysis of problems related to networks. They will be able to recognize which is the closest problem on graphs and to design new data structures and related algorithms, reworking existing ones, to solve the initial problem.
Making judgments:
By studying in depth the problems addressed and the algorithms to solve them, students will have the basis for analyzing the quality of a network algorithm, both from the point of view of the effective resolution of the problem and from that of the computational efficiency with which the problem is solved.
Communication skills:
Thanks to the students' lessons explained to all colleagues, and to the exam procedure, students will acquire the ability to present their knowledge in a clear and organized way, an ability that will be verified during the oral exam.
Learning skills:
The acquired knowledge and the critical study method will allow the student, once the cycle of studies is completed, to face real problems in a critical and effective way and to design efficient solutions.
Updated details about this course can be found here:
https://twiki.di.uniroma1.it/twiki/view/Algoreti/WebHome1011
|
| 10625908 | Practical Network Defense [INFO-01/A] [ENG] | 2nd | 2nd | 6 |
Educational objectives Educational goals
The "Practical Network Defense" course aims to provide students with the theoretical and, above all, practical skills necessary to design, implement, and monitor effective defense strategies within modern network infrastructures. Through a hands-on approach heavily focused on cloud-based virtual laboratory environments, students will learn how to analyze network vulnerabilities, mitigate the attack surface, and respond promptly to threats by simulating real-world attack and defense scenarios.
Knowledge and understanding
Upon successful completion of this course, students will have acquired knowledge regarding:
The fundamental principles of network security, with a particular focus on the Defense in Depth paradigm, and minimizing the attack surface.
The operation, architecture, and configuration of perimeter and internal security tools, such as Firewalls, VPNs, IDS/IPS, Proxies, and Demilitarized Zones (DMZs).
Network monitoring and traffic analysis methodologies through log study and packet capturing.
Cyber deception concepts using Honeypots and Honeynets.
The main network attack techniques (e.g., session hijacking, man-in-the-middle) used to test the robustness of defenses.
The role of security policies in network service governance and compliance.
Applying knowledge and understanding
Upon successful completion of this course, students will be able to:
Configure and deploy security appliances (Firewalls, IDS/IPS, Proxies) within a cloud-based virtual infrastructure.
Apply network hardening and network access control to restrict packet flow using granular rules.
Isolate critical network components by designing DMZs and segmenting traffic securely.
Utilize analysis and monitoring tools to detect anomalies, analyze network packets, and interpret system logs.
Deploy and monitor Honeypots/Honeynets in isolated environments to analyze attacker behavior.
Conduct controlled security tests (simulating attacks such as MitM or hijacking) to verify the effectiveness of the applied countermeasures.
Translate high-level requirements into enforceable and measurable network security policies.
Making judgements
Upon successful completion of this course, students will be able to:
Critically evaluate the security posture of an existing network infrastructure, identifying attack vectors and potential weaknesses.
Select the most appropriate countermeasures and defense tools based on the balance between cost, complexity, performance, and risk level.
Analyze network traffic and logs to independently distinguish between legitimate activities, false positives, and actual intrusion attempts.
Formulate independent judgments on the effectiveness of security policies adopted within an organization.
Communication skills
Upon successful completion of this course, students will be able to:
Draft technical reports and project documentation clearly describing the implemented defense architecture and configurations deployed in the cloud laboratory.
Effectively communicate discovered network vulnerabilities and mitigation strategies to both technical specialists and non-technical/managerial stakeholders.
Clearly explain and justify the rationale behind choosing a specific security policy or countermeasure.
Learning skills
Upon successful completion of this course, students will have developed:
The ability to independently keep up to date with new cyber threats, emerging vulnerabilities (Zero-Days), and evolutions in network defense tools.
The autonomy to navigate cloud and virtualization environments to test and implement new security solutions.
The capability to learn how to use new monitoring, attack simulation, or encryption software by directly consulting official technical documentation.
|
| 10627472 | Quantum Computing [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives Knowledge and understanding:
At the end of the course, students should be aware of and fully understand the main differences between classical and quantum computers, the quantum circuit and bra-ket formalisms, and the main quantum algorithms (Grover’s, Shor’s, HHL, etc.) and protocols (e.g., BB84 and teleportation). In addition, students should be aware of the different technologies used for quantum hardware implementation.
Applying knowledge and understanding:
Students will be able to use the theoretical notions presented in class to develop and/or implement quantum solutions to problems. The practical sessions will give students hands-on experience with quantum circuits run on simulators or quantum computers, reinforcing the theoretical concepts delivered in lectures. In addition, students will be able to deepen their studies independently by consulting other materials on the subject, including the scientific literature.
Making judgments:
Students will refine these skills through regular problem-solving tasks to be completed at home. The acquired knowledge and skills will enable students to critically select or adapt existing quantum approaches to solve a given problem, or to develop new quantum techniques as necessary. Students will be able to evaluate efficiency and identify the pros and cons of their quantum solutions.
Communication skills:
Students will be encouraged to collaborate with their peers through the development, documentation, and solving of homework assignments.
Learning skills:
The course will equip students with the necessary technical background to pursue doctoral (PhD) studies in relevant fields such as quantum communication and quantum simulation, as well as specific aspects of quantum computing.
|
| 10626358 | SECURITY IN SOFTWARE APPLICATIONS [INFO-01/A] [ENG] | 2nd | 1st | 6 |
Educational objectives General Objectives
The basics of security in software programs
Specific Objectives
Methodologies and tools to find and remove the most common software vulnerabilities, and to develop software free of security flaws
Knowledge and Comprehension
Learning the most effective techniques to remove vulnerabilities from code and to develop software satisfying specific security policies
Ability to Apply Knowledge and Comprehension
The student is able to transfer knowledge of methodologies to the selection of appropriate techniques and tools to remedy the presence of vulnerabilities.
Autonomy of Judgement
The student learns to analyze problems and identify the proper methodologies and tools to solve software security problems.
Ability to Communicate
The student is able to communicate successfully and defend the choices made in the selection of appropriate methodologies and tools.
Ability to Learn
The student is able to continue the learning process autonomously to understand new methodologies and the applicability of new tools.
|