Lecture: Distributed Systems (WS25/26)

Distributed systems are everywhere in our daily lives, powering the services we use without us even noticing. From cloud platforms like Google Drive and Apple iCloud, to social networks such as Instagram and TikTok, to cryptocurrency such as Bitcoin and even AI chatbots such as ChatGPT, all rely on collections of interconnected machines working together as one system. This course will introduce you to the concepts and principles in building distribued systems. The lecture will be accompanied by exercise sessions for homework assignments.

Course In­form­a­tion

Learning Goals

After taking this course, you will be able to

  • Explain the basic concepts and principles of distributed systems (Knowledge and understanding)
  • Apply protocol details and properties to derive distributed system properties (Applying knowledge and understanding)
  • Explain the advantages and limitations of today’s popular distributed systems (Making judgements)
  • Demonstrate proficiency in systems programming by implementing distributed system protocols (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. 

 

Textbooks

  • Standard textbooks: Distributed Systems (4th edition, Van Steen, Tanenbaum)

Prerequisites

Since this is a third-year BSc course, it is expected that you already have knowledge about computer organization, computer networks, and operating systems.