Course syllabus

Welcome to Distributed Systems 2021!

TDA596 (Chalmers), DIT240 (GU), 7.5 education credits, LP2 2021 / 2022



Why should I take this class? What will I learn? In a nutshell, we will introduce and discuss the underlying concepts and mechanisms that drive today's distributed systems such as the Internet, data centers, etc.  The lectures will provide you with the required knowledge, and the labs give you a hands-on experience in developing distributed systems and exploring their real-world challenges. For more details, have a look at this (very short) overview presentation.

If you attend our first lecture, we will all play a game to discover the beauty of the subject at hand.


  • Course schedule and presentation slide - only accessible to registered students
  • LABS: General Lab Info, Prelab, Lab 1, Lab 2, Lab 3, Lab 4 
  • Covid is the elephant in the room, so let us try to keep it outside by getting vaccinated if we can, staying home when we are sick, and making sure that all of us are safe!
  • In the first lecture you will learn about how we will run the course.  If you can not make it, ALL LECTURES will be recorded and uploaded.


The course is taught by yours truly:

  • Ahmed Ali-Eldin  (Some day I will update my Chalmers Webpages, but not today :-),
    • Here is a little bit about myself: I am a new'ish assistant professor at the NS division. Joined the division after three years at UMass Amherst. Before that, I spent 6.5 years in Umeå in Northern Sweden, where I obtained my PhD. I am from Egypt originally, and I have lived in Sweden, India, Egypt, and the US....

Responsible for the course is

  • Ahmed

Responsible for the labs are:

  • Johannes Binde <>
  • Samuel Rörgren <>
  • Jacob Thorselius Pedersen <>
  • Qing Lin <>
  • Julio Ponte Hernandez <>

Course Representatives (randomly selected):

  • David Hedgren <>
  • MPCSN        Priya Bajarh
  • MPCAS       Kayed Mahra
  • UTBYTE      Afonso Maria Outeiro Teixeira Pimentel
  • MPCSN     Assim Sulaiman Khaled
  • MPDSC     Apoorva Udayakumar



Your feedback is very important! As usual, we will use your feedback from the anonymous course evaluation and the feedback from the meetings with the course representatives to further improve the course. Additionally, your direct feedback is very welcome: please feel very invited to discuss the course and any suggestions you have with me personally.


While the class is done online, I would like this to be a fun class with as much  interaction and benefit as possible. There are many ways to teach this class, but here is a rough outline of what we will try this year.

  • All (theory) lectures  will be recorded and uploaded to Chalmers play,  YouTube, (any platform that the students prefer) before the date of the actual lecture. There will be two recorded lectures per week.
  • Students will be expected to watch the lectures on their own, either using the allocated lecture time, or some other time that they feel more comfortable with.
  • We will meet once weekly (on Monday), break out into smaller groups, and work on solving design/real problems.
  • I will be in-class and online during the other lecture times (the flipped lectures) for anyone who would like to  ask questions, or anyone who would like to have me explain the lecture the normal way.
  • We will aim to cover as much applications as possible, specially towards the end of the class. These lecture will be live, with either myself, or a guest lecturer presenting.

Course Book

Marten van Steen and Andrew S. Tanenbaum, "Distributed Systems", CreateSpace Independent Publishing Platform, ISBN-10: 1543057381, ISBN-13: 978-1543057386, Third edition (!). There might be different ISBN numbers for hard and soft cover etc. Digital copy: On the site of the authors, a digital copy is available (upon request) for free (note that we are using the third edition).


Written Exams

The written exam will be held on:

  • TBA

The examination will be based on:

  • The course book, the lecture notes, the lectures, and homework/labs.
  • The exam will challenge you to design, think, and discuss what you have learnt.


Links to the labs and other info:

Each lab has a deadline for which it needs to be submitted as a group. You can (re)submit up to 3 times. After 3 attempts, the submission system opens again in each re-exam (if needed). 

Course summary:

Date Details Due