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 network layer. It is composed of the following chapters:
- Internet architecture : network edge/core/access, protocol layers.
- Application layer: web and HTTP, DNS, 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 (IP), addressing and forwarding, routing algorithms (RIP, OSPF, BGP).
- Link layer and Local Area Networks: error detection, LAN, MAC addresses, ARP, Ethernet, hubs/switches, spanning trees.
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 langage.
This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, VI.1, VI.2, VII.1, VII.2, VII.4, VII.5 of the BSc in engineering.
This course contributes to the learning outcomes I.1, I.2, I.3, II.1, II.2, III.1, III.2, VI.1, VI.2, VII.1, VII.2, VII.4, VII.5 of the MSc in data science and engineering.
This course contributes to the learning outcomes I.1, I.2, II.1, II.2, III.1, III.2, VI.1, VI.2, VII.1, VII.2, VII.4, VII.5 of the MSc in electrical engineering.
Prerequisite knowledge and skills
Two years of bachelor in computer science or equivalent. This prerequisite is mainly due to a network programming assignment that requires a good knowledge and practice of the Java programming language.
Planned learning activities and teaching methods
- Lectures describing in detail the theoretical and practical concepts of the course.
- Labs based on the Netkit network emulator, to go deeper into some concepts and thereby improve the understanding. Lab sessions are supervised practical sessions. Students are expected to prepare, at home, those sessions, at the very least by reading the reminder document.
- Programming assignment: design and development in Java of a distributed application.
Mode of delivery (face to face, distance learning, hybrid learning)
Face-to-face lectures. Projects are mainly carried out remotely.
Course materials and recommended or required readings
Reference book: James F. Kurose and Keith W. Ross. Computer Networking - A Top-Down Approach (8th Edition), Pearson 2020.
Slides are available on eCampus.
Exam(s) in session
Any session
- In-person
oral exam
Further information:
Exam(s) in session
Any session
- In-person
oral exam
Additional information:
The evaluation is threefold: the project, the labs, and the oral exam on the theory. The grade is a geometric mean of the theoretical and practical parts. The latter is a weighted arithmetic mean of the grades of the project and labs. Presence at labs is mandatory.
At the oral exam the student has to expose clearly and in a synthetical way one part of the course, and prove his/her in-depth understanding by answering questions. 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 assessment of the project 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, and (3) the quality of the report.
Students may improve their project for the second exam session (in September), but cannot do the labs again. If the overall grade of the labs is favorable to the students, the second session is identical to the first one, with the same weighting. On the other hand, if the overall grade of the labs is not favorable to the student (and the labs have been done), it is not taken into account in September, and the grade becomes a weighted geometric mean of the project (30%) and the oral exam (70%).
Work placement(s)
Organisational remarks and main changes to the course
First term (from September to December), on Wednesdays from 8:30am to 12:30pm.
The project will start after week 3 and last until the end at week 13.
Contacts
Teacher: Guy Leduc, Guy.Leduc@uliege.be
Teaching assistant for the labs: Louis Dasnois, L.Dasnois@uliege.be
Teaching assistant for the project : Davan Chiem Dao, Davan.ChiemDao@uliege.be