Lecture: Computer Networks

Basic Information

Content

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.

Learning Goals

After taking this course, you will be able to

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

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.