1047614 - ADVANCED SOFTWARE ENGINEERING |
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.
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. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041792 - BIOMETRIC SYSTEMS |
Conoscenza e comprensione Concetti fondamentali sulle biometrie: Identità e biometrie. Introduzione alle biometrie. Applicazioni. Identificatori biometrici morfologici: volto (2D e 3D), impronte digitali, orecchio, iride, geometria della mano, palmo, struttura dei vasi sanguigni, ecc. Biometrie comportamentali: camminata, firma (dinamica), voce, battitura alla tastiera, ecc. Architettura di un sistema biometrico: sistemi unimodali e architetture multibiometriche. Monitorasggio e valutazione delle prestazioni di un sistema biometrico; FAR, FRR, FTE, FTA, curve ROC, DET, CMC, ecc., misure di qualità ed affidabilità, usabilità, scalabilità. Sicurezza, vulnerabilità e privacy di un sistema biometrcio, attacchi ad un sistema biometrcio; protezione dei template (criptosistemi biometrici, template cancellabili), anti-spoofing. Standard biometrici. Aspetti sociali, culturali e legali dell’uso di sistemi biometrici. Applicazione di conoscenze e comprensione L’obiettivo del corso è fornire agli studenti gli strumenti teorici e pratici necessari per l’analisi, progettazione e implementazione di un sistema di autenticazione biometrico, e per la valutazione delle prestazioni di un sistema biometrico. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047622 - CRYPTOGRAPHY |
Knowledge and understanding Knowledge of the mathematical foundations of the modern cryptography. Knowledge of the schemes currently used in industry. Understanding of their (practical and theoretical) properties.
Applying knowledge and understanding At the end of the course the students will have a general understanding of the main cryptographic schemes currently in use.Moreover, they will be able to answer the following questions: - why do we think that the schemes are secure? - can we prove that some schemes are secure? - do there exist ciphers that can never be broken?
Additionally, the students interested in research will learn what are the main research challenges in the area, and will obtain a background for the future studies. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047624 - DISTRIBUTED SYSTEMS |
Knowledge and understanding Knowledge of some of the fundamental ideas used in the design of modern distributed systems and some of the techniques that will probably be used in future systems.
Applying knowledge and understanding Ability of understanding the problems in the design of a distributed systems in terms of correctness, performance, and fundamental limits. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047627 - FOUNDATIONS OF DATA SCIENCE |
Knowledge and understanding Data stream analysis (count-distinct sketch, 1st momentsketch, 2nd moment sketch, bloom filters). Link analysis (page rank, random walks, hits). Clustering (shingles, k-means, dimensionality reduction, impossibility of clustering, LSH, nearest neighbor). Parallel frameworks (map-reduce, giraph).Data visualization. Machine learning basics, and their use in computational intensive data analysis (linear regression, logistic regression, recommendation systems). Large-scale data algorithms.
Applying knowledge and understanding The purpose of this course is to provide students with the theoretical and programming tools necessary for the analysis andcollection of large datasets. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047635 - MACHINE LEARNING |
Knowledge and understanding The students will understand the different machine learning paradigms and models,as well as the tools for performing experiments and evaluating the systems.
Applying knowledge and understanding The students will be able to implement and use machine learning classifiers, also when used as components of more complex systems. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047638 - MODELS OF COMPUTATION |
Knowledge and understanding Church thesis. Syntax and operational semantics of lambda-calculus: confluence, normalization, lambda-definability. Type systems and the Curry-Howard isomorphism.
Applying knowledge and understanding Ability of capturing the fundamental issues in programming,independently from the used language. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1052089 - SOCIAL AND BEHAVIOURAL NETWORKS |
Knowledge and understanding Social networks, information diffusion, graph conductance, SIR-epidemics, KKT-model, submodular maximization, random graph models, game theoretical graph models, stream analysis, LSH, graph clusterings.
Applying knowledge and understanding: Capability of applying a number of data analysis algorithms to large social graphs. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041764 - BIG DATA COMPUTING |
Knowledge and understanding Understanding of (practical and theoretical) techniques for massive data processing. Knowledge of advanced computational models (e.g., external memory, data streaming, Map Reduce). Familiarity with problems and issues in big-data computing.
Applying knowledge and understanding At the end of the course students will be able to: - Design algorithms that can scale to massive data sets. - Write efficient code taking into account architectural features of modern computing platforms (e.g., memory hierarchies or multiple cores). - Analyze software performance using both mathematical and experimental tools.
Students interested in research will also learn the main research challenges in this area, approaching advanced research topics and improving their background for future studies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047205 - CLOUD COMPUTING |
The class will cover the fundamentals of Cloud technology: Storage of large data sets, performance, scalability, reliability, and security. It also will cover the organization of popular public cloud platforms like Google, Amazon EC2, Microsoft Azure, private ones like Facebook's Haystack, TAO, and, from a practical point of view, one of the most widely used frameworks for designing Cloud applications (e.g. MapReduce). Additionally, the class will cover the economics of the Cloud, its impact in the ICT society and in the way computing technology is used in the industry. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047617 - COMPUTER NETWORK PERFORMANCE |
Knowledge and understanding By attending the course the students will acquire advanced knowledge of: - definition of the performance requirements of a computer network system(wired/wireless), - techniques and methodologies for the performance evaluation of computer networks, - performance optimization methods applied to computer network systems, - design of autonomous systems, - design of green systems. The student will also acquire knowledge of the fundamentals of: - monitoring and predicting the workload, - self-learning techniques for the realization of workload monitoring and control system.
Applying knowledge and understanding A student who successfully passed the exam of the course is able to: - understand the major issues related to the quality of service of a computer network systems - evaluate the quality of service of a network architecture - utilize the most innovative techniques for the realization of high performance autonomous systems. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047623 - DATA AND NETWORK SECURITY |
Knowledge and understanding After the course the student will know system security in Linux and Windows; wired and wireless network security; fundamentals security in web-applications, fundamentals of data security management.
Applying knowledge and understanding After the course the student will be able to: - design the architecture of secure systems and applications; - keep abreast of the development of the field. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047626 - FORMAL METHODS IN SOFTWARE DEVELOPMENT |
Knowledge and understanding Algebraical tools aimed to formalisation. General information about the more used methods for specification, analysis and verification of sequential and concurrent systems.
Applying knowledge and understanding Abilty in modeling some parts of the software product. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047629 - GRAPH THEORY |
Knowledge and understanding Familiarity with both the classical results and techniques in Graph Theory, and an acquaintance with the major areas of current research.
Applying knowledge and understanding The ability to write and organize mathematical proofs to solve a variety of problems in Graph Theory. The ability to extract an algorithm from constructive mathematical proofs. The ability to independently initiate a research project in Graph Theory. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047630 - HUMAN COMPUTER INTERACTION ON THE WEB |
Knowledge and understanding After following this course, the students know the theories, models and rules that guide the desig, development and validation of usable web and mobile interfaces.
Applying knowledge and understanding After following this course, students are able to design interactive web-and mobile sites following the human-computer interaction criteria, analyzing the user's role, the scenarios and main tasks, and taking into account the implementation constraints by using very tight design and development cycles. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047636 - MATHEMATICAL LOGIC FOR COMPUTER SCIENCE |
Knowledge and understanding Risultati e tecniche fondamentali della logica matematica (completezza, incompletezza, indecidibilità, definibilità), relazioni tra definibilità logica, dimostrabilità formale e complessità computazionale, per strutture arbitrarie e per strutture finite.
Applying knowledge and understanding I metodi della logica matematica hanno un ruolo fondamentale in diverse aree dell'informatica teorica quali la teoria della complessità, la teoria delle basi di dati, l'intelligenza artificiale. Lo studente acquisirà alcuni strumenti fondamentali della logica matematica e la capacità di applicarli in vari contesti dell'informatica. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1038141 - NATURAL LANGUAGE PROCESSING |
Knowledge and understanding The student will understand the fundamentals of how to process natural language automatically at the different levels of morphology, syntax, and semantics. Machine translation and other applications will also be introduced.
Applying knowledge and understanding The student will be able to use and implement systems that perform language modeling, morphological analysis, syntactic parsing, semantic analysis and machine translation. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047642 - SECURITY IN SOFTWARE APPLICATIONS |
Knowledge and understanding Each student will acquire widely known techniques to discover software vulnerabilities and to remove them., and the most effective methodologies to develop programs difficult to compromise.
Applying knowledge and understanding Each student will be able to develop software products free of the most common vulnerabilities used to violate security policies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1041870 - WEB AND SOCIAL INFORMATION EXTRACTION |
Knowledge and understanding Being able to understand web information storage and presentation, basic IR technologies, web-based IR technologies, methods for in-depth information processing and retrieval for multimedia documents.
Applying knowledge and understanding Through course exercises, an intermediate and a final project, the student will be able to design a basic IR system (using the Lucene open source), and to develop a more complex software application in specific domains (e.g. opinion mining, information extraction, etc.). |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047615 - AUTOMATIC SOFTWARE VERIFICATION METHODS |
Knowledge and understanding Temporal logic (e.g., CTL, LTL) based formal specification languages, model checking algorithms for finite state as well as for hybrid systems.
Applying knowledge and understanding Ability to design algorithms and tools for automatic verification of finite state as well as hybrid systems. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047616 - COMPUTATIONAL COMPLEXITY |
Knowledge and understanding At the end of the course the student knows the main complexity classes as L, P, NP, PSPACE, BPP, #P, IP, etc.
Applying knowledge and understanding At the end of the course the student should be able to establish completeness properties of problems through reductions,prove basic theorems about complexity measures, reason about complexity theoretic concepts, read the research literature and understand the main contribution of a paper. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047618 - COMPUTER VISION |
Knowledge and understanding Students will learn techniques that have proven to be useful by first-hand experience and a wide range of mathematical methods
Applying knowledge and understanding The course gives both a general view of the entire computer vision enterprise and also offers sufficient detail for students to be able to build useful applications. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047625 - ELECTIVE IN NETWORKING AND SYSTEMS |
Conoscenze acquisite Al termine del corso gli studenti avranno acquisito conoscenze avanzate relative a: - caratteristiche dei servizi di cloud computing; - caratteristiche dei data center; - caratteristiche della virtualizzazione; - caratteristiche dell’automazione della virtualizzazione.
Competenze acquisite Al termine del corso gli studenti saranno in grado di: - applicare le metodologie apprese all’analisi dei servizi cloud e delle relative infrastrutture di calcolo; - interessarsi autonomamente di ulteriori recenti risultati di ricerca e contribuire alla formulazione di nuove soluzioni. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047628 - FUNDAMENTALS OF COMPUTER GRAPHICS |
Knowledge and understanding The student will understand the fundamentals of how to synthetize images from mathematical models of shapes, materials, lights and motion.
Applying knowledge and understanding The student will be able to implement the main components of state-of-the-art rendering systems for offline rendering, as well as a basic interactive renderer with animation and deformation. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047640 - NETWORK ALGORITHMS |
Conoscenze e competenze: Gli studenti conosceranno e comprenderanno i concetti base utili al progetto ed analisi di algoritmi per le reti efficienti.
Abilità: Gli studenti saranno in grado di modellare problemi su reti, progettare algoritmi che risolvono questi problemi e valutarne l'efficienza |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047613 - ADVANCED ALGORITHMS |
Il corso propone lo studio di algoritmi evoluti e strutture dati avanzate in modo da rendere efficiente la risoluzione di problemi complessi. Particolare interesse è riservato al progetto di algoritmi che operano su architetture parallele. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047619 - CONCURRENT SYSTEMS |
Knowledge and understanding The student will learn the basic notions of concurrent systems, their modeling, analysis, specification and verification. He/she will be introduced to all the details behind the classical problems and the typical benefits of concurrent programming.
Applying knowledge and understanding The student will learn to apply the theoretical principles studied to the design and the implementation of real software systems. He/she will also be introduced to the use of verification mechanisms based on the theoretical concepts presented in class. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047623 - DATA AND NETWORK SECURITY |
Knowledge and understanding After the course the student will know system security in Linux and Windows; wired and wireless network security; fundamentals security in web-applications, fundamentals of data security management.
Applying knowledge and understanding After the course the student will be able to: - design the architecture of secure systems and applications; - keep abreast of the development of the field. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047631 - INFORMATION SYSTEMS |
Knowledge and understanding Understanding of main application areas of BIS in different industries (i.e. Manufacturing, Financial, Government), professional roles in ICT dept, basic functions of a Project Manager/Project Management Office (PMO) in ICT business environment.
Applying knowledge and understanding Capability to analyse info reqirements of main ICT application for different user categories (i.e. operational, management, external), define suitable IT architecture for BIS applications developing simple feasibility studies for ICT projects, establish relevant project plan as a junior Project Manager. |
Secondo anno |
Secondo semestre |
6 |
SECS-P/07 |
|
1047633 - INTENSIVE COMPUTATION |
Knowledge and understanding The aim of the course is to illustrate the methods for solving problems requiring intensive computation, mainly in the scientific field. The analysis of specific problems (such as molecular dynamic, advection) and their implementation allow to understand in a deeper way the used techniques, and to compare the results obtained utilizing different methods.
Applying knowledge and understanding Being able to solve problems using the methods of scientific computation; being able to use vector programming (Matlab), being able to analyse the obtained results. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047634 - INTERNET OF THINGS |
Knowledge and understanding At the end of the course the student will have understood which are the reasons for adopting different protocol stacks in wireless systems; will have studied and understood the design choices behind current solutions for mobile ad hoc networks and sensing systems. He/she will have an understanding of the emerging standards for Internet of Things. The course will also cover emerging paradigms such as long lasting (energy harvesting and wake up radio enabled) Internet of Things and underwater Internet of Things. A lab on sensing systems programming and modeling will allow students to have hand on experience on design, programming and optimization of such systems.
Applying knowledge and understanding The more important skill developed during the course is understanding how to approach the design of novel solutions in the emerging field of Internet of Things: from the modeling of the problem to the design of algorithms and protocols, to the evaluation of such solutions, to the implementation and test. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047639 - MULTIMODAL INTERACTION |
Conoscenza e comprensione Tecniche per la descrizione di dati e modelli che favoriscono l’interoperabilità multimodale. Linee guida di progettazione che tengano conto della necessità di separare l’interfaccia, i processi applicativi e la gestione dei dati. Applicazione di conoscenze e comprensione Evidenziare l’influenza dei processi percettivi e cognitivi sulle possibilità ed i limiti di diverse interfacce multimodali. Descrivere le funzioni delle interfacce multimodali allo stato dell’arte. Valutare punti di forza e debolezze delle attuali interfacce multimodali. Proporre modelli efficienti per nuove interfacce che sfruttino diverse modalità. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047643 - TOPICS IN PHYSICS |
Il corso ha i seguenti argomenti principali: - Un'introduzione alla meccanica quantistica. - Un'introduzione al calcolo quantistico e alle prospettive di realizzazione. - Descrizione di alcuni Qbit in corso di sviluppo. - Esempi di algoritmi quantistici. |
Secondo anno |
Secondo semestre |
6 |
FIS/01 |
|
1047614 - ADVANCED SOFTWARE ENGINEERING |
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.
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. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041792 - BIOMETRIC SYSTEMS |
Conoscenza e comprensione Concetti fondamentali sulle biometrie: Identità e biometrie. Introduzione alle biometrie. Applicazioni. Identificatori biometrici morfologici: volto (2D e 3D), impronte digitali, orecchio, iride, geometria della mano, palmo, struttura dei vasi sanguigni, ecc. Biometrie comportamentali: camminata, firma (dinamica), voce, battitura alla tastiera, ecc. Architettura di un sistema biometrico: sistemi unimodali e architetture multibiometriche. Monitorasggio e valutazione delle prestazioni di un sistema biometrico; FAR, FRR, FTE, FTA, curve ROC, DET, CMC, ecc., misure di qualità ed affidabilità, usabilità, scalabilità. Sicurezza, vulnerabilità e privacy di un sistema biometrcio, attacchi ad un sistema biometrcio; protezione dei template (criptosistemi biometrici, template cancellabili), anti-spoofing. Standard biometrici. Aspetti sociali, culturali e legali dell’uso di sistemi biometrici. Applicazione di conoscenze e comprensione L’obiettivo del corso è fornire agli studenti gli strumenti teorici e pratici necessari per l’analisi, progettazione e implementazione di un sistema di autenticazione biometrico, e per la valutazione delle prestazioni di un sistema biometrico. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047622 - CRYPTOGRAPHY |
Knowledge and understanding Knowledge of the mathematical foundations of the modern cryptography. Knowledge of the schemes currently used in industry. Understanding of their (practical and theoretical) properties.
Applying knowledge and understanding At the end of the course the students will have a general understanding of the main cryptographic schemes currently in use.Moreover, they will be able to answer the following questions: - why do we think that the schemes are secure? - can we prove that some schemes are secure? - do there exist ciphers that can never be broken?
Additionally, the students interested in research will learn what are the main research challenges in the area, and will obtain a background for the future studies. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047624 - DISTRIBUTED SYSTEMS |
Knowledge and understanding Knowledge of some of the fundamental ideas used in the design of modern distributed systems and some of the techniques that will probably be used in future systems.
Applying knowledge and understanding Ability of understanding the problems in the design of a distributed systems in terms of correctness, performance, and fundamental limits. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047627 - FOUNDATIONS OF DATA SCIENCE |
Knowledge and understanding Data stream analysis (count-distinct sketch, 1st momentsketch, 2nd moment sketch, bloom filters). Link analysis (page rank, random walks, hits). Clustering (shingles, k-means, dimensionality reduction, impossibility of clustering, LSH, nearest neighbor). Parallel frameworks (map-reduce, giraph).Data visualization. Machine learning basics, and their use in computational intensive data analysis (linear regression, logistic regression, recommendation systems). Large-scale data algorithms.
Applying knowledge and understanding The purpose of this course is to provide students with the theoretical and programming tools necessary for the analysis andcollection of large datasets. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047635 - MACHINE LEARNING |
Knowledge and understanding The students will understand the different machine learning paradigms and models,as well as the tools for performing experiments and evaluating the systems.
Applying knowledge and understanding The students will be able to implement and use machine learning classifiers, also when used as components of more complex systems. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047638 - MODELS OF COMPUTATION |
Knowledge and understanding Church thesis. Syntax and operational semantics of lambda-calculus: confluence, normalization, lambda-definability. Type systems and the Curry-Howard isomorphism.
Applying knowledge and understanding Ability of capturing the fundamental issues in programming,independently from the used language. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1052089 - SOCIAL AND BEHAVIOURAL NETWORKS |
Knowledge and understanding Social networks, information diffusion, graph conductance, SIR-epidemics, KKT-model, submodular maximization, random graph models, game theoretical graph models, stream analysis, LSH, graph clusterings.
Applying knowledge and understanding: Capability of applying a number of data analysis algorithms to large social graphs. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041764 - BIG DATA COMPUTING |
Knowledge and understanding Understanding of (practical and theoretical) techniques for massive data processing. Knowledge of advanced computational models (e.g., external memory, data streaming, Map Reduce). Familiarity with problems and issues in big-data computing.
Applying knowledge and understanding At the end of the course students will be able to: - Design algorithms that can scale to massive data sets. - Write efficient code taking into account architectural features of modern computing platforms (e.g., memory hierarchies or multiple cores). - Analyze software performance using both mathematical and experimental tools.
Students interested in research will also learn the main research challenges in this area, approaching advanced research topics and improving their background for future studies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047205 - CLOUD COMPUTING |
The class will cover the fundamentals of Cloud technology: Storage of large data sets, performance, scalability, reliability, and security. It also will cover the organization of popular public cloud platforms like Google, Amazon EC2, Microsoft Azure, private ones like Facebook's Haystack, TAO, and, from a practical point of view, one of the most widely used frameworks for designing Cloud applications (e.g. MapReduce). Additionally, the class will cover the economics of the Cloud, its impact in the ICT society and in the way computing technology is used in the industry. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047617 - COMPUTER NETWORK PERFORMANCE |
Knowledge and understanding By attending the course the students will acquire advanced knowledge of: - definition of the performance requirements of a computer network system(wired/wireless), - techniques and methodologies for the performance evaluation of computer networks, - performance optimization methods applied to computer network systems, - design of autonomous systems, - design of green systems. The student will also acquire knowledge of the fundamentals of: - monitoring and predicting the workload, - self-learning techniques for the realization of workload monitoring and control system.
Applying knowledge and understanding A student who successfully passed the exam of the course is able to: - understand the major issues related to the quality of service of a computer network systems - evaluate the quality of service of a network architecture - utilize the most innovative techniques for the realization of high performance autonomous systems. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047623 - DATA AND NETWORK SECURITY |
Knowledge and understanding After the course the student will know system security in Linux and Windows; wired and wireless network security; fundamentals security in web-applications, fundamentals of data security management.
Applying knowledge and understanding After the course the student will be able to: - design the architecture of secure systems and applications; - keep abreast of the development of the field. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047626 - FORMAL METHODS IN SOFTWARE DEVELOPMENT |
Knowledge and understanding Algebraical tools aimed to formalisation. General information about the more used methods for specification, analysis and verification of sequential and concurrent systems.
Applying knowledge and understanding Abilty in modeling some parts of the software product. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047629 - GRAPH THEORY |
Knowledge and understanding Familiarity with both the classical results and techniques in Graph Theory, and an acquaintance with the major areas of current research.
Applying knowledge and understanding The ability to write and organize mathematical proofs to solve a variety of problems in Graph Theory. The ability to extract an algorithm from constructive mathematical proofs. The ability to independently initiate a research project in Graph Theory. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047630 - HUMAN COMPUTER INTERACTION ON THE WEB |
Knowledge and understanding After following this course, the students know the theories, models and rules that guide the desig, development and validation of usable web and mobile interfaces.
Applying knowledge and understanding After following this course, students are able to design interactive web-and mobile sites following the human-computer interaction criteria, analyzing the user's role, the scenarios and main tasks, and taking into account the implementation constraints by using very tight design and development cycles. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047636 - MATHEMATICAL LOGIC FOR COMPUTER SCIENCE |
Knowledge and understanding Risultati e tecniche fondamentali della logica matematica (completezza, incompletezza, indecidibilità, definibilità), relazioni tra definibilità logica, dimostrabilità formale e complessità computazionale, per strutture arbitrarie e per strutture finite.
Applying knowledge and understanding I metodi della logica matematica hanno un ruolo fondamentale in diverse aree dell'informatica teorica quali la teoria della complessità, la teoria delle basi di dati, l'intelligenza artificiale. Lo studente acquisirà alcuni strumenti fondamentali della logica matematica e la capacità di applicarli in vari contesti dell'informatica. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1038141 - NATURAL LANGUAGE PROCESSING |
Knowledge and understanding The student will understand the fundamentals of how to process natural language automatically at the different levels of morphology, syntax, and semantics. Machine translation and other applications will also be introduced.
Applying knowledge and understanding The student will be able to use and implement systems that perform language modeling, morphological analysis, syntactic parsing, semantic analysis and machine translation. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047642 - SECURITY IN SOFTWARE APPLICATIONS |
Knowledge and understanding Each student will acquire widely known techniques to discover software vulnerabilities and to remove them., and the most effective methodologies to develop programs difficult to compromise.
Applying knowledge and understanding Each student will be able to develop software products free of the most common vulnerabilities used to violate security policies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1041870 - WEB AND SOCIAL INFORMATION EXTRACTION |
Knowledge and understanding Being able to understand web information storage and presentation, basic IR technologies, web-based IR technologies, methods for in-depth information processing and retrieval for multimedia documents.
Applying knowledge and understanding Through course exercises, an intermediate and a final project, the student will be able to design a basic IR system (using the Lucene open source), and to develop a more complex software application in specific domains (e.g. opinion mining, information extraction, etc.). |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047615 - AUTOMATIC SOFTWARE VERIFICATION METHODS |
Knowledge and understanding Temporal logic (e.g., CTL, LTL) based formal specification languages, model checking algorithms for finite state as well as for hybrid systems.
Applying knowledge and understanding Ability to design algorithms and tools for automatic verification of finite state as well as hybrid systems. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047616 - COMPUTATIONAL COMPLEXITY |
Knowledge and understanding At the end of the course the student knows the main complexity classes as L, P, NP, PSPACE, BPP, #P, IP, etc.
Applying knowledge and understanding At the end of the course the student should be able to establish completeness properties of problems through reductions,prove basic theorems about complexity measures, reason about complexity theoretic concepts, read the research literature and understand the main contribution of a paper. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047618 - COMPUTER VISION |
Knowledge and understanding Students will learn techniques that have proven to be useful by first-hand experience and a wide range of mathematical methods
Applying knowledge and understanding The course gives both a general view of the entire computer vision enterprise and also offers sufficient detail for students to be able to build useful applications. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047625 - ELECTIVE IN NETWORKING AND SYSTEMS |
Conoscenze acquisite Al termine del corso gli studenti avranno acquisito conoscenze avanzate relative a: - caratteristiche dei servizi di cloud computing; - caratteristiche dei data center; - caratteristiche della virtualizzazione; - caratteristiche dell’automazione della virtualizzazione.
Competenze acquisite Al termine del corso gli studenti saranno in grado di: - applicare le metodologie apprese all’analisi dei servizi cloud e delle relative infrastrutture di calcolo; - interessarsi autonomamente di ulteriori recenti risultati di ricerca e contribuire alla formulazione di nuove soluzioni. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047628 - FUNDAMENTALS OF COMPUTER GRAPHICS |
Knowledge and understanding The student will understand the fundamentals of how to synthetize images from mathematical models of shapes, materials, lights and motion.
Applying knowledge and understanding The student will be able to implement the main components of state-of-the-art rendering systems for offline rendering, as well as a basic interactive renderer with animation and deformation. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047640 - NETWORK ALGORITHMS |
Conoscenze e competenze: Gli studenti conosceranno e comprenderanno i concetti base utili al progetto ed analisi di algoritmi per le reti efficienti.
Abilità: Gli studenti saranno in grado di modellare problemi su reti, progettare algoritmi che risolvono questi problemi e valutarne l'efficienza |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047613 - ADVANCED ALGORITHMS |
Il corso propone lo studio di algoritmi evoluti e strutture dati avanzate in modo da rendere efficiente la risoluzione di problemi complessi. Particolare interesse è riservato al progetto di algoritmi che operano su architetture parallele. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047619 - CONCURRENT SYSTEMS |
Knowledge and understanding The student will learn the basic notions of concurrent systems, their modeling, analysis, specification and verification. He/she will be introduced to all the details behind the classical problems and the typical benefits of concurrent programming.
Applying knowledge and understanding The student will learn to apply the theoretical principles studied to the design and the implementation of real software systems. He/she will also be introduced to the use of verification mechanisms based on the theoretical concepts presented in class. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047623 - DATA AND NETWORK SECURITY |
Knowledge and understanding After the course the student will know system security in Linux and Windows; wired and wireless network security; fundamentals security in web-applications, fundamentals of data security management.
Applying knowledge and understanding After the course the student will be able to: - design the architecture of secure systems and applications; - keep abreast of the development of the field. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047631 - INFORMATION SYSTEMS |
Knowledge and understanding Understanding of main application areas of BIS in different industries (i.e. Manufacturing, Financial, Government), professional roles in ICT dept, basic functions of a Project Manager/Project Management Office (PMO) in ICT business environment.
Applying knowledge and understanding Capability to analyse info reqirements of main ICT application for different user categories (i.e. operational, management, external), define suitable IT architecture for BIS applications developing simple feasibility studies for ICT projects, establish relevant project plan as a junior Project Manager. |
Secondo anno |
Secondo semestre |
6 |
SECS-P/07 |
|
1047633 - INTENSIVE COMPUTATION |
Knowledge and understanding The aim of the course is to illustrate the methods for solving problems requiring intensive computation, mainly in the scientific field. The analysis of specific problems (such as molecular dynamic, advection) and their implementation allow to understand in a deeper way the used techniques, and to compare the results obtained utilizing different methods.
Applying knowledge and understanding Being able to solve problems using the methods of scientific computation; being able to use vector programming (Matlab), being able to analyse the obtained results. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047634 - INTERNET OF THINGS |
Knowledge and understanding At the end of the course the student will have understood which are the reasons for adopting different protocol stacks in wireless systems; will have studied and understood the design choices behind current solutions for mobile ad hoc networks and sensing systems. He/she will have an understanding of the emerging standards for Internet of Things. The course will also cover emerging paradigms such as long lasting (energy harvesting and wake up radio enabled) Internet of Things and underwater Internet of Things. A lab on sensing systems programming and modeling will allow students to have hand on experience on design, programming and optimization of such systems.
Applying knowledge and understanding The more important skill developed during the course is understanding how to approach the design of novel solutions in the emerging field of Internet of Things: from the modeling of the problem to the design of algorithms and protocols, to the evaluation of such solutions, to the implementation and test. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047639 - MULTIMODAL INTERACTION |
Conoscenza e comprensione Tecniche per la descrizione di dati e modelli che favoriscono l’interoperabilità multimodale. Linee guida di progettazione che tengano conto della necessità di separare l’interfaccia, i processi applicativi e la gestione dei dati. Applicazione di conoscenze e comprensione Evidenziare l’influenza dei processi percettivi e cognitivi sulle possibilità ed i limiti di diverse interfacce multimodali. Descrivere le funzioni delle interfacce multimodali allo stato dell’arte. Valutare punti di forza e debolezze delle attuali interfacce multimodali. Proporre modelli efficienti per nuove interfacce che sfruttino diverse modalità. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047643 - TOPICS IN PHYSICS |
Il corso ha i seguenti argomenti principali: - Un'introduzione alla meccanica quantistica. - Un'introduzione al calcolo quantistico e alle prospettive di realizzazione. - Descrizione di alcuni Qbit in corso di sviluppo. - Esempi di algoritmi quantistici. |
Secondo anno |
Secondo semestre |
6 |
FIS/01 |
|
1047614 - ADVANCED SOFTWARE ENGINEERING |
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.
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. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041792 - BIOMETRIC SYSTEMS |
Conoscenza e comprensione Concetti fondamentali sulle biometrie: Identità e biometrie. Introduzione alle biometrie. Applicazioni. Identificatori biometrici morfologici: volto (2D e 3D), impronte digitali, orecchio, iride, geometria della mano, palmo, struttura dei vasi sanguigni, ecc. Biometrie comportamentali: camminata, firma (dinamica), voce, battitura alla tastiera, ecc. Architettura di un sistema biometrico: sistemi unimodali e architetture multibiometriche. Monitorasggio e valutazione delle prestazioni di un sistema biometrico; FAR, FRR, FTE, FTA, curve ROC, DET, CMC, ecc., misure di qualità ed affidabilità, usabilità, scalabilità. Sicurezza, vulnerabilità e privacy di un sistema biometrcio, attacchi ad un sistema biometrcio; protezione dei template (criptosistemi biometrici, template cancellabili), anti-spoofing. Standard biometrici. Aspetti sociali, culturali e legali dell’uso di sistemi biometrici. Applicazione di conoscenze e comprensione L’obiettivo del corso è fornire agli studenti gli strumenti teorici e pratici necessari per l’analisi, progettazione e implementazione di un sistema di autenticazione biometrico, e per la valutazione delle prestazioni di un sistema biometrico. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047622 - CRYPTOGRAPHY |
Knowledge and understanding Knowledge of the mathematical foundations of the modern cryptography. Knowledge of the schemes currently used in industry. Understanding of their (practical and theoretical) properties.
Applying knowledge and understanding At the end of the course the students will have a general understanding of the main cryptographic schemes currently in use.Moreover, they will be able to answer the following questions: - why do we think that the schemes are secure? - can we prove that some schemes are secure? - do there exist ciphers that can never be broken?
Additionally, the students interested in research will learn what are the main research challenges in the area, and will obtain a background for the future studies. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047624 - DISTRIBUTED SYSTEMS |
Knowledge and understanding Knowledge of some of the fundamental ideas used in the design of modern distributed systems and some of the techniques that will probably be used in future systems.
Applying knowledge and understanding Ability of understanding the problems in the design of a distributed systems in terms of correctness, performance, and fundamental limits. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047627 - FOUNDATIONS OF DATA SCIENCE |
Knowledge and understanding Data stream analysis (count-distinct sketch, 1st momentsketch, 2nd moment sketch, bloom filters). Link analysis (page rank, random walks, hits). Clustering (shingles, k-means, dimensionality reduction, impossibility of clustering, LSH, nearest neighbor). Parallel frameworks (map-reduce, giraph).Data visualization. Machine learning basics, and their use in computational intensive data analysis (linear regression, logistic regression, recommendation systems). Large-scale data algorithms.
Applying knowledge and understanding The purpose of this course is to provide students with the theoretical and programming tools necessary for the analysis andcollection of large datasets. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047635 - MACHINE LEARNING |
Knowledge and understanding The students will understand the different machine learning paradigms and models,as well as the tools for performing experiments and evaluating the systems.
Applying knowledge and understanding The students will be able to implement and use machine learning classifiers, also when used as components of more complex systems. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047638 - MODELS OF COMPUTATION |
Knowledge and understanding Church thesis. Syntax and operational semantics of lambda-calculus: confluence, normalization, lambda-definability. Type systems and the Curry-Howard isomorphism.
Applying knowledge and understanding Ability of capturing the fundamental issues in programming,independently from the used language. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1052089 - SOCIAL AND BEHAVIOURAL NETWORKS |
Knowledge and understanding Social networks, information diffusion, graph conductance, SIR-epidemics, KKT-model, submodular maximization, random graph models, game theoretical graph models, stream analysis, LSH, graph clusterings.
Applying knowledge and understanding: Capability of applying a number of data analysis algorithms to large social graphs. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041764 - BIG DATA COMPUTING |
Knowledge and understanding Understanding of (practical and theoretical) techniques for massive data processing. Knowledge of advanced computational models (e.g., external memory, data streaming, Map Reduce). Familiarity with problems and issues in big-data computing.
Applying knowledge and understanding At the end of the course students will be able to: - Design algorithms that can scale to massive data sets. - Write efficient code taking into account architectural features of modern computing platforms (e.g., memory hierarchies or multiple cores). - Analyze software performance using both mathematical and experimental tools.
Students interested in research will also learn the main research challenges in this area, approaching advanced research topics and improving their background for future studies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047205 - CLOUD COMPUTING |
The class will cover the fundamentals of Cloud technology: Storage of large data sets, performance, scalability, reliability, and security. It also will cover the organization of popular public cloud platforms like Google, Amazon EC2, Microsoft Azure, private ones like Facebook's Haystack, TAO, and, from a practical point of view, one of the most widely used frameworks for designing Cloud applications (e.g. MapReduce). Additionally, the class will cover the economics of the Cloud, its impact in the ICT society and in the way computing technology is used in the industry. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047617 - COMPUTER NETWORK PERFORMANCE |
Knowledge and understanding By attending the course the students will acquire advanced knowledge of: - definition of the performance requirements of a computer network system(wired/wireless), - techniques and methodologies for the performance evaluation of computer networks, - performance optimization methods applied to computer network systems, - design of autonomous systems, - design of green systems. The student will also acquire knowledge of the fundamentals of: - monitoring and predicting the workload, - self-learning techniques for the realization of workload monitoring and control system.
Applying knowledge and understanding A student who successfully passed the exam of the course is able to: - understand the major issues related to the quality of service of a computer network systems - evaluate the quality of service of a network architecture - utilize the most innovative techniques for the realization of high performance autonomous systems. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047626 - FORMAL METHODS IN SOFTWARE DEVELOPMENT |
Knowledge and understanding Algebraical tools aimed to formalisation. General information about the more used methods for specification, analysis and verification of sequential and concurrent systems.
Applying knowledge and understanding Abilty in modeling some parts of the software product. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047629 - GRAPH THEORY |
Knowledge and understanding Familiarity with both the classical results and techniques in Graph Theory, and an acquaintance with the major areas of current research.
Applying knowledge and understanding The ability to write and organize mathematical proofs to solve a variety of problems in Graph Theory. The ability to extract an algorithm from constructive mathematical proofs. The ability to independently initiate a research project in Graph Theory. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047630 - HUMAN COMPUTER INTERACTION ON THE WEB |
Knowledge and understanding After following this course, the students know the theories, models and rules that guide the desig, development and validation of usable web and mobile interfaces.
Applying knowledge and understanding After following this course, students are able to design interactive web-and mobile sites following the human-computer interaction criteria, analyzing the user's role, the scenarios and main tasks, and taking into account the implementation constraints by using very tight design and development cycles. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047636 - MATHEMATICAL LOGIC FOR COMPUTER SCIENCE |
Knowledge and understanding Risultati e tecniche fondamentali della logica matematica (completezza, incompletezza, indecidibilità, definibilità), relazioni tra definibilità logica, dimostrabilità formale e complessità computazionale, per strutture arbitrarie e per strutture finite.
Applying knowledge and understanding I metodi della logica matematica hanno un ruolo fondamentale in diverse aree dell'informatica teorica quali la teoria della complessità, la teoria delle basi di dati, l'intelligenza artificiale. Lo studente acquisirà alcuni strumenti fondamentali della logica matematica e la capacità di applicarli in vari contesti dell'informatica. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1038141 - NATURAL LANGUAGE PROCESSING |
Knowledge and understanding The student will understand the fundamentals of how to process natural language automatically at the different levels of morphology, syntax, and semantics. Machine translation and other applications will also be introduced.
Applying knowledge and understanding The student will be able to use and implement systems that perform language modeling, morphological analysis, syntactic parsing, semantic analysis and machine translation. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047642 - SECURITY IN SOFTWARE APPLICATIONS |
Knowledge and understanding Each student will acquire widely known techniques to discover software vulnerabilities and to remove them., and the most effective methodologies to develop programs difficult to compromise.
Applying knowledge and understanding Each student will be able to develop software products free of the most common vulnerabilities used to violate security policies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1041870 - WEB AND SOCIAL INFORMATION EXTRACTION |
Knowledge and understanding Being able to understand web information storage and presentation, basic IR technologies, web-based IR technologies, methods for in-depth information processing and retrieval for multimedia documents.
Applying knowledge and understanding Through course exercises, an intermediate and a final project, the student will be able to design a basic IR system (using the Lucene open source), and to develop a more complex software application in specific domains (e.g. opinion mining, information extraction, etc.). |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047615 - AUTOMATIC SOFTWARE VERIFICATION METHODS |
Knowledge and understanding Temporal logic (e.g., CTL, LTL) based formal specification languages, model checking algorithms for finite state as well as for hybrid systems.
Applying knowledge and understanding Ability to design algorithms and tools for automatic verification of finite state as well as hybrid systems. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047616 - COMPUTATIONAL COMPLEXITY |
Knowledge and understanding At the end of the course the student knows the main complexity classes as L, P, NP, PSPACE, BPP, #P, IP, etc.
Applying knowledge and understanding At the end of the course the student should be able to establish completeness properties of problems through reductions,prove basic theorems about complexity measures, reason about complexity theoretic concepts, read the research literature and understand the main contribution of a paper. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047618 - COMPUTER VISION |
Knowledge and understanding Students will learn techniques that have proven to be useful by first-hand experience and a wide range of mathematical methods
Applying knowledge and understanding The course gives both a general view of the entire computer vision enterprise and also offers sufficient detail for students to be able to build useful applications. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047625 - ELECTIVE IN NETWORKING AND SYSTEMS |
Conoscenze acquisite Al termine del corso gli studenti avranno acquisito conoscenze avanzate relative a: - caratteristiche dei servizi di cloud computing; - caratteristiche dei data center; - caratteristiche della virtualizzazione; - caratteristiche dell’automazione della virtualizzazione.
Competenze acquisite Al termine del corso gli studenti saranno in grado di: - applicare le metodologie apprese all’analisi dei servizi cloud e delle relative infrastrutture di calcolo; - interessarsi autonomamente di ulteriori recenti risultati di ricerca e contribuire alla formulazione di nuove soluzioni. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047628 - FUNDAMENTALS OF COMPUTER GRAPHICS |
Knowledge and understanding The student will understand the fundamentals of how to synthetize images from mathematical models of shapes, materials, lights and motion.
Applying knowledge and understanding The student will be able to implement the main components of state-of-the-art rendering systems for offline rendering, as well as a basic interactive renderer with animation and deformation. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047640 - NETWORK ALGORITHMS |
Conoscenze e competenze: Gli studenti conosceranno e comprenderanno i concetti base utili al progetto ed analisi di algoritmi per le reti efficienti.
Abilità: Gli studenti saranno in grado di modellare problemi su reti, progettare algoritmi che risolvono questi problemi e valutarne l'efficienza |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047613 - ADVANCED ALGORITHMS |
Il corso propone lo studio di algoritmi evoluti e strutture dati avanzate in modo da rendere efficiente la risoluzione di problemi complessi. Particolare interesse è riservato al progetto di algoritmi che operano su architetture parallele. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047619 - CONCURRENT SYSTEMS |
Knowledge and understanding The student will learn the basic notions of concurrent systems, their modeling, analysis, specification and verification. He/she will be introduced to all the details behind the classical problems and the typical benefits of concurrent programming.
Applying knowledge and understanding The student will learn to apply the theoretical principles studied to the design and the implementation of real software systems. He/she will also be introduced to the use of verification mechanisms based on the theoretical concepts presented in class. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047623 - DATA AND NETWORK SECURITY |
Knowledge and understanding After the course the student will know system security in Linux and Windows; wired and wireless network security; fundamentals security in web-applications, fundamentals of data security management.
Applying knowledge and understanding After the course the student will be able to: - design the architecture of secure systems and applications; - keep abreast of the development of the field. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047631 - INFORMATION SYSTEMS |
Knowledge and understanding Understanding of main application areas of BIS in different industries (i.e. Manufacturing, Financial, Government), professional roles in ICT dept, basic functions of a Project Manager/Project Management Office (PMO) in ICT business environment.
Applying knowledge and understanding Capability to analyse info reqirements of main ICT application for different user categories (i.e. operational, management, external), define suitable IT architecture for BIS applications developing simple feasibility studies for ICT projects, establish relevant project plan as a junior Project Manager. |
Secondo anno |
Secondo semestre |
6 |
SECS-P/07 |
|
1047633 - INTENSIVE COMPUTATION |
Knowledge and understanding The aim of the course is to illustrate the methods for solving problems requiring intensive computation, mainly in the scientific field. The analysis of specific problems (such as molecular dynamic, advection) and their implementation allow to understand in a deeper way the used techniques, and to compare the results obtained utilizing different methods.
Applying knowledge and understanding Being able to solve problems using the methods of scientific computation; being able to use vector programming (Matlab), being able to analyse the obtained results. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047634 - INTERNET OF THINGS |
Knowledge and understanding At the end of the course the student will have understood which are the reasons for adopting different protocol stacks in wireless systems; will have studied and understood the design choices behind current solutions for mobile ad hoc networks and sensing systems. He/she will have an understanding of the emerging standards for Internet of Things. The course will also cover emerging paradigms such as long lasting (energy harvesting and wake up radio enabled) Internet of Things and underwater Internet of Things. A lab on sensing systems programming and modeling will allow students to have hand on experience on design, programming and optimization of such systems.
Applying knowledge and understanding The more important skill developed during the course is understanding how to approach the design of novel solutions in the emerging field of Internet of Things: from the modeling of the problem to the design of algorithms and protocols, to the evaluation of such solutions, to the implementation and test. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047639 - MULTIMODAL INTERACTION |
Conoscenza e comprensione Tecniche per la descrizione di dati e modelli che favoriscono l’interoperabilità multimodale. Linee guida di progettazione che tengano conto della necessità di separare l’interfaccia, i processi applicativi e la gestione dei dati. Applicazione di conoscenze e comprensione Evidenziare l’influenza dei processi percettivi e cognitivi sulle possibilità ed i limiti di diverse interfacce multimodali. Descrivere le funzioni delle interfacce multimodali allo stato dell’arte. Valutare punti di forza e debolezze delle attuali interfacce multimodali. Proporre modelli efficienti per nuove interfacce che sfruttino diverse modalità. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047643 - TOPICS IN PHYSICS |
Il corso ha i seguenti argomenti principali: - Un'introduzione alla meccanica quantistica. - Un'introduzione al calcolo quantistico e alle prospettive di realizzazione. - Descrizione di alcuni Qbit in corso di sviluppo. - Esempi di algoritmi quantistici. |
Secondo anno |
Secondo semestre |
6 |
FIS/01 |
|
1047614 - ADVANCED SOFTWARE ENGINEERING |
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.
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. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041792 - BIOMETRIC SYSTEMS |
Conoscenza e comprensione Concetti fondamentali sulle biometrie: Identità e biometrie. Introduzione alle biometrie. Applicazioni. Identificatori biometrici morfologici: volto (2D e 3D), impronte digitali, orecchio, iride, geometria della mano, palmo, struttura dei vasi sanguigni, ecc. Biometrie comportamentali: camminata, firma (dinamica), voce, battitura alla tastiera, ecc. Architettura di un sistema biometrico: sistemi unimodali e architetture multibiometriche. Monitorasggio e valutazione delle prestazioni di un sistema biometrico; FAR, FRR, FTE, FTA, curve ROC, DET, CMC, ecc., misure di qualità ed affidabilità, usabilità, scalabilità. Sicurezza, vulnerabilità e privacy di un sistema biometrcio, attacchi ad un sistema biometrcio; protezione dei template (criptosistemi biometrici, template cancellabili), anti-spoofing. Standard biometrici. Aspetti sociali, culturali e legali dell’uso di sistemi biometrici. Applicazione di conoscenze e comprensione L’obiettivo del corso è fornire agli studenti gli strumenti teorici e pratici necessari per l’analisi, progettazione e implementazione di un sistema di autenticazione biometrico, e per la valutazione delle prestazioni di un sistema biometrico. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047622 - CRYPTOGRAPHY |
Knowledge and understanding Knowledge of the mathematical foundations of the modern cryptography. Knowledge of the schemes currently used in industry. Understanding of their (practical and theoretical) properties.
Applying knowledge and understanding At the end of the course the students will have a general understanding of the main cryptographic schemes currently in use.Moreover, they will be able to answer the following questions: - why do we think that the schemes are secure? - can we prove that some schemes are secure? - do there exist ciphers that can never be broken?
Additionally, the students interested in research will learn what are the main research challenges in the area, and will obtain a background for the future studies. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047624 - DISTRIBUTED SYSTEMS |
Knowledge and understanding Knowledge of some of the fundamental ideas used in the design of modern distributed systems and some of the techniques that will probably be used in future systems.
Applying knowledge and understanding Ability of understanding the problems in the design of a distributed systems in terms of correctness, performance, and fundamental limits. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047627 - FOUNDATIONS OF DATA SCIENCE |
Knowledge and understanding Data stream analysis (count-distinct sketch, 1st momentsketch, 2nd moment sketch, bloom filters). Link analysis (page rank, random walks, hits). Clustering (shingles, k-means, dimensionality reduction, impossibility of clustering, LSH, nearest neighbor). Parallel frameworks (map-reduce, giraph).Data visualization. Machine learning basics, and their use in computational intensive data analysis (linear regression, logistic regression, recommendation systems). Large-scale data algorithms.
Applying knowledge and understanding The purpose of this course is to provide students with the theoretical and programming tools necessary for the analysis andcollection of large datasets. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047635 - MACHINE LEARNING |
Knowledge and understanding The students will understand the different machine learning paradigms and models,as well as the tools for performing experiments and evaluating the systems.
Applying knowledge and understanding The students will be able to implement and use machine learning classifiers, also when used as components of more complex systems. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1047638 - MODELS OF COMPUTATION |
Knowledge and understanding Church thesis. Syntax and operational semantics of lambda-calculus: confluence, normalization, lambda-definability. Type systems and the Curry-Howard isomorphism.
Applying knowledge and understanding Ability of capturing the fundamental issues in programming,independently from the used language. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1052089 - SOCIAL AND BEHAVIOURAL NETWORKS |
Knowledge and understanding Social networks, information diffusion, graph conductance, SIR-epidemics, KKT-model, submodular maximization, random graph models, game theoretical graph models, stream analysis, LSH, graph clusterings.
Applying knowledge and understanding: Capability of applying a number of data analysis algorithms to large social graphs. |
Primo anno |
Primo semestre |
6 |
INF/01 |
|
1041764 - BIG DATA COMPUTING |
Knowledge and understanding Understanding of (practical and theoretical) techniques for massive data processing. Knowledge of advanced computational models (e.g., external memory, data streaming, Map Reduce). Familiarity with problems and issues in big-data computing.
Applying knowledge and understanding At the end of the course students will be able to: - Design algorithms that can scale to massive data sets. - Write efficient code taking into account architectural features of modern computing platforms (e.g., memory hierarchies or multiple cores). - Analyze software performance using both mathematical and experimental tools.
Students interested in research will also learn the main research challenges in this area, approaching advanced research topics and improving their background for future studies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047205 - CLOUD COMPUTING |
The class will cover the fundamentals of Cloud technology: Storage of large data sets, performance, scalability, reliability, and security. It also will cover the organization of popular public cloud platforms like Google, Amazon EC2, Microsoft Azure, private ones like Facebook's Haystack, TAO, and, from a practical point of view, one of the most widely used frameworks for designing Cloud applications (e.g. MapReduce). Additionally, the class will cover the economics of the Cloud, its impact in the ICT society and in the way computing technology is used in the industry. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047617 - COMPUTER NETWORK PERFORMANCE |
Knowledge and understanding By attending the course the students will acquire advanced knowledge of: - definition of the performance requirements of a computer network system(wired/wireless), - techniques and methodologies for the performance evaluation of computer networks, - performance optimization methods applied to computer network systems, - design of autonomous systems, - design of green systems. The student will also acquire knowledge of the fundamentals of: - monitoring and predicting the workload, - self-learning techniques for the realization of workload monitoring and control system.
Applying knowledge and understanding A student who successfully passed the exam of the course is able to: - understand the major issues related to the quality of service of a computer network systems - evaluate the quality of service of a network architecture - utilize the most innovative techniques for the realization of high performance autonomous systems. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047626 - FORMAL METHODS IN SOFTWARE DEVELOPMENT |
Knowledge and understanding Algebraical tools aimed to formalisation. General information about the more used methods for specification, analysis and verification of sequential and concurrent systems.
Applying knowledge and understanding Abilty in modeling some parts of the software product. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047629 - GRAPH THEORY |
Knowledge and understanding Familiarity with both the classical results and techniques in Graph Theory, and an acquaintance with the major areas of current research.
Applying knowledge and understanding The ability to write and organize mathematical proofs to solve a variety of problems in Graph Theory. The ability to extract an algorithm from constructive mathematical proofs. The ability to independently initiate a research project in Graph Theory. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047630 - HUMAN COMPUTER INTERACTION ON THE WEB |
Knowledge and understanding After following this course, the students know the theories, models and rules that guide the desig, development and validation of usable web and mobile interfaces.
Applying knowledge and understanding After following this course, students are able to design interactive web-and mobile sites following the human-computer interaction criteria, analyzing the user's role, the scenarios and main tasks, and taking into account the implementation constraints by using very tight design and development cycles. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047636 - MATHEMATICAL LOGIC FOR COMPUTER SCIENCE |
Knowledge and understanding Risultati e tecniche fondamentali della logica matematica (completezza, incompletezza, indecidibilità, definibilità), relazioni tra definibilità logica, dimostrabilità formale e complessità computazionale, per strutture arbitrarie e per strutture finite.
Applying knowledge and understanding I metodi della logica matematica hanno un ruolo fondamentale in diverse aree dell'informatica teorica quali la teoria della complessità, la teoria delle basi di dati, l'intelligenza artificiale. Lo studente acquisirà alcuni strumenti fondamentali della logica matematica e la capacità di applicarli in vari contesti dell'informatica. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1038141 - NATURAL LANGUAGE PROCESSING |
Knowledge and understanding The student will understand the fundamentals of how to process natural language automatically at the different levels of morphology, syntax, and semantics. Machine translation and other applications will also be introduced.
Applying knowledge and understanding The student will be able to use and implement systems that perform language modeling, morphological analysis, syntactic parsing, semantic analysis and machine translation. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047642 - SECURITY IN SOFTWARE APPLICATIONS |
Knowledge and understanding Each student will acquire widely known techniques to discover software vulnerabilities and to remove them., and the most effective methodologies to develop programs difficult to compromise.
Applying knowledge and understanding Each student will be able to develop software products free of the most common vulnerabilities used to violate security policies. |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1041870 - WEB AND SOCIAL INFORMATION EXTRACTION |
Knowledge and understanding Being able to understand web information storage and presentation, basic IR technologies, web-based IR technologies, methods for in-depth information processing and retrieval for multimedia documents.
Applying knowledge and understanding Through course exercises, an intermediate and a final project, the student will be able to design a basic IR system (using the Lucene open source), and to develop a more complex software application in specific domains (e.g. opinion mining, information extraction, etc.). |
Primo anno |
Secondo semestre |
6 |
INF/01 |
|
1047615 - AUTOMATIC SOFTWARE VERIFICATION METHODS |
Knowledge and understanding Temporal logic (e.g., CTL, LTL) based formal specification languages, model checking algorithms for finite state as well as for hybrid systems.
Applying knowledge and understanding Ability to design algorithms and tools for automatic verification of finite state as well as hybrid systems. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047616 - COMPUTATIONAL COMPLEXITY |
Knowledge and understanding At the end of the course the student knows the main complexity classes as L, P, NP, PSPACE, BPP, #P, IP, etc.
Applying knowledge and understanding At the end of the course the student should be able to establish completeness properties of problems through reductions,prove basic theorems about complexity measures, reason about complexity theoretic concepts, read the research literature and understand the main contribution of a paper. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047618 - COMPUTER VISION |
Knowledge and understanding Students will learn techniques that have proven to be useful by first-hand experience and a wide range of mathematical methods
Applying knowledge and understanding The course gives both a general view of the entire computer vision enterprise and also offers sufficient detail for students to be able to build useful applications. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047625 - ELECTIVE IN NETWORKING AND SYSTEMS |
Conoscenze acquisite Al termine del corso gli studenti avranno acquisito conoscenze avanzate relative a: - caratteristiche dei servizi di cloud computing; - caratteristiche dei data center; - caratteristiche della virtualizzazione; - caratteristiche dell’automazione della virtualizzazione.
Competenze acquisite Al termine del corso gli studenti saranno in grado di: - applicare le metodologie apprese all’analisi dei servizi cloud e delle relative infrastrutture di calcolo; - interessarsi autonomamente di ulteriori recenti risultati di ricerca e contribuire alla formulazione di nuove soluzioni. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047628 - FUNDAMENTALS OF COMPUTER GRAPHICS |
Knowledge and understanding The student will understand the fundamentals of how to synthetize images from mathematical models of shapes, materials, lights and motion.
Applying knowledge and understanding The student will be able to implement the main components of state-of-the-art rendering systems for offline rendering, as well as a basic interactive renderer with animation and deformation. |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047640 - NETWORK ALGORITHMS |
Conoscenze e competenze: Gli studenti conosceranno e comprenderanno i concetti base utili al progetto ed analisi di algoritmi per le reti efficienti.
Abilità: Gli studenti saranno in grado di modellare problemi su reti, progettare algoritmi che risolvono questi problemi e valutarne l'efficienza |
Secondo anno |
Primo semestre |
6 |
INF/01 |
|
1047613 - ADVANCED ALGORITHMS |
Il corso propone lo studio di algoritmi evoluti e strutture dati avanzate in modo da rendere efficiente la risoluzione di problemi complessi. Particolare interesse è riservato al progetto di algoritmi che operano su architetture parallele. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047619 - CONCURRENT SYSTEMS |
Knowledge and understanding The student will learn the basic notions of concurrent systems, their modeling, analysis, specification and verification. He/she will be introduced to all the details behind the classical problems and the typical benefits of concurrent programming.
Applying knowledge and understanding The student will learn to apply the theoretical principles studied to the design and the implementation of real software systems. He/she will also be introduced to the use of verification mechanisms based on the theoretical concepts presented in class. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047623 - DATA AND NETWORK SECURITY |
Knowledge and understanding After the course the student will know system security in Linux and Windows; wired and wireless network security; fundamentals security in web-applications, fundamentals of data security management.
Applying knowledge and understanding After the course the student will be able to: - design the architecture of secure systems and applications; - keep abreast of the development of the field. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047631 - INFORMATION SYSTEMS |
Knowledge and understanding Understanding of main application areas of BIS in different industries (i.e. Manufacturing, Financial, Government), professional roles in ICT dept, basic functions of a Project Manager/Project Management Office (PMO) in ICT business environment.
Applying knowledge and understanding Capability to analyse info reqirements of main ICT application for different user categories (i.e. operational, management, external), define suitable IT architecture for BIS applications developing simple feasibility studies for ICT projects, establish relevant project plan as a junior Project Manager. |
Secondo anno |
Secondo semestre |
6 |
SECS-P/07 |
|
1047633 - INTENSIVE COMPUTATION |
Knowledge and understanding The aim of the course is to illustrate the methods for solving problems requiring intensive computation, mainly in the scientific field. The analysis of specific problems (such as molecular dynamic, advection) and their implementation allow to understand in a deeper way the used techniques, and to compare the results obtained utilizing different methods.
Applying knowledge and understanding Being able to solve problems using the methods of scientific computation; being able to use vector programming (Matlab), being able to analyse the obtained results. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047634 - INTERNET OF THINGS |
Knowledge and understanding At the end of the course the student will have understood which are the reasons for adopting different protocol stacks in wireless systems; will have studied and understood the design choices behind current solutions for mobile ad hoc networks and sensing systems. He/she will have an understanding of the emerging standards for Internet of Things. The course will also cover emerging paradigms such as long lasting (energy harvesting and wake up radio enabled) Internet of Things and underwater Internet of Things. A lab on sensing systems programming and modeling will allow students to have hand on experience on design, programming and optimization of such systems.
Applying knowledge and understanding The more important skill developed during the course is understanding how to approach the design of novel solutions in the emerging field of Internet of Things: from the modeling of the problem to the design of algorithms and protocols, to the evaluation of such solutions, to the implementation and test. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047639 - MULTIMODAL INTERACTION |
Conoscenza e comprensione Tecniche per la descrizione di dati e modelli che favoriscono l’interoperabilità multimodale. Linee guida di progettazione che tengano conto della necessità di separare l’interfaccia, i processi applicativi e la gestione dei dati. Applicazione di conoscenze e comprensione Evidenziare l’influenza dei processi percettivi e cognitivi sulle possibilità ed i limiti di diverse interfacce multimodali. Descrivere le funzioni delle interfacce multimodali allo stato dell’arte. Valutare punti di forza e debolezze delle attuali interfacce multimodali. Proporre modelli efficienti per nuove interfacce che sfruttino diverse modalità. |
Secondo anno |
Secondo semestre |
6 |
INF/01 |
|
1047643 - TOPICS IN PHYSICS |
Il corso ha i seguenti argomenti principali: - Un'introduzione alla meccanica quantistica. - Un'introduzione al calcolo quantistico e alle prospettive di realizzazione. - Descrizione di alcuni Qbit in corso di sviluppo. - Esempi di algoritmi quantistici. |
Secondo anno |
Secondo semestre |
6 |
FIS/01 |
|