Course Details

Design and implementation of networked software systems

MF0243

Course
Design and implementation of networked software systems
Code
MF0243
Academic Year
2026/2027
Curriculum Year
2024/2025
Degree Programme
CHEMISTRY
Curriculum
000 - CORSO GENERICO
Course coordinator
Lecturers
Credits
9
Lecture Hours
72
Scientific Disciplinary Sector (SSD)
INF/01 - Computer Science
Course Type
Single-subject learning activity
Course Delivery
OBB - Obbligatoria
Year
3
Teaching period
Annuale
Campus
ALESSANDRIA
Teaching language
Italian
Course Contents
- Local Area Network architectures, including wireless LANs
- Network based multimedia services
- Basic principles on the architecture of distributed applications based on microservices
- Internet of Things
- Practical implementation of a distributed application based on microservices architecture
Reference Texts
Author: James F. Kurose, Keith W. Ross Title: RETI DI CALCOLATORI E INTERNET - Un approccio top-down 8/ed, Casa editrice: Addison Wesley (2022), ISBN 9788891916013. Author: Chris Richardson Title: MICROSERVICES PATTERS, wth examples in Java. Publisher: Manning, Shelter Island.
Learning Outcomes
Know the main techniques and protocols on which wired and wireless Local Area Networks are based.
Know the main properties and the specific protocols of the net-based multimedia applications.
Acquire the necessary skills to design and implement a distributed application based on microservices, from the requirements specification phase, to the design, implementation, and test of the whole application.
Develop the ability to work in a team using distributed computer supported cooperative work tools to interact and organize the teamwork.
Prerequisites
Student should have already acquired the fundamental notions in software engineering, in computer networks, web application development and cybersecurity thought in the courses of Software Engineering, Object Oriented Programming, Web Programming Metodologies, Computer networks-I and Cybersecurity-I
Teaching Methods
The course includes: Lectures (32 hours, 4 credits) Activity assisted by the teacher (40 hours, 5 credits). Individual activity, self-organized by the students, with the support of the teacher.
Additional Information
Students with physical disabilities, Learning Disabilities or Special Education Needs can request specific services and tools via the Staff Sviluppo e Coordinamento Carriere e Servizi alle Studentesse e agli Studenti, consulting the University webpage:

https://www.uniupo.it/en/services/services-students-physical-or-learning-disabilities

Students with disabilities, learning disabilities or special education needs, once they have contacted the University Staff, can refer to the tutor in charge of the course to define the examination modalities, concerning academic aspects.
Assessment Methods
The assessment of the concepts and skills acquired by the student includes two
steps:
1- A written test on the theory part of the program. The test is composed by three parts (one for each section of the theoretical part: wired networks, wireless networks and multimedia protocols). Each part is in turn divided into questions and exercises.
2- A demonstration of the working prototype developed by the teams, including an individual evaluation of the acquired skills.

The final grade is established by taking into account the results reached in both verification steps. It is required a sufficient level of knowledge and skills on both aspects: theory and project work.

For each of the two assessment stages, the grade is awarded on a scale of 30, according to the following criteria:
• Not suitable (Fail)
Knowledge and understanding of the topic: significant deficiencies and inaccuracies; Analytical and synthesis skills: negligible, frequent generalizations; Use of references: completely inappropriate.
• 18–20
Knowledge and understanding of the topic: very limited, evident flaws; Analytical and synthesis skills: barely sufficient; Use of references: barely appropriate.
• 21–23
Knowledge and understanding of the topic: knowledge slightly above the minimum requirement; Analytical and synthesis skills: fair analytical and synthesis skills, logical and coherent argumentation; Use of references: uses standard references.
• 24–26
Knowledge and understanding of the topic: good knowledge; Analytical and synthesis skills: good analytical and synthesis skills, coherent presentation of arguments; Use of references: uses standard references.
• 27–29
Knowledge and understanding of the topic: very good knowledge; Analytical and synthesis skills: notable analytical and synthesis skills; Use of references: in-depth exploration of topics.
• 30–30 cum laude
Knowledge and understanding of the topic: excellent knowledge; Analytical and synthesis skills: notable analytical and synthesis skills; Use of references: significant in-depth analysis.

Detailed Syllabus
The program is structured into two methodological modules.

Module 1 (theory, face-to-face lessons): Datalink, Ethernet, ARP, switches. Wireless Networks: signial transmission techniques, wifi, Bluetooth, ZigBee. Multi-media communication on IP networks. Distributed application architecture: Communication through private and public networks, Message Brokers. Mosquitto, RabbitMQ. API-rest: principles, URI discovery, version handling. Authentication and Security: a. Mosquitto. b. RabbitMQ. c. OAuth2.0: Authentication, token generation and handling.
Module 2 (laboratory, part face-to-face and part work sessions): Micro-service architectures, stateless servers, RPC based communication, Message broker based communication. IoT+Microservice architectures. Design Patterns: a. Domain driven design. b. Event Sourcing Design. server access from clients via REST Gatway. Distribuited synchronization in microservies. Architecture examples for Gateway, microservice. Project: Students are required to develop a network application following the design patterns provided in the examples provided by the the teacher.
Expected Learning Outcomes
- Knowledge and understanding: students will learn the main architectures and features of local and wifi computer networks; the services provided by the data link layer and their interactions with the network layer; the characteristics and requirements of multimedia data transmission; the principles and techniques used in computer networks security and the characteristics of microservice applications.
- Applying knowledge and understanding: students will be able to apply the acquired knowledge to develop a microservice application capable to interface with IoT devices connected to a LAN. During the application design the students will be able to use the techniques/methodologies acquired in the software engineering course.
- Making judgments: students will be able to autonomously analyze different architectural and implementation solutions, identify their pros and cons and choose the most suitable solutions. Communication skills: students will learn to synthetically explain the features of their application and the architectural or implementation choices and reasoning about their effectiveness.
- Learning skills: students will be capable to interact with different devices and platforms, developed according to the general principles acquired in the courses, but with different specific interfaces. Thus students will be able to autonomously learn the specific characteristics of provided services in order to develop an application capable to interact with them.
Last update:09-09-2026 00:14:31