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
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|