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

Curriculum(s) for 2024 - Computer and System Engineering (31810)

Optional groups

The student must acquire 6 CFU from the following exams
LessonYearSemesterCFULanguage
1041466 | Automation3rd1st6ITA

Educational objectives

General objectives.
The course provides an overview on supervision architectures and control methodologies for the operation of machines, physical devices, and industrial processes controlled in real time using distributed computers and a communication network.

Specific objectives.
Knowledge and understanding:
Students will learn principles, mathematical models and methods for analysis, design, simulation, control and supervision of automation systems.

Apply knowledge and understanding:
Students will be able to understand the general problems of automation systems, with focus on their time-driven or event-driven dynamic components,
and to design and implement real-time control and supervision techniques.

Critical and judgment skills:
Students will be able to analyse the organization and operation of complex automation processes and individual components, characterizing their properties, performance, and weaknesses.

Communication skills:
The course will allow students to be able to present the main problems and technical solutions for the automation of processes and systems of industrial nature and beyond.

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

1056052 | AUTOMATIC APPLICATION3rd2nd6ITA

Educational objectives

General Objectives

The course outlines the use of control engineering methodologies in various application domains such as robot control, network control, and aerospace systems control.

Specific Objectives

Knowledge and understanding:
Students will gain a better understanding of dynamical systems analysis and control concepts through detailed examples of controller design in different application areas: robotics, distribution networks (both traditional power and smart grids), aerospace.

Apply knowledge and understanding:
Students will be able to understand and apply general techniques for analyzing and designing control laws on concrete application examples.

Critical and judgmental skills:
Students will be able to identify and critically evaluate the key aspects of control system design, from drafting specifications to employing mathematical models, from synthesis alternatives to implementation aspects, simulation, and evaluation of results.

Communication skills:
The course allows students to present issues related to modeling and control of systems in engineering fields that are highly current and of practical interest.

Learning skills:
The course aims to foster independent attitudes towards analysis and learning oriented towards solving problems in control engineering.

The student must acquire 6 CFU from the following exams
LessonYearSemesterCFULanguage
1017397 | DATABASES3rd1st6ITA

Educational objectives

General goals:
The general goal of the course is the study of the fundamental aspects
of data management systems and database design methodologies. More
precisely, the goal is to provide the student with the notions regarding
techniques and methods for dealing with problems in designing databases
and application programming, and for using database management systems
in the context of development and management of information systems.

Specific goals:
To tackle data management problems using the most appropriate
technologies, and to carry out database development projects using
appropriate methodologies.

Knowledge and understanding:
Knowledge of data representation models, database management systems,
languages ​​to interact with databases, and relational data base design
methodologies. Understanding of data models other than the relational
model, and mechanisms for making applications and databases interact.

Apply knowledge and understanding:
Being able to create software that interacts with relational databases
and being able to design relational databases using appropriate
methodologies that guarantee correctness and efficiency of the design
product.

Critical and judgment skills:
Being able to evaluate the correctness of a data base schema, and the
efficiency of a data base against information on the application load
that will weigh on the data.

Communication skills:
The project activities and the exercises of the course allow the student
to be able to communicate / share / and reason about the requirements of
a database, as well as the design choices and the design and development
methods of the same.

Learning ability:
In addition to the classic learning skills provided by the theoretical
study of the teaching material, the course development methods, in
particular the project activities, stimulate the student to deepen his
knowledge of new data base models, new data query languages ​​and of new
systems for their management.

1041751 | Computer architectures3rd2nd6ITA

Educational objectives

The aim of the course is to provide the first tools for
the selection of the best architecture of the processing system
according to the performance and reliability goals. This will be done
starting from the hardware design methodologies and then on the
description of the organization of the actual computers, including that
of the memory, of the peripheral devices, and the interaction mode among
them and the processors. The study of the different solutions will be
done through the analysis of the relationship between the hardware and
software of the system. This knowledge will enable students to
understand the advantages and disadvantages of the different
architectures of the processors available in the market, as well as how
they interact with each other and with the peripheral devices.

Specific objectives:

Knowledge and understanding:
Learn through the project the choice, taking care of the cost / performance ratio, of the best hardware and software solutions of the computing systems

Apply knowledge and understanding:
Being able to design and choose a computing system.

Critical and judgment skills:
Be able to verify the quality of a processing system and verify its ability to meet the needs of customers and managers.

Communication skills:
The project activities and the course exercises allow the student to be able to work in a group of multidisciplinary designers.

Learning ability:
Learning the design methods of digital systems and then applying them to the design of a computing system allows students to identify the best design solutions regardless of the technologies used

10599901 | Foundations of Artificial Intelligence3rd2nd6ITA

Educational objectives

The first part of the course will aim to introduce machine learning techniques to students. It will cover an introduction to machine learning, linear and logistic regression, decision trees, nearest neighbors, and neural networks. The second part of the course will aim to introduce symbolic reasoning techniques. The notion of an intelligent agent, automatic search techniques in the solution space, in particular the A-star algorithm, and the solution of constraint satisfaction problems will be discussed.

10606849 | Computer Security3rd2nd6ITA

Educational objectives

General Outcomes.
The course aims to provide students with relevant knowledge and skills to identify, prevent, and respond to security threats in computer systems and software applications. Students will learn about common vulnerabilities, “security-savvy” coding and testing practices, and general security mechanisms, among others. They will also gain hands-on experience with state-of-the-art technologies. By the end of the course, students will have acquired familiarity with what it takes to design, implement, and evaluate (more) secure software and systems.

Specific Outcomes.
Knowledge and understanding:
Understanding the basic concepts of computer security, starting with the threats and vulnerabilities faced by digital systems.

