Jump to: Audience Contents Dates Grading Registration Instructors Assistant Literature

Course materials, exercise sheets etc. are available in the CMS.


This core lecture (Stammvorlesung) addresses Bachelor and Master students in Computer Science and related programs. Bachelor students must have passed the base lecture Programming 1. The lectures Math 3 (Stochastics) and Programming 2 are recommended. The language of the course is English; the language of the programming lab is C.


The course will explain data networks. Internet protocols will be used to motivate and explain basic concepts in data networks, as the Internet is today's data network par excellence. The lecture is split into four roughly equivalent parts: (1) A conceptual overview, (2) network models, (3) concrete solutions, and (4) a programming lab.

Conceptual Overview

Weeks -17 (-April), no exercise groups
Main lecturer: Hermanns

Based on the first five chapters of the book by Kurose/Ross, but omitting many technical details, you will learn about the challenges of making a possibly world-wide data network work, about the structure of the solution we know as the Internet, and about its implementation from a very high-level view.

Network Models

Weeks 18-21 (May), weekly exercise groups
Main lecturer: Wolf

In the second part of the lecture, you will learn how to model a network and analyze its performance characteristics. This part is inspired by Chapter 3 of the book by Bertsekas/Gallager.

Concrete Solutions

Weeks 22-29 (June-July), weekly exercise groups
Main lecturer: Hermanns

We will revisit the problems and solutions sketched in the first part in significantly more detail, covering the full details of subjects such as error correction, routing or medium access. We will mainly draw on the books by Kurose/Ross and Bertsekas/Gallager, supplemented by other sources.


Weeks 25- (July-), weekly office hours till week 29, on-demand support thereafter
Organized by: Hartmanns

To conclude our tour of data networks and the Internet, you will experience the challenges—and fun!—of implementing (parts of) such a network yourself.



Lectures take place between 11 April and 21 July at the following times:

Mon   08:30-10:00   E1 3, HS 002
Thu   08:30-10:00   E1 3, HS 002


Tutorials take place on the following days, starting from 10 May and ending on 27 July:

Tue   14:00-16:00   E1 3, SR 107
Tue   16:00-18:00   E1 3, SR 016
Wed   08:30-10:00   E1 3, SR 015
Wed   10:00-12:00   E1 3, SR 107


There will be three written exams, one for each of the first three parts of the lecture, denoted EX1 through EX3. For each exam, there will also be a re-exam (REXi); REX3 will be an oral exam. Participation in the re-exams is independent of participation in the regular exams. The exam schedule is as follows:

REX1: Sat, 2011-04-30, 11:00-12:00
REX1: Wed, 2011-05-18, one hour in 18:00-20:00
REX2: Sat, 2011-06-18, one hour in 09:00-10:30
REX2: Fri, 2011-09-30, 13:30-14:30
REX3: Thu, 2011-09-29, 13:30-14:30
REX3: week 42, likely 17 or 18 October

Programming Lab

The fourth part of the lecture is a programming lab. The assignment will be announced shortly after EX2. We will require completion of a first milestone by the end of the lecture period and approval of the complete project before 23 September. Working in groups will be mandatory; the group size will be three students.


Your grade will be calculated from the results of the exams, their re-exams, and the lab. Informally, to pass the course, you have to pass EX1 (or REX1), at least one of EX2 (or REX2) and EX3 (or REX3), and successfully complete the lab. Formally:

In each exam or written re-exam, you can achieve up to 60 points. Oral re-exams will be graded directly. For each written exam, there will be a monotonically decreasing function mapping points to numbers in [1, 4] ∪ {5.0}. If you pass the programming project, you can achieve a bonus in the range [0, 1]. Let N(EXi)/N(REXi) denote the number (or grade) you achieved in an exam. By abuse of notation, we use EXi = min{N(EXi), N(REXi)}. Furthermore, let P be true iff you passed the lab, and BP the bonus you achieved. Your final grade will then be calculated as follows:

Final number =  if P ∧ EX1 ≤ 4.0 ∧ min{EX2, EX3} ≤ 4.0
then if max{EX2, EX3} ≤ 4.0 then ⅓  (EX1 + EX2 + EX3) - BP else 4.0
else 5.0
Final grade =  Final number rounded to grades (where e.g. 1.5 is rounded to 1.3).





  • James F. Kurose, Keith W. Ross: Computer networking: a top-down approach featuring the internet. 3rd ed. Addison-Wesley, 2005. [Library]
  • Dimitri Bertsekas, Robert Gallager: Data networks. 2nd ed. Prentice Hall, 1992. [Library]

Other References

  • Andrew S. Tanenbaum: Computer networks. 4th ed. Pearson Education, 2003. [Library]
  • Larry L. Peterson, Bruce S. Davie: Computer Networks - A Systems Approach. 3rd ed. Morgan Kaufmann, 2003. [Library]

Jump to: Audience Contents Dates Grading Registration Instructors Assistant Literature