Introduction to Information Theory (Fall 2020)

Program: Bachelor Mathematics, Informatics, AI, Physics & Astronomy (WI, WInf, IN, KI, NS)
Lecturer: Michael Walter
Teaching assistants: Freek Witteveen, Mees de Vries
Schedule: Nov-Dec 2020
Further information: DataNose, Canvas

The Canvas course page is the primary source for all course material. This page is offered only for your convenience. See also last year’s course homepage for an impression of what we will cover in this course.

Course description

Reading your email on the metro may not strike you as particularly memorable. Isn’t it remarkable, though, that – despite relying on a noisy cellphone signal underground – none of your messages arrive corrupted? In this course you will learn the mathematics of how this is achieved.

This course will give an introduction to information theory – the mathematical theory of information. Ever since its inception, information theory has had a profound impact on society. It underpins important technological developments, from reliable memories to mobile phone standards, and its versatile mathematical toolbox has found use in computer science, machine learning, physics, and even pure mathematics.

Starting from probability theory, we will discuss how to mathematically model information sources and communication channels, how to optimally compress information, and how to design error-correcting codes that allow us to reliably communicate over noisy communication channels. We will also see how techniques used in information theory can be applied more generally to make predictions from noisy data.

Students interested in writing a thesis in quantum information theory are also encouraged to follow Maris Ozol’s course Introduction to Quantum Computing.

We will discuss rigorous definitions and proofs, hence some “mathematical maturity” will be assumed. We will use basic probability theory throughout the course (but will remind you of the most important facts). In addition, part of the homework will require programming. You can use the programming language of your choice; examples and solution will be given in Python.

Lecture notes and video recordings

The video recording are available on Canvas.

Main reference is David J. C. MacKay’s textbook “Information Theory, Inference, and Learning Algorithms”, Cambridge (2003), which is available online. 📖



Learning objectives

At the end of the course, you will be able to:

We will check off these objectives as we move along in the course.


Lectures, exercises classes, self-study, and a short presentation.


The final grade will be determined by the following calculation:

60% exam grade + 30% homework grade + 10% presentation grade

In addition, your exam grade alone has to be at least a 5. The same rule applies for the re-sit exam.

There will be one homework problem set per week (in total 6), posted on the course homepage by Tuesday. You must submit your completed homework (on Canvas) on Monday the week after. We will ask you to collaborate and submit in groups. The solutions will be discussed in the Wednesday exercise class (among other things). Assignments will be accepted late only if you have extenuating circumstances (such as sickness or family emergency) and provided you confirm with the lecturer before the deadline. Your problem set with the lowest score will be ignored (this includes any problem set you did not submit).

Instead of having a midterm exam, we would like you to read about a topic in information theory and give a short presentation to your peers. You will present as a group, but everyone should speak for a few minutes. We will give you many examples (on Canvas) but you are free to pick your own topic (but please confirm it with us).

Everything that we discussed in class and on the homework is in principle in scope for the exam. We recommend that you revisit the homework problems and the exercises as a preparation. You are allowed to bring one self-prepared “cheat sheet” to the exam (A4 paper, hand-written, you can use both sides).