Credits: 5

Schedule: 09.01.2020 - 19.03.2020

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

Responsible teacher:

Yu Xiao yu.xiao(at)

Teaching Period (valid 01.08.2018-31.07.2020): 

III - IV 2018-2019 (Spring), III - IV 2019-2020 (Spring)

Learning Outcomes (valid 01.08.2018-31.07.2020): 

Learning outcomes: 
- Students will be able to describe the criteria of protocol design, and analyze the design considerations of network protocols.
- Students will be able to measure the performance of network protocols, and analyze the impacts of different design strategies.

Content (valid 01.08.2018-31.07.2020): 

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 802.15.4 and Zigbee. The case studies will combine theoretical analysis with empirical evidence acquired by experimentation.  

Assessment Methods and Criteria (valid 01.08.2018-31.07.2020): 

Group assignments, lecture diaries

Workload (valid 01.08.2018-31.07.2020): 

Lectures 20 h, individual study 30 h, lecture diaries 5 h, group assignments 80 h

Substitutes for Courses (valid 01.08.2018-31.07.2020): 


Course Homepage (valid 01.08.2018-31.07.2020):

Grading Scale (valid 01.08.2018-31.07.2020): 


Registration for Courses (valid 01.08.2018-31.07.2020): 


Further Information (valid 01.08.2018-31.07.2020): 

Language class 3: English

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


Students should have basic programming skills (e.g. Python), because the course assignments include programming tasks. You can take for example CS-A1113 Basics in Programming beforehand. It would in practice also be easier for you to complete the assignments, if you have experience with web programming. 

-  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. 

- Group work is included, so make sure you will be committed to group work during the course.


Registration and further information