Please note! Course description is confirmed for two academic years (1.8.2018-31.7.2020), which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.


At the end of this course, students will be able to 

  • Understand how the existing network protocols work
  • Know how to compare network protocols and to select suitable ones to use
  • Modify existing protocols or design new ones that fulfill certain system requirements
  • Apply the rules and styles of academic writing in producing reports, and work in a group to solve technical problems

Credits: 5

Schedule: 14.01.2021 - 25.03.2021

Teacher in charge (valid 01.08.2020-31.07.2022): Tarik Taleb, Yu Xiao

Teacher in charge (applies in this implementation): Tarik Taleb, Yu Xiao

Contact information for the course (applies in this implementation):

CEFR level (applies in this implementation):

Language of instruction and studies (valid 01.08.2020-31.07.2022):

Teaching language: English

Languages of study attainment: English


  • Valid 01.08.2020-31.07.2022:

    This course provides a theoretical and practical basis for protocol design and analysis, and investigates dynamics of Internet protocols from application developer's perspective. The course consists of case studies, such as evolution of HTTP, comparison between MQTT and CoAP, TCP extension for multipath operations, and comparison between V2X technologies. The case studies will combine theoretical analysis with empirical evidence acquired by experimentation.  

Assessment Methods and Criteria
  • Valid 01.08.2020-31.07.2022:

    Group assignments

  • Valid 01.08.2020-31.07.2022:

    Lectures 20 h, individual study 40 h, group assignments 75 h


Substitutes for Courses
  • Valid 01.08.2020-31.07.2022:


  • Valid 01.08.2020-31.07.2022:

    - Students should have basic programming skills (e.g. Python), because the course assignments include a lot of programming tasks. You can take for example CS-A1113 Basics in Programming beforehand.  

    -  Students should learn basics in Linux before taking this course. One option is to take ELEC-A7310 Linux Basics

    - In case you have never taken any networking course and would like to attend this course, we highly recommend you to learn basics of networking principles and TCP/IP protocols beforehand. You can for example take ELEC-C7420 Basic Principles in Networking, or at least read the related chapters in a textbook (e.g. J.F. Kurose and K.W.Ross, Computer Networking - A top-down approach, 6th edition, Addison Wesley). 

    -  We highly recommend students to take ELEC-E7130 Internet Traffic Measurements and Analysis beforehand. In case you have not taken this course, please prepare yourselves by studying the tutorials on network measurement listed on the Materials page. We also suggest you installing Wireshark on your machines beforehand.

SDG: Sustainable Development Goals

    8 Decent Work and Economic Growth

    9 Industry, Innovation and Infrastructure

    11 Sustainable Cities and Communities



Registration and further information