Course syllabus

Welcome to Distributed Systems 2024!

TDA596 (Chalmers), DIT240 (GU), 7.5 education credits, LP2 2024 / 2025

General Information

  • Course schedule (only accessible to registered students). Schedule & rooms: timeedit
  • LABS:  Lab 1, Lab 2 Lab 3 (compulsory) --  Lab 4 (optional)
  • In the first lecture, we will go over general information about the course.

 

Staff

The course is taught by:

Responsible for the labs are:

Course Representatives (randomly selected):

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 us personally.

 

Organization

The course will mainly follow a flipped-classroom format. The reason? we would like this to be a fun class and Distributed Systems topics related to theory can be very dull. The overall format for this year will be:

  • The course is divided into 6 parts: (1) Architectures, (2) Clocks & Time, (3) Naming, (4) Coordination, (5) Consistency & Replication, and (6) Fault-Tolerance. For each part, a guided material page (published each week along the course) introduces different material sources (slides, pre-recorded videos, book sections, review questions, etc) to help assimilate the material. We'll meet once a week to review the studied material through an interactive quiz coupled with Q&A.
  • Students will be expected to study the material on their own, either using the allocated lecture time, or some other time that they feel more comfortable with.
  • In addition to the theory sessions, we'll have live lectures on particular systems & paradigms: (1) Map-Reduce, (2) P2P Systems & Chord, (3) Large-scale / ML Systems, etc and if possible, guest lectures from industry covering more applications.

 

Course Book

We will use the reference book "Distributed Systems" by Marten van Steen and Andrew S. Tanenbaum; 4th edition, ISBN-10: 9081540637, ISBN-13: 978-9081540636. The book is available for free on the authors website (simply enter your email and you will receive your version by email). If you prefer a nice and heavy paper version, you can order it on Amazon.

 

Written Exams

The written exam will be held on:

  • 14 Jan 2025 am J

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.

For information on examination room etc, see the course's webpage on chalmers web.

 

How can I pass the course?

The course is graded on 100 with the following grades:

  <50 50-74 75-89 90
Chalmers students U 3 4 5
GU students G (from 85+) VG

There are two ways to pass the course:

1. Do the basic parts of the three mandatory labs (30 points), and go to the exam (70 points).
2. Do the labs with the extra (aka "labs" bonus parts, up to 50 extra points) and/or score points by answering the weekly review quiz (aka "lectures" bonus points, up to 30 points).  Each lab carries 10 pts for the mandatory part, and 10 pts for the bonus part. There are three mandatory labs, and one optional. You can score a 5/VG with the bonus points from the labs and review sessions only and never come to the exam!

 

Motivation

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 course material 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. If you attend our first lecture, we will all play a game to discover the beauty of the subject at hand.

Course summary:

Date Details Due