Course Details

Computational architectures, networks and security

MF0614

Course
Computational architectures, networks and security
Code
MF0614
Academic Year
2025/2026
Curriculum Year
2025/2026
Degree Programme
ARTIFICIAL INTELLIGENCE AND DIGITAL INNOVATION
Curriculum
000 - 000-GENERICO
Course coordinator
Credits
12
Lecture Hours
96
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Single-subject learning activity
Course Delivery
OPZ - Opzionale
Year
1
Teaching period
Secondo Semestre
Campus
VERCELLI
Teaching language
Italian
Course Contents
The course provides a comprehensive overview of the fundamentals of computer science, introducing students to the complex facets of computing systems, from hardware structures, such as processors and storage media, to data representation and storage space sizing. Additionally, it deepens students' understanding of the distinction between various software layers, including firmware, operating system, and applications.
Students will explore the complexity of networks and communication protocols, understanding the importance of device sizing in terms of storage capacity and transmission power. They will also be encouraged to familiarize themselves with the fundamental components for connecting a variety of devices to the network, including PCs, mobile devices, and IoT sensors.
Emphasis will be placed on exploring software requirements, both functional and non-functional, and on the diversity of applications and services, available both locally and over the network. This segment of the course also includes an overview of the different types of software licenses and provides an introduction to working with UML (Unified Modeling Language), a standardized tool for software modeling.
Lastly, students will immerse themselves in the world of computer security. They will be introduced to a wide range of topics, including security requirements, different types of attacks, the organization and management of incidents, and cryptographic protocols. Significant focus will be given to learning the principles of firewall operation and recognizing the variety of cryptographic solutions available, along with understanding how these relate to security and efficiency requirements. The aim is to develop in students a critical awareness that will accompany them in their future professional path.
Reference Texts
INFORMATICA DI BASE 7/ED
di Dennis Curtin, Kim Foley, Kunal Sen, Cathy Morin, Agostino Marengo, Alessandro Pagano
McGraw-Hill

Reti di calcolatori e Internet, Un approccio top-down
James F. Kurose, Keith W. Ross
Pearson

