NETWORK ALGORITHMS

Course objectives

General objectives Acquire knowledge on the design of complex algorithms to solve graph problems that model problems inherent in networks (wired, wireless and of sensors). Specific goals Knowledge and understanding At the end of the course students will know the basic methodologies for the analysis of problems related to networks and the identification of graph problems that are closer; they will also know the algorithms for solving some of the main problems on graphs. Apply knowledge and understanding: At the end of the course students will have become familiar with the analysis of problems related to networks. They will be able to recognize which is the graph problem that is closer and - reworking existing ones - to design new data structures and related algorithms to solve the starting problem. Critical and judgmental skills Students will be able to analyze the quality of a network algorithm, both from the effective resolution of the problem and from the time complexity point of views. Communication skills Students will acquire the ability to expose their knowledge in a clear and organized way, which will be verified through the oral examination. Learning ability Once the cycle of studies is completed, the acquired knowledge will allow students to face real problems in a critical and effective way and to design efficient solutions.

Channel 1
TIZIANA CALAMONERI Lecturers' profile

Program - Frequency - Exams

Course program
0. Introduction to the Course 1. cable networks 1.1. The Routing problem, i.e., the minimum cost shortest path 1.2. The layout of interconnection networks, i.e., the orthogonal grid graph drawing 1.3. The problem of infecting a network with a worm, i.e., the minimum vertex cover problem 1.4. The problem of minimizing a Boolean circuit, i.e., the minimum set covering problem 2. wireless ad hoc networks 2.1. The frequency assignment problem, i.e., a graph coloring problem 2.2. The minimum energy broadcast problem, i.e,. the minimum spanning tree problem 2.3. The data mule scheduling problem, i.e., the travelling salesman problem 2.4. The Data Collection in ad-hoc networks, i.e., the connected Dominating Set Problem 3. mobile sensor networks 3.1. The centralized deployment of a mobile sensor network, i.e., the minimum cost perfect matching in bipartite graphs 3.2. Self-deployment of a mobile sensor network, i.e., the Voronoi Diagram 3.3. Monitoring by UAVs, i.e., the multiple TSP with constraints
Prerequisites
In order to profitably attend the Network Algorithms teaching lessons, the fundamentals of Algorithms, of data structures, and of computational complexity are essential, which will be used as an already consolidated basis. This knowledge is usually provided in two courses of the bachelor's degree in Computer Science (at least 18 credits). Students aware that they do not possess these prerequisites are strongly encouraged to obtain them before attending class.
Books
Course topics are mostly from recent research, for which there is no textbook, but rather a number of articles which can be downloaded from the course page. For further details, see here: https://twiki.di.uniroma1.it/twiki/view/Algoreti/ProgrammaDelCorso
Teaching mode
Remote teaching mode. Beside the recorded lectures, there is a support activity by the teacher and a "tutoring" activity in which exercises are proposed to students, in agreement with them about the topics. Attending lectures is not compulsory.
Frequency
attending lessons is not compulsory but strongly encouraged.
Exam mode
For the students attending the lessons, the Exam Procedure is composed of two compulsory oral parts. The first part consists of a short lesson (about half an hour), taught by the student, on a research paper assigned by the teacher. During the final exam, the whole chapter, including the topic of the lesson, will be skipped. The aim of this first part of the exam is to allow students to engage with a scientific text, learn to understand it, summarize it, and explain it to others. The second part consists of an oral exam on all the remaining topics. The aim of this second test is to enable students to acquire a unified and organic understanding of the topic, to be able to make connections, and to clearly report on a familiar topic. Students can divide this latter oral exam into two mid-semester sub-exams; they can freely decide how many chapters they want to study for the first mid-semester sub-exam, which will be held approximately in mid-November (during the week without teaching, when decided). It is worth mentioning that, as far as the chapters are organized, this exam is not recommended to students who, for any reason, cannot attend the lessons. Nevertheless, the students that anyway wish to take this exam will have to take a unique oral exam, including all topics. International students will take the exam using the same methods. To pass the exam, students must achieve a grade of at least 18/30. Students must demonstrate sufficient knowledge of the topics covered in all sections of the program. To achieve a grade of 30/30 with honors, students must demonstrate excellent knowledge of all the topics covered in the course and be able to connect them in a logical and coherent manner.
Lesson mode
The teaching format is mostly traditional (lectures by the teacher). In some lessons, students will present a topic on a previously studied paper (students' lessons). Attending lectures is not compulsory but highly recommended.
TIZIANA CALAMONERI Lecturers' profile

Program - Frequency - Exams

Course program
0. Introduction to the Course 1. cable networks 1.1. The Routing problem, i.e., the minimum cost shortest path 1.2. The layout of interconnection networks, i.e., the orthogonal grid graph drawing 1.3. The problem of infecting a network with a worm, i.e., the minimum vertex cover problem 1.4. The problem of minimizing a Boolean circuit, i.e., the minimum set covering problem 2. wireless ad hoc networks 2.1. The frequency assignment problem, i.e., a graph coloring problem 2.2. The minimum energy broadcast problem, i.e,. the minimum spanning tree problem 2.3. The data mule scheduling problem, i.e., the travelling salesman problem 2.4. The Data Collection in ad-hoc networks, i.e., the connected Dominating Set Problem 3. mobile sensor networks 3.1. The centralized deployment of a mobile sensor network, i.e., the minimum cost perfect matching in bipartite graphs 3.2. Self-deployment of a mobile sensor network, i.e., the Voronoi Diagram 3.3. Monitoring by UAVs, i.e., the multiple TSP with constraints
Prerequisites
In order to profitably attend the Network Algorithms teaching lessons, the fundamentals of Algorithms, of data structures, and of computational complexity are essential, which will be used as an already consolidated basis. This knowledge is usually provided in two courses of the bachelor's degree in Computer Science (at least 18 credits). Students aware that they do not possess these prerequisites are strongly encouraged to obtain them before attending class.
Books
Course topics are mostly from recent research, for which there is no textbook, but rather a number of articles which can be downloaded from the course page. For further details, see here: https://twiki.di.uniroma1.it/twiki/view/Algoreti/ProgrammaDelCorso
Teaching mode
Remote teaching mode. Beside the recorded lectures, there is a support activity by the teacher and a "tutoring" activity in which exercises are proposed to students, in agreement with them about the topics. Attending lectures is not compulsory.
Frequency
attending lessons is not compulsory but strongly encouraged.
Exam mode
For the students attending the lessons, the Exam Procedure is composed of two compulsory oral parts. The first part consists of a short lesson (about half an hour), taught by the student, on a research paper assigned by the teacher. During the final exam, the whole chapter, including the topic of the lesson, will be skipped. The aim of this first part of the exam is to allow students to engage with a scientific text, learn to understand it, summarize it, and explain it to others. The second part consists of an oral exam on all the remaining topics. The aim of this second test is to enable students to acquire a unified and organic understanding of the topic, to be able to make connections, and to clearly report on a familiar topic. Students can divide this latter oral exam into two mid-semester sub-exams; they can freely decide how many chapters they want to study for the first mid-semester sub-exam, which will be held approximately in mid-November (during the week without teaching, when decided). It is worth mentioning that, as far as the chapters are organized, this exam is not recommended to students who, for any reason, cannot attend the lessons. Nevertheless, the students that anyway wish to take this exam will have to take a unique oral exam, including all topics. International students will take the exam using the same methods. To pass the exam, students must achieve a grade of at least 18/30. Students must demonstrate sufficient knowledge of the topics covered in all sections of the program. To achieve a grade of 30/30 with honors, students must demonstrate excellent knowledge of all the topics covered in the course and be able to connect them in a logical and coherent manner.
Lesson mode
The teaching format is mostly traditional (lectures by the teacher). In some lessons, students will present a topic on a previously studied paper (students' lessons). Attending lectures is not compulsory but highly recommended.
  • Lesson code1047640
  • Academic year2025/2026
  • CourseComputer Science
  • CurriculumSingle curriculum
  • Year2nd year
  • Semester1st semester
  • SSDINF/01
  • CFU6