Weekly outline

  • General

    In this course you will learn and understand how computer networks are built and run. You will be able to:
    • test and clarify your understanding of the networking concepts by connecting computers to form LANs, autonomous routing domains and interconnections;
    • test the performance of TCP versus UDP and of traffic control settings;
    • develop and test various communicating programs using sockets;
    • be familiar with IPv6 as well as IPv4 and the interworking between them;
    • understand congestion control, TCP and QUIC;
    • run Mininet in your computer and deploy real networks in an emulated environment.

    This is a master level course for master and PhD students.


    Lectures are on Thursdays 12:15-14:00 in room CM2. Recordings are posted on youtube as soon as possible after the lecture. 


    We use speakup for polls in class. During the lecture, you can go to web.speakup.info in a web browser. Or you can download the speakup app for your smartphone.

    speakup logo

    The room key is written on the board in class, the room name is tcpip.

    Lecture Notes
    • "Computer Networking : Principles, Protocols and Practice" by O. Bonaventure, 1st or 2nd edition:  pdf, epub, mobi
    • "Rate adaptation, Congestion Control and Fairness: A Tutorial" by JY Le Boudec: pdf


    There is a lab every week, on Fridays 11:15-13:00 in rooms INF1 and 13:15-15:00 in room INM202.

    The labs are designed to be done on your own machine but require an Intel processor, because of a dependency on the virtual machine software. If you only have a Mac with Apple processor, you will not be able to do the labs on your Mac, but we will lend you a small headless Linux machine (minix), which you can keep and bring home for the entire semester.  

    The labs do not require physical presence at EPFL. You can do them at any time. You can use the lab sessions for support; you can also use the questions and answer forum on moodle to ask questions about the lab (and about the lecture).

    Every lab lasts for 2 weeks, but for the last one. For each lab, you are graded by doing lab quizzes on Moodle. Lab quizzes have to be completed at the latest on the Wednesday that follows the last lab session for the current lab.

    In most labs, there is a more advanced section called research exercise, which is for bonus. Do it only if (1) you feel comfortable with all the rest of the lab and the lecture, (2) you have enough time and (3) you like the topic.

    Online Lecture Quizzes

    There is one online lecture quiz every week on lecture. The goal is to train your understanding of the lecture. It is also a training for the labs and for the final exam. The quizzes are mandatory, you are considered to have completed the lecture quiz when you achieve a grade of 70% or more. The lecture quiz grade only counts to determine if you passed the quiz or not, once you pass we don't use the lecture quiz grade. You must be up to date with your lecture quizzes in order to do lab quizzes.


    There is one written exam in the exam session. It is closed book. We will provide you with a printed copy of the exam booklet, which contains formulas and material that is too tedious to be learnt by heart.  We recommend that you train with the old exams. Such conditions are subject to change if the sanitary situation imposes it.


    The course grade is the average between the lab grades and the final exam. More exactly:

    • Theory grade T = final exam
    • Lab grade = average of 7 labs (last lab counts as one half)
      Research exercise bonus = average of all lab bonuses (max bonus is 0.5 in scale 1-6)
      L = min (6, Lab grade + Research exercise bonus)
    • Final grade = ½ ( T+L) rounded to next quarter integer.

    All grades except final grade are non-rounded.

  • 19 September - 25 September

    Thursday Sept 22, 12:15-14:00, CM 2

    Intro, Archi

    Friday Sept 23, 11:15-13:00 INF 1 and INF019 (Apple processor),13:15-15:00 INM 202 and INF019 (Apple processor)

    Lab 0

  • This week

    26 September - 2 October

    Thursday Sept 29, 12:15-14:00, CM 2

    Archi, end


    Friday Sept 30, 11:15-13:00 INF 1, 13:15-15:00 INM 202

    Lab 0, continued

    • Quiz 2
      Restricted Not available unless:
      • The activity Quiz 1 is marked complete
      • It is after 29 September 2022, 3:00 PM
  • 3 October - 9 October

    Tuesday Oct 4, 17:00- 18:30

    Online session organized by RIPE NCC for Computer Science students. RIPE NCC is the organization that supports the technical and administrative coordination of the infrastructure of the Internet for Europe, the Middle East and parts of Central Asia. Three leading experts will give their thoughts on who controls the Internet, equity and ethics of the Internet and how to participate in running the Internet. The event is free of charge. 

    More info and registration:

    Thursday Oct 6, 12:15-14:00, CM 2
    IP1 (end)

    Friday Oct 7, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 1

    • Quiz 3
      Restricted Not available unless:
      • The activity Quiz 2 is marked complete
      • It is after 6 October 2022, 3:00 PM
  • 10 October - 16 October

    Thursday Oct 13, 12:15-14:00, CM2 

    MAC Layer

    Friday Oct 14, 11:15-13:00 INF 1,13:15-15:00 INM 202 

    Lab 1, continued

    • Quiz 4
      Restricted Not available unless:
      • The activity Quiz 3 is marked complete
      • It is after 13 October 2022, 3:00 PM
  • 17 October - 23 October

    Thursday Oct 20, 12:15-14:00, CM2
    MAC layer (end)

    Transport Layer

    Friday Oct 21, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 2

    • Quiz 5
      Restricted Not available unless:
      • The activity Quiz 4 is marked complete
      • It is after 20 October 2022, 3:00 PM
  • 24 October - 30 October

    Thursday Oct 27, 12:15-14:00, CM2

    Transport Layer (end)
    IP multicast

    Friday Oct 28, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 2, continued

  • 31 October - 6 November

    Thursday Nov 3, 12:15-14:00, CM2

    multicast (end)

    Friday Nov 4, 11:15-13:00 INF 1,13:15-15:00 INM 202

    Lab 3

    • 7 November - 13 November

      Thursday Nov 10, 12:15-14:00, CM 2

      OSPF (end)
      Congestion Control 1

      Friday Nov 11, 11:15-13:00 INF 1,13:15-15:00 INM 202

      Lab 3, continued

      • 14 November - 20 November

        Thu Nov 17, 12:15-14:00, CM 2

        Congestion Control 1  

        Congestion Control 2

        Fri Nov 18, 11:15-13:00 INF 1,13:15-15:00 INM 202

        Lab 4

        • 21 November - 27 November

          Thu Nov 24, 12:15-14:00, CM 2

          Congestion control (end)


          Fri Nov 25, 11:15-13:00 INF 1,13:15-15:00 INM 202

          Lab 4, continued

          • 28 November - 4 December

            Thursday Dec 1, 12:15-14:00, CM 2


            Friday Dec 2, 11:15-13:00 INF 1,13:15-15:00 INM 202

            Lab 5


            • 5 December - 11 December

              Thursday Dec 8, 12:15-14:00, CM 2

              BGP (end)

              Friday Dec 9, 11:15-13:00 INF 1,13:15-15:00 INM 202

              Lab 5, continued

              • 12 December - 18 December

                Thursday Dec 15, 12:15-14:00, CM 2

                Appli (end)


                Friday Dec 16, 11:15-13:00 INF 1,13:15-15:00 INM 202

                Lab 6

                • 19 December - 25 December

                  Thursday Dec 22, 12:15-14:00, CM 2

                  IP2 (end)

                  No lab on Friday Dec 23

                  Get prepared for the exam

                  • Do again the quizzes of the course, in the lecture notes and in moodle.
                  • Take the exams of the past three years. The exams of the past three years lasted for 3 hours each.