Lecture: Computer Networks (WS25/26)

In this lecture-based course we will explore the principles underlying the design of computer networks and the Internet. We will discuss the layered architecture of the network stack and dive into the network protocols at each layer that make data communication happen from one place to another. Specific topics that will be covered include modulation, addressing, packet switching and forwarding, routing, reliable delivery, congestion/flow control, and applications like DNS, world-wide-web, and video streaming. The lecture will be accompanied by exercise sessions for homework assignments.

Cour­se In­for­ma­ti­on

Learning Goals

After taking this course, you will be able to

  • Explain the basic principles of computer networks (Knowledge and understanding)
  • Describe the layered architecture and explain the essential functions in these layers (Knowledge and understanding)
  • Apply basic physics, information theory, and network protocol properties to derive network properties (Applying knowledge and understanding)
  • Explain the advantages and limitations of today's popular networking protocols (Making judgements)
  • Demonstrate proficiency in network programming by implementing network applications (Applying knowledge and understanding)

Method of Assessment

The course goals will be assessed by a final written exam (100% of the final grade). Throughout the course, there will be non-graded exercises to help with the preparation for the exam. There will also be two project assignments and passing each of them can bump up your final grade by one step (max. two bonus steps).

Textbooks

  • Andrew S. Tanenbaum, David J. Wetherall. Computer Networks (5th edition).
  • Larry Peterson, Bruce Davie. Computer Networks: A Systems Approach (online at book.systemsapproach.org/).

Prerequisites

Since this is a third-year BSc course, it is expected that you already have knowledge about computer organization, operating systems, systems programming with C, and other programming languages like Python.