Charles Pfleeger & Shari Lawrence Pfleeger & Lizzie Coles-Kemp
Security in Computing, 6th Edition
Addison-Wesley Professional
Learning Outcomes
The course provides students with a comprehensive overview of its foundations, equipping them with tools to understand the importance of choices made in hardware systems, software applications, network connectivity, and security aspects. The aim is for students to be able to interact knowledgeably with experts to correctly assess the needs in their specific application area.
The course adopts a practical approach, complementing theoretical analysis with case study analysis and some experimentation activities. This helps to improve understanding of the topics and familiarize students with the main tools of different specific areas.
Students will develop knowledge and the ability to understand the digital representation of information, their communication, and processing through computer tools. The course provides a basic understanding of the structure and operation of a computing system and communication protocols, with their hardware and software components. In addition, it highlights the similarities and differences between various architectures and relates them to the requirements of a specific application context.
Emphasis is placed on exploring software requirements, both functional and non-functional, and on the variety of applications and services, available both locally and online. Students will also be introduced to working with UML (Unified Modeling Language), a standardized tool for software modeling.
Finally, the course delves into the world of information security, introducing students to a wide range of topics. Security requirements, different types of attacks, organization and management of incidents, and cryptographic protocols will be illustrated. Students will learn the operating principles of firewalls and will recognize the variety of available cryptographic solutions, understanding how these relate to security and efficiency requirements.
The skills acquired will allow students to appreciate the potential and limits of different computing system architectures, different protocols, and corresponding security risks. They will be able to identify the essential requirements for an effective system in their application context, providing guidance to experts responsible for building or adapting the system to meet such requirements.
Students will gain the ability to evaluate system sizing problems based on the type of problems to be solved and security. In analyzing the functional and non-functional requirements of innovative systems in their application field, they will be able to contribute to evaluating the suitability of the combination of communication protocols and devices to adopt, and to choosing the most appropriate security measures, in collaboration with analysts, expert developers, and security specialists.
Finally, they will acquire the ability to use the specific technical terminology of the sector and to effectively present the salient features of application problems in their field of competence, comparing possible alternative solutions, both architectural and communication and protection, with the help of industry experts.
Furthermore, the course aims to provide students with the ability to learn autonomously. They will be able to appreciate and evaluate new technologies and protocols based on the fundamental principles discussed in the course, updating their knowledge.
Prerequisites
Basic programming in Python
Teaching Methods
Frontal Lesson
Flipped Classrooms
Exercises
Assessment Methods
Esame orale
Detailed Syllabus
Basic Computer Science (2 CFU)
- Overview of basic concepts
- Computer architecture
- Data representation
- Boolean logic
Networks (4 CFU)
- Introduction to networks
- The ISO/OSI model
- The Ethernet protocol
- The IP protocol
- The TCP and UDP protocols
- The HTTP protocol
- Web applications and the use of HTTP methods
- Examples in Python
- Types of information systems based on web applications
Software requirements definition (3 CFU)
- Requirements engineering
- Conceptual modelling with UML
- Definition of use cases with UML
- Definition of use case narratives
- Software licensing
Security (3CFU)
- Basic concepts of computer security
- Cryptography
- Web security
- Security in network communications
- Security in the cloud
- Elements of privacy
Expected Learning Outcomes
Knowledge
After taking the examination, students will know:
- The mechanisms of data representation;
- The criteria for dimensioning the space required for data storage;
- The main components of a computer and their interactions;
- The characteristics of processors: from CPUs on board integrated systems to multi-core CPUs and GPUs;
- The different types of storage media and their classification according to characteristics;
- The different types of computing systems, from embedded and wearable to supercomputers;
- The distinction between Hardware and Software and the distinction between Hardware, Firmware, Operating System and Applications, according to a layered structure of computer architectures; Virtual machines;
- The different types of applications and services (also accessible over the network).
- The different types of software licences;
- The characteristics of the various communication protocols;
- The criteria for sizing devices (also based on storage capacity) and their transmission power;
- The main components required to enable the connection of a PC, mobile device or IoT sensor to the network;
- The characteristic components of mobile devices and IoT sensors;
- The interfacing of IoT devices with mobile applications and from them to cloud systems;
- The difference between functional and non-functional requirements
- The modelling of a conceptual model
- The modelling of system use cases
- Security requirements, attacks and their classification, cookies and tracking;
- General principles of security and cryptography;
- Organisation, procedures, incident management;
- Cryptographic algorithms and protocols and their use to achieve security requirements;
- Access control and authentication protocols;
- HTTPS and TLS protocols;
- Introduction to firewalls and other network security devices and the importance of organisational aspects in this area.

Skills
Students will become familiar with digital technologies, including for network communication, with respect to their potential for solving specific problems. Furthermore, they will gain awareness of security risks and familiarity with protection mechanisms, hardware, software and organisational. In particular, they will be able to
- identify data sources and the problems of their acquisition, encoding and storage; in general, determine the amount of data to be processed, in relation to the application context
- determine the type of processing to which the data must be subjected in order to assess the computing power required to obtain processing times appropriate to the specific application context;
- identify the protocols and type of device best suited to the scenario in question;
- understand the basic steps involved in defining the requirements of a system
- understand the basic security requirements of one's own application environment, being clear about the possible risks;
- relate the various cryptographic tools to the security and efficiency requirements they guarantee. In particular:
- characteristics and functioning of digital signatures;
- appropriate tools for secrecy and privacy;
- mechanisms for secure user identification and access control;
- interact with experts in the development of software architectures and hardware sizing to meet the requirements of efficiency, reliability and scalability posed by the specific problem, also with a view to future evolution;
- interact with security experts to jointly determine the best tools to use in the specific context;
- updating one's knowledge of available technologies, with a view to a continuous search for the most effective solution to the challenges posed by one's application environment.
Last update:09-09-2026 00:14:31