Duration
32h Th, 2h Pr, 12h Labo., 40h Proj.
Number of credits
Lecturer
Language(s) of instruction
English language
Organisation and examination
Teaching in the first semester, review in January
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
Computer networking is studied using a top-down approach, from applications down to the link layer. It is composed of the following chapters:
- Internet architecture: network edge/core/access, protocols, performance metrics.
- Application layer: web and HTTP, email, DNS, video streaming, content delivery networks, socket programming.
- Transport layer: (de)multiplexing, connectionless transport (UDP), reliable data transfer, connection-oriented transport (TCP), flow and congestion control.
- Network layer: data and control planes, router architecture, Internet Protocol (IPv4 and IPv6), addressing and forwarding, routing algorithms and protocols (OSPF, BGP), and network management.
- Link layer and Local Area Networks: error detection and correction, multiple-access protocols, Ethernet, ARP, switching, spanning trees, VLANs, and data-center networking.
Learning outcomes of the learning unit
At the end of the course students will understand well the principles of computer networks, their layered architectures (OSI and TCP/IP models), the fundamental mechanisms governing the protocols in various layers, and some examples of existing protocols. They will also be able to implement a simple web application in Java using the socket API.
The project brings out self-learning and teamwork capabilities, and helps improve the writing skills of the students.
Teaching, and all support material, in English allow students to improve their knowledge and skills in this language.
Prerequisite knowledge and skills
Two years of a bachelor's degree in computer science, or equivalent. This prerequisite is primarily justified by the presence of a network programming project that requires a good command of the Java language.
Planned learning activities and teaching methods
- Lectures covering the theoretical and practical concepts of the course in detail.
- Labs based on the Netkit network emulator, designed to explore selected concepts in greater depth and reinforce understanding. Lab sessions are supervised practical sessions. Students are expected to prepare for them in advance, at a minimum by reading the relevant preparatory material.
- Programming assignments involving the design and development of a distributed application in Java.
Mode of delivery (face to face, distance learning, hybrid learning)
Face-to-face course
Further information:
Theory sessions are held in person. Projects are primarily carried out remotely.
Course materials and recommended or required readings
Further information:
Reference book: James F. Kurose and Keith W. Ross. Computer Networking - A Top-Down Approach (9th Edition), Pearson 2025.
Exam(s) in session
Any session
- In-person
written exam
Further information:
The evaluation is threefold: the projects, the labs, and the written exam on the theory. The final grade is a weighted arithmetic mean consisting of 15% labs, 25% project, and 60% written exam.
At the written exam, the student has to answer a series of questions covering different parts of the course and demonstrate a clear and in-depth understanding of the material. A student who was not present at the lab sessions or has not completed his/her project is not allowed to take this exam.
The projects assessment will be based on (1) the completeness of the software that will have to pass a series of functionality tests, (2) the quality of the code, (3) the quality of the report, and (4) an oral examination in which students will be asked questions about their project to demonstrate their understanding of the design, implementation, and results.
Work placement(s)
Organisational remarks and main changes to the course
First term (from September to December), on Mondays from 8:30am to 12:30pm.
The first project will start after week 3 and the second project will last until the end at week 13.
Contacts
Professor: Savvas Kastanakis, S.Kastanakis@uliege.be
Teaching assistant for the labs: Vincent Jacquot, Macha.Krumm@uliege.be
Teaching assistant for the project : Davan Chiem Dao, Davan.ChiemDao@uliege.be