1038133 - Formal Methods |
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.Risultati di apprendimento attesi (Inglese):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. |
First year |
First semester |
6 |
ING-INF/05 |
|
1044415 - MOBILE APPLICATIONS AND CLOUD COMPUTING |
The course is divided into two parts. The first one is dedicated to the development of applications for mobile device, the second one to the cloud systems.
As far as the first part is concerned, the objective of the course is to teach how to design and programming Android based device. Particular skills are required for the development of such applications, like the design of artistic and engaging user interface and the use of specific programming patterns; they will be faced during the course.
The second part of the course is dedicated to cloud based systems. One objective of the course is to teach the three main different kinds of cloud systems that exist, namely Infrastructure as a Service, Platform as a Service and Programming as a Service. The goal of the course is to provide to the student the conceptual tool to understand which type of cloud system is convenient in a given environment with respect to more traditional solutions. |
First year |
First semester |
6 |
ING-INF/05 |
|
1022780 - CAPACITY PLANNING |
Goal of the course is to teach the performance and dependability evaluation techniques at project time as well as during the operational life of the computing platforms. Main goal of the course is to improve the background that each engineer has to know to make choice between different architectural solutions taking into account the cost and the performance/dependability level the system has to reach.Risultati di apprendimento attesi (Inglese): At the end of the course the student will be able to plan the capability of a computing platform with the goal to meet the fixed System Level Agreement (SLA), SLA based either on performance as well as dependability indexes. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1022891 - Software Engineering |
The course examines the process of software development and presents the methodologies, the quality standards, the metrics, and the techniques commonly used for estimating, planning, and testing of professional software applications. In order to properly interpret the measures used in the context of software quality assurance, the course presents the basic notions of the theory of measurement and of the analysis of variance.Risultati di apprendimento attesi (Inglese): At the end of the course a student will be able to: - select a model for the development of a software application; - estimate the software cost ; - plan the development and test activities; - select the metrics for the software quality assurance; - evaluate the statistical significance of experiments based on numerical sampling. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1038134 - Human Computer Interaction |
The main goal of this course is to introduce the fundamentals of human-computer interaction and to discuss in detail the concept of usability for interactive systems as well as the user-centered design. The various topics will be examined under different perspectives, dealing with theoretical, methodological, technological and application-oriented aspects, looking at them both in the current scenario and in view of future developments. Some advanced issues in human-computer interaction, such as cooperative systems, immersive and ubiquitous environments, intelligent interfaces, etc., will be discussed as well.Risultati di apprendimento attesi (Inglese):Along the course, the student should acquire theoretical skills, methodologies, and techniques to be applied in a concrete project to be developed following the user-centered design. In particolar, the course will cover techniques for requirement collection and analysis, goal and task models, interaction and system models, methods for usability evaluation. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1044414 - ADVANCED OPERATING SYSTEMS AND VIRTUALIZATION |
The Advanced Operating Systems and Virtualization course aims at presenting advanced design and implementation methods/techniques for modern operating systems. The topics dealt with by the course are bind to case studies oriented to LINUX systems and x86 compliant processors. The deep knowledge on operating systems internals provided by the course will also constitute the basis for the introduction of topics related to virtual machines and guest operating systems support. The course requires basic knowledge on the structure and functionalities of operating systems, and knowledge on C programming. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1052057 - Visual Analytics |
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. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1044413 - PERVASIVE SYSTEMS |
The course is mainly addressed to Computer Engineers and Computer Scientists and aims at providing the basic skills to design, implement and test a pervasive system, namely a system that allows users to access services of interest always and everywhere. We will discuss the technologies, protocols, functionalities and algorithms to realise a pervasive system capable to provide specific services (e.g. services for mobile users, services for the IoT etc.) subject to the constraints and challenges of the wireless links and the limited resources of the devices connected to form the pervasive system (e.g. energy constraints, mobility, noise, limited CPU power, limited bandwidth, etc.) |
First year |
Second semester |
6 |
ING-INF/05 |
|
1038137 - Web Information Retrieval |
The objective of the course is to present methodologies and technologies for Web search engines and more in general for Web information management.Risultati di apprendimento attesi (Inglese):Students acquire the ability to design and to develop large scale web information retrieval systems and to tackle the fundamental issues for the design of search engines, analysis and organization of web information and social networking systems. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1041706 - Knowledge Representation and Semantic Technologies |
The goal of the course is to provide an introduction to knowledge representation and reasoning, and to focus on the current semantic technologies that are strongly based on knowledge representation and reasoning. In particular, the families of class-based and rule-based knowledge representaton formalisms will be presented, and reasoning techniques for such formalisms will be analyzed. Then, the course will introduce the standard semantic technologies based on the above knowledge representation formalism, in particular the RDF language, the OWL language, and the RIF language. Finally, the notion of action will be introduced and the main forms of reasoning about actions will be presented. |
First year |
Second semester |
6 |
ING-INF/05 |
|
1038138 - Data Mining |
The goal of the course is twofold. First, it will present the main theory behind the analysis of data. Second, it will be hands-on and at the end students will become familiar with various state-of-the-art tools and techniques for analyzing data. We will use Python for downloading data as well as its rich machine-learning libraries, the R environment for statistical processing, and the MapReduce framework for mining of large-scale data. |
Second year |
First semester |
6 |
ING-INF/05 |
|
1044410 - SYSTEM AND ENTERPRISE SECURITY |
This course introduces the student to the problems linked to securing complex IT systems. A first part will be dedicated to the definition of the most common attack models. Then state of the art techniques for intrusion detection and intrusion tolerance will be analyzed. A second part of the course will be dedicated to the analysis of modern methodologies for security governance and risk management related to system security in enterprise environments. |
Second year |
First semester |
6 |
ING-INF/05 |
|
1044402 - PROCESS AND SERVICE MODELING AND ANALYSIS |
This course introduces principles and methods of process and service modeling and analysis. The course emphasize the role of conceptual (sometimes referred as business) process models as an instrument to understand and capture the process or service of interest in information systems of various nature. If focusses on executable models, i.e., models that are formal enough to define what it means to execute them and to formally verifying their dynamic properties. Compositions and orchestration of available process and services is also introduced. |
Second year |
First semester |
6 |
ING-INF/05 |
|
1044406 - BIG DATA COMPUTING |
The analysis of large volumes of data is a task that has recently become of increasing importance, as more data become available and as algorithms and architectures are being developed for processing them.
The goal of this course is for students to become familiar with algorithmic techniques and frameworks for processing, analyzing, and aggregating large data. |
Second year |
First semester |
6 |
ING-INF/05 |
|
1044404 - WEB SECURITY AND PRIVACY |
The course aims at providing the fundamentals on Web-application security, and on privacy in the electronic society. Concerning the security of Web application a classification of the threats and of the main techniques of attack, and of the targets and goals of the attackers. The course also focuses on the basic design strategies and the main resources that are available to support designers and developers to reach the goal of "security by design". Particular emphasis will be devoted the e-mail security and to privacy preserving, studying the threats, the basic fixes and pros/cons of anonymity as a tool for aiming at privacy preserving. The course also provides the knowledge for the protection of privacy. Techniques and tools designed to violate privacy and anonymity in economic transitions, in the release of statisitical data, and in social networks. Economic issues and psychological aspects of the use and release of sensitive data will be considered and regulatory issues for the protection of sensible data. |
Second year |
First semester |
6 |
ING-INF/05 |
|
1055061 - Security Governance |
|
Second year |
First semester |
6 |
ING-INF/05 |
|
1044408 - LARGE-SCALE DATA MANAGEMENT |
Many application scenarios use large scale data sets possibly collected
from a huge number of data sources (volume), with highly heterogeneous
format (variety), at a very high rate (velocity). These scenarios call
for new principles and technologies to be developed, ranging from new
data management strategies to new data storage mechanisms and computing
frameworks. A first objective of this course is to investigate several
key technologies used in manipulating, storing, and analyzing big data.
In particular, we will study architectures for data intensive
distributed applications, Data Warehouse solutions, NoSQL storage
solutions, including RDF and graph databases. A second objective is to
study principles and methods for large scale data integration, i.e.,
conceptualizing, gathering, and using big data under a unified view.
Large scale data integration is a rich problem, both from a theoretical,
and from a practical perspective, and represents one of the most
challenging issues in modern information systems. |
Second year |
Second semester |
6 |
ING-INF/05 |
|
1044399 - DATA CENTERS AND HIGH PERFORMANCE COMPUTING |
The Data Centers and High Performance Computing course aims at presenting topics related to architectural organization and programming models for high-end systems. The architectural part will be aimed at coping with the typical organization of data centers devoted to hosting generic applications (such as web and data management applications) and with the processes that drive data center design and management. Particular care will be given in providing links with the cloud computing paradigm. On the other hand, the high performance computing part will be devoted to introducing concepts related to programming paradigms that are able to exploit parallelism in the underlying computing infrastructure. Parallelism and/or distribution transparency will be a topic also covered by the course. |
Second year |
Second semester |
6 |
ING-INF/05 |
|
1047598 - SOCIAL NETWORKS AND ON-LINE MARKETS |
|
Second year |
Second semester |
6 |
ING-INF/05 |
|