| 1038133 | Formal Methods [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives General outcomes:
The objective of the course is to study the most important quality of software: correctness. Such a study concerns bot the static aspects (data) and the dynamic aspects (processes) of software, considering both how to conceptualize and model such aspects and how to verify them. The main tools used for such study are various forms of logic: first-order logic and description logics for the static aspects, Hoare Logic and dynamic and temporal logics of programs for the dynamic aspects. After a successful completion of the course, the student will have acquired techniques and methods to model and verify programs, both wrt data and processes.
Specific outcomes:
Knowledge and understanding:
Learn the fundamentals of formal methods. The use of strict and formal specifications and their verification. Founding principles of logic in computer science logic and formal verification of data and processes.
Applying knowledge and understanding:
Being able to apply the acquired knowledge to perform analysis of the correctness of programs through rigorous and formal methods, both in relation to aspects relating to data and processes.
Making judgements:
Being able to evaluate the rigor of a given argument of correctness of the programs. Being able to choose the conceptual tools provided by logic and formal methods for the verification of both static and dynamic properties.
Communication:
The group activities in the classroom as well as group projects make the students able to communicate / share the acquired knowledge and to compare himself with others on the topics of the course.
Lifelong learning skills:
In addition to the competences provided by the study of the teaching material, the course teaches the students to deepen their knowledge of some of topics presented in the course, while working in a group, and concretely apply the concepts and techniques learned to specific case studies.
|
| 10596250 | Digital entrepreneurship [ING-INF/05] [ENG] | 2nd | 2nd | 6 |
Educational objectives General objectives:
The main goal of the course is to provide students with a predominantly technological background the main tools for designing a digital entrepreneurial activity
Specific objectives
The course provides students with the main complementary skills to develop a digital entrepreneurship project and it is made of four main sections:
1) Training aimed at acquiring lean methodologies and techniques for designing. The training will be inspired by the concepts of design thinking with the aim of clarifying and evaluating the technical feasibility of the project, sustainability in terms of business and the ability to satisfy the needs of a user (i.e. desireability)
2) How to present the project. The pitch
3) Best-practices. Successful experiences presented by entrepreneurs and / or researchers
4) Project activities in which students will test the skills acquired in the course in the design of a digital business activity.
Knowledge and understanding:
At the end of the course the student will know the main techniques, processes and methodologies to limit the risks associated with starting a digital entrepreneurship project.
Apply knowledge and understanding:
The course is characterized by an experimental "learn by doing" approach inspired by modern theories of design thinking. The skills acquired will be demonstrated in the realization of the final project.
Critical and judgment skills:
Critical and judgmental skills will be mainly developed through the project activity and the permanent discussion within the group, between the project groups and with the instructors. The lean approach will force students to perform a continuous critical exercise with the aim of better understanding the strengths and weaknesses of the proposed solution.
Communication skills:
Students will be able to present the achieved results through the presentation of a Pitch in a concise but effective way
Learning ability:
The course aims to change the mentality of the students so that the need to deal with the outside world in a structured way, not simply focusing on technological aspects, becomes a custom capable of projecting them with greater awareness in entrepreneurial activities.
|
| 1052057 | Visual Analytics [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives The goal of the course is to provide an introduction to the currently used Information Visualization and Visual Analytics techniques. In particular, the course will analyze the methodologies for displaying purely numerical data (tables, diagrams) and representation techniques (mapping of attributes of the represented dataset in visual attributes), providing the practical skills to implement them in d3.js and integrate them with algorithmic solutions. Then, dimensionality reduction techniques will be introduced, with particular attention to PCA, MDS and t-SNE, presenting practical solutions in Python. Finally, the problem of presenting the described techniques will be introduced, acquiring skills on how to overcome limits of space and time in the visualizations, and providing indications on the main interaction techniques.
|
| 1038138 | Data Mining [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives
**************************************
Obiettivi generali:
Conoscenza dei principali scenari applicativi di interesse nell'analisi di
collezioni di dati appartenenti a spazi euclidei o meno, possibilmente di elevata dimensionalità.
Conoscenza e comprensione delle tecniche elementari.
Conoscenza e comprensione dei principali problemi metodologici e di analisi posti dalla
dimensione crescente dei dati.
Conoscenza delle principali tecniche di soluzione e dei principali strumenti
a disposizione per implementarle.
Comprensione degli aspetti teorici e fondazionali delle principali tecniche per
l'analisi di collezioni di dati di grandi dimensioni
Capacità di tradurre le nozioni acquisite in programmi per la soluzione di problemi
specifici.
Conoscenza delle principali tecniche di valutazione e loro applicazione a scenari specifici.
Obiettivi specifici:
Capacità di:
- individuare le tecniche più adatte a un problema di analisi di dati, in particolare ad elevata dimensionalità;
- implementare la soluzione proposta, individuando gli strumenti più adatti a
raggiungere lo scopo tra quelli disponibili;
- progettare e realizzari scenari sperimentali per valutare le soluzioni proposte
in condizioni realistiche;
Conoscenza e comprensione:
- conoscenza dei principali scenari applicativi;
- conoscenza delle principali tecniche di analisi;
- comprensione dei presupposti teorici e metodologici alla base delle tecniche principali
- conoscenza e comprensione delle principali tecniche e indici di valutazione
delle prestazioni
Applicare conoscenza e comprensione:
- essere in grado di tradurre esigenze applicative in problemi concreti di analisi
dei dati;
- essere in grado di identificare gli aspetti del problema, se presenti, che potrebbero rendere
la dimensione (o dimensionalità) dei dati un fattore critico;
- essere in grado di individuare le tecniche e gli strumenti più adatti alla soluzione dei
problemi concreti di cui sopra;
- essere in grado di stimare a priori, almeno qualitativamente, la scalabilità delle
soluzioni proposte;
Capacità critiche e di giudizio:
Essere in grado di valutare, anche sperimentalmente, l'efficacia, l'efficienza e la scalabilità
delle soluzioni proposte
Capacità comunicative:
Essere in grado di descrivere in modo efficace le specifiche di un
problema e di comunicare ad altri le scelte adottate e le motivazioni sottostanti a
tali scelte.
Capacità di apprendimento:
Il corso consentirà lo sviluppo di capacità di approfondimento autonomo
su argomenti del corso o ad essi correlati. Metterà lo studente nelle condizioni
di individuare e consultare in modo critico manuali avanzati o letteratura scientifica
per affrontare scenari nuovi oppure per applicare tecniche alternative a scenari noti.
INGLESE
General objectives:
Knowledge of main application scenarios in (possibly high-dimensional) data analysis.
Knowledge and understanding of basic techniques.
Knowledge and understanding of main algorithms and approaches to analyze high dimensional
data. Knowledge of main tools to implement them.
Understanding of theoretical foundations underlying main techniques of analysis
Ability to implement the aforementioned algorithms, approaches and techniques and to
apply them to specific problems and scenarios.
Knowledge of main evaluation techniques and their application to practical scenarios.
Specific objectives:
Ability to:
- identify the most suitable techniques to address a data analysis problem, especially when
data dimensionality is a concern;
- implement the proposed solution, identifying the most appropriate design and
implementation tools, among available ones;
- Design and implement experiments to evaluate proposed solutions in realistic settings;
Knowledge and understanding:
- knowledge of main application scenarios;
- knowledge of main techniques of analysis;
- understanding of methodological and theoretical foundations of main analysis techniques;
- knowledge and understanding of main evalutation techniques and corresponding
performance indices
Apply knowledge and understanding:
- being able to translate application needs into specific data analysis
problems;
- being able to identify aspects of the problem for which data dimensionality
might play a critical role;
- being able to identify the most suitable techniques and tools to address the
aforementioned problems;
- being able to estimate in advance, at least qualitatively, the degree of scalability
of proposed solutions;
Critical and judgment skills:
Being able to evaluate, also experimentally, the effectiveness and efficiency of
proposed solutions
Communication skills:
Being able to effectively describe the requirements of a problem and
provide to third parties the relative specifications, design choices and
the reasons underlying these choices.
Learning ability:
The course will facilitate the development of skills for the independent
study of topics related to the course. It will also allow students to identify
and critically examine material contained in andvanced manuals and/or scientific
literature, allowing them to face new application scenarios and/or apply alternative
techniques to known ones.
|
| 1041706 | Knowledge Representation and Semantic Technologies [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives General objectives:
To know the main languages of the current semantic technologies, in particular, the families of class-based and rule-based knowledge representaton formalisms, and the main reasoning techniques for such formalisms. To know the standard semantic technologies based on the above knowledge representation formalisms, in particular the RDF language and the OWL language, with the goal of designing and managing an ontological knowledge base. To know the basic elements of the representation of actions and reasoning about actions.
Specific objectives:
Knowledge and understanding:
Description Logics (the main class-based knoeledge representation formalisms) and the main rule-based languages, in particular Datalog and some of its extensions. The main Web standards for semantic technologies, in particular the RDF, SPARQL and OWL languages.
Applying knowledge and understanding:
To be able to design a knowledge base, choosing the most appropriate formalism and technologies for the given application context.
Making judgements:
To be able to evaluate the main semantic aspects of a knowledge base and of a knowledge-based application. To be able to choose the best available technology for processing a knowledge base.
Communication skills:
The practical activities and the exercises allow the student to be able to communicate and share the requirements of an application requiring the construction and management of a knowledge base and/or the usage of the standard semantic technologies.
Learning skills:
Besides the classical learning skills provided by the theoretical study of the teaching materials, the practical activities stimulate the student to autonomously deepen her/his knowledge about some of the course topics, to teamwork, and to the practical application of the notions and techniques learned during the course.
|
| 1044408 | LARGE-SCALE DATA MANAGEMENT [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives General goals:
The goal of the course is to make students familiar with the basic concepts of managing information systems at large scale. Two specific topics will be investigated in detail, namely information models for Big Data Management, and information integration. Both topics are extremely relevant in the data-driven society, where virtually all information
systems of reasonably sized organisations need to both manage large data sets, and to interact with several data sources.
Specific goals:
To study the data models used in Big Data Management, especially NoSQL data models, including column-based, key-vale, and document data models, and to get familiar with the notions and the techniques for information integration.
Knowledge and understanding:
After the course the student will have a good knowledge on the differences and similarities between the relational model and the various classes of NoSQL data models. Moreover, the students will understand the theoretical issues in data integration and exchange, and will have a good knowledge about the various architectures of information integration systems.
Apply knowledge and understanding:
The students will be able to design her/his own Big Data repository using one of the data models adopted in practice, to choose an appropriate architecture for information integration, and to build and maintain an information integration systems structured according to the chosen architecture.
Critical and judgment skills:
The student will be able to evaluate the requirement for a Big Data Management system, and will be able to choose the right data model and infrastructure to choose. Analogously, the student will be able to understand the requirement for a specific information integration system, and choose the appropriate approaches and techniques for designing a high-quality solution.
Communication skills:
The students will acquire a good knowledge on how to illustrate the results of a design process, both in the context of Big Data Management, and in the context of information integration systems.
Learning ability:
The student will be able to understand any new architecture and approach to Big Data Management and to Information Integration that will become popular in the future
|
| 10600447 | Malware analysis [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives General Outcomes.
The current scenarios related to cyber security show us the increasingly pervasive presence of malicious software used to perpetrate cyber attacks. The course aims to provide students with the knowledge, methods, and basic tools to analyze, identify, categorize, and understand the behavior of malicious software. The course will adopt a practical approach, with a significant component of application to real cases.
Specific Outcomes.
Knowledge and understanding:
Knowledge of distinctive characteristics and functionalities of malicious software.
Applying knowledge and understanding:
Ability to statically and dynamically analyze an instance of potentially malicious untrusted software. Applied ability to identify and evaluate different functionalities of an instance of untrusted software through reverse-engineering methods and tools.
Making judgments:
Ability to interpret the results of analysis and reverse engineering activities of untrusted software as a potentially malicious sample.
Communication skills:
Being able to present the results of technical analysis in the form of a report in the spirit of what professionals in the field do.
Learning skills:
The course's methods encourage students to independently delve deeper into the methodologies presented in the theoretical and practical classes on each topic. They will apply them to complex instances of software that employ a variety of techniques and functionalities.
|
| 10616532 | Economics and computation [ING-INF/05] [ENG] | 2nd | 2nd | 6 |
Educational objectives General outcomes:
The course will present a broad survey of topics at the interface of computer
science, data science, and economics, emphasizing efficiency, robustness, and application to emerging online markets. It will introduce the principles of algorithmic game theory and mechanism design, algorithmic market design, as well as machine learning in games and markets. It will demonstrate applications to case studies in Web search and advertising, network economics, Data, cryptocurrency, and AI markets.
Specific outcomes:
Knowledge and understanding:
The algorithmic and mathematical economics principles underlying the design and the operation of efficient and robust online markets. The application of these principles in concrete examples of online markets.
Applying knowledge and understanding:
Being able to design and analyze algorithms for concrete online market applications with respect to the requirements of efficiency and robustness.
Making judgements:
Being able to evaluate the quality of an algorithm for online market applications, discriminating the modeling aspects from those related to algorithmic and system implementation.
Communication skills:
Ability to communicate and share the modeling choices and system requirements, as well as the results of the analysis of the efficiency of online market algorithms.
Learning skills:
The course stimulates the students to acquire learning skills at the crossroads of computer science, economics, and digital market applications, including the different languages used in these fields.
|
| 10616533 | Graph mining and applications [ING-INF/05] [ENG] | 2nd | 2nd | 6 |
Educational objectives The course will present models and algorithms for the analysis of graphs as with applications on various areas. The goal at the end of the course, is for student to know algorithms and frameworks that can allow them to analyze large graph data.
|
| 10620854 | MOBILE, EDGE AND CLOUD COMPUTING [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives General objectives.
The "Mobile Edge and Cloud Computing" course delves into the integration of mobile computing, edge computing and cloud computing, focusing on architectural and software aspects for the development of modern, scalable, and adaptive distributed systems. The course includes the development of mobile applications that leverage features such as sensors in mobile devices and integrate modern Machine Learning libraries and cloud services. Additionally, the course covers techniques for load balancing, offloading, and resource optimization, as well as workload management in distributed scenarios.
Specific Objectives.
Knowledge and understanding:
The course aims to provide students with the necessary knowledge to understand:
(i) the specific characteristics of mobile apps compared to desktop apps;
(ii) the main design patterns for mobile applications;
(iii) the key security issues related to mobile application development;
(iv) the use of major cloud backend services and the edge/fog computing paradigm;
(v) the methodologies for designing and developing simple backend services deployed on cloud or edge platforms;
(vi) the classification of cloud service models.
Ability to apply knowledge and understanding:
Students will be able to design, develop, and test native applications for the Android operating system that interact with cloud services, using official tools for development, testing, and design. They will also be able to design, develop, and test simple backend services deployed on cloud or edge platforms to support mobile applications.
Autonomy of judgment:
Based on the skills acquired, the student must be able to evaluate the advantages of the disadvantages of the technologies with which it is possible to develop apps (native, hybrid and web based applications), evaluate / choose in an optimal and critical way the cloud support functionalities for the operation of mobile applications; to judge the feasibility, complexity and implications of new possible applications, also indicated by third parties. In addition, it must be able to update itself based on possible future technologies related to mobile apps or cloud services.
Communication skills:
The student must be able to motivate the technological, methodological and architectural choices to other people in the sector, as well as to present, even to inexperienced people, the operation and characteristics of possible new applications
Learning ability:
To stimulate the ability to learn, practical exercises will be carried out on the various topics covered and will be required to critically use information available for specific problems on various discussion platforms (eg Stack Overflow, official sites, blogs, etc.)
|
| 1052222 | Planning and Reasoning [ING-INF/05] [ENG] | 2nd | 1st | 6 |
Educational objectives This course introduces the main ideas of automated planning and mechanism for
formal logic reasoning within the field of artificial intelligence. The aim of
the sources is to prepare the student so that they can use the existing systems
for automated planning and understand their inner workings, which is
fundamental to adapt them to cope with issues arising from specific problems.
Furthermore, the student will understand the theoretical bases of the uses of
formal logics in artificial intelligence.
|