Applying knowledge and understanding:
Gaining both methodological and hands-on experience with cybersecurity tools and technologies. Studying security-aware software development and testing practices.

Making judgments:
Identifying, examining, understanding, and assessing security-relevant features and properties of software programs and systems.

Communication skills:
The activities will empower students with the ability to identify, assess, and work on security-relevant aspects of software and systems.

Learning skills:
Besides the usual skills of learning from theoretical descriptions and practical sessions, students will be stimulated to independently delve deeper into the methodologies presented and acquire hands-on experience with tools and techniques for securing software and systems.

10606850 | ​Advanced operating systems3rd2nd6ITA

Educational objectives

General Objectives.
Knowing the structure of an operating system and framing the historical perspective tha tlead to the actual choices.
The course alternates theoretical and practical lessons. Each concept presented at lesson is backed up by a practical
typically consisting in the development or in the inspection of one or more programs. During the practical lessons
an interval is planned between the presentation of a problem and the discussion of the solution such that the students can propose their own.

Specific Objectives.

Knowledge and Understanding:
Structure of an OS and mechanisms to handle their functionalities. Understanding how to implement these mechanisms, in particular: context switch, system calls, memory management and file system.
Experience the behavior of these mechanisms through the development in sandboxed environments. Learning the basic concepts to interact with the OS's kernel in opening devices such as serial ports, cameras, joysticks etc.
Improve low level programming skills.

Applying Knowledge and Understanding:
Being able to design and implement applications running on bare metal devices that incorporate functionalities of an OS. Being able to interact with the OS at low level. Being able to understand and configure the many aspects of such a system.

Making Judgements:
Characterize and measure the performances of the subsystems of an OS. Experience through the programs presented and development the concrete effects that implementation and design choice have on the performances.

Communication Skills:
The course proposes several exercises to be done in small groups by means with the help of shared platforms to manage software versioning on the web (git). The experience in interacting through these platforms
is meant to expose future engineers to the use of tools and communication dynamics typical of a development team.
Additionally, the course plans as an integral part of the evaluation the design and development of a program and the related documentation.

Learning Skills:
Presentation of an "in depth" view of an information system. Emphasys on the open box analysis, where student are encouraged to think on how the tools they use operate instead of just using them.

10606934 | Web technologies and systems3rd2nd6ITA

Educational objectives

General objectives.
The main objectives are: knowing HTML and XML, the standard languages for the representation of information on the World Wide Web; knowing standards, methods and tools for processing such languages, specifically HTML stylesheets (CSS), DOM HTML, libraries and frameworks for HTML (Bootstrap), XML stylesheets; knowing client-side Web programming (JavaScript, JSON, JQuery); knowing the basics of server-side Web programming (PHP, Node.js).

Specific objectives.
Knowledge and understanding:
The main standards for representing and processing information in the World Wide Web. The techniques for developing the client side of a Web application.

Applying knowledge and understanding:
Being able to design the client side of a Web application.

Making judgements:
Being able to evaluate the quality of a Web application, in particular its client side.

Communication skills:
The practical activities and the exercises allow the student to be able to communicate and share the requirements of a Web application, as well as the design choices and methodologies of the client side of such an application.

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.

10607113 | Technologies for juridical data elaboration3rd2nd6ITA

Educational objectives

General objectives.
Provide students with the cultural means and tools to combine technological skills and legal knowledge. Acquire basic legal skills and tools for the computer representation of legal knowledge. Know the legal issues of digital technologies.

Specific objectives.
Acquire linguistic skills to understand and disambiguate legal statements and to proceed with correct legal qualifications. Know the criminal laws with specific reference to the provisions on cybercrime and the tools for the computer representation of legal knowledge. Know the legal issues of digital technologies and artificial intelligence with particular reference to the issues of anonymity and privacy protection.

Knowledge and understanding: Understanding of legal statements to proceed with correct legal qualifications. Knowledge of the principles and legal issues relating to the use of digital technologies. Knowledge of blockchain technology and understanding of its applications to digital currencies and contracts. Knowledge of the principles and fundamental elements of the GDPR and of the legal issues relating to the use of Artificial Intelligence tools.

Apply knowledge and understanding: Being able to build a taxonomy within which to frame objects, relationships and events in interactive processes from which to extract a structured set of rules for the development of a legal knowledge system. Understanding of anonymity issues in the management of personal data in multiple situations.
Critical and judgment skills: Be able to evaluate the effectiveness and legal adequacy of technological solutions in the management of personal data.

Communication skills: Be able to communicate effectively to legal experts, without technological knowledge, and to IT experts, without legal knowledge, the problems and solutions adopted.

Learning ability: The course will allow the development of autonomous in-depth study skills on course topics or related topics. It will also allow the student to easily consult advanced and/or specific manuals for autonomous learning of the legal issues of digital solutions.

The student must acquire 6 CFU from the following exams
LessonYearSemesterCFULanguage
AAF1044 | Training3rd2nd6ITA

Educational objectives

The specific aim is to allow the student to use and expand the bulk of knowledge acquired during the course of study performing some activities in an industrial setting, a company, or a research laboratory.

AAF2270 | Laboratory of engineering in computer science3rd2nd6ITA

Educational objectives

Knowledge and understanding:
The course aims to provide the main methodological and technological tools for the design and implementation of complex, secure and Web-based software systems.

Ability to apply knowledge and understanding:
The student must be able to design, develop and test web-based applications using Agile methodology and working in groups.

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 web-based applications, evaluate and select critical security features in an optimal and critical way, and assess the complexity of developing application. Furthermore, he must be able to update himself according to possible future technologies.

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.