Logo
flag

Distributed Systems

Logo

Please rate the course

0.0
Category:
Language:
English
Duration:
10:05:49
Number of lessons:
13
Added date:
07/04/2025
Rating:
0.0

Course short description

With the growth in the number of computers, they have not only increased in quantity, but also became distributed. If previously businesses aimed to purchase increasingly powerful mainframes, today even small applications often run on multiple machines simultaneously. Distributed systems is the science of making decisions related to trade-offs in such an architecture.

I would like to say that this course will give you the superpower to build any distributed systems… but you will quickly realize that it's not that simple :)

More realistically - my goal: to give you the calmness to accept constraints that cannot be avoided, courage to change what can be changed, and wisdom to distinguish one from the other.

A bit about the basic knowledge

Distributed systems are the intersection of operating systems, networks, and databases.

For most students, it makes sense to leave this topic for later. In the course, I will assume that you are familiar with the basic concepts of these areas.

But! If you can't wait to dive into the topic - don't wait. You can always start here and then, if necessary, return to other courses to fill in the gaps.

Course structure

The course is built around the structure of the excellent textbook Designing Data-Intensive Applications (we will refer to it as DDIA).

Though not an academic work in the classical sense, it beautifully combines both principles and practice of building distributed systems. Kleppmann brings much-needed pragmatism to this topic, without sacrificing theoretical depth. This is my favorite book on the subject overall.

Comment from Oz:

Currently, I am actively working on the course and conducting live seminars where I discuss the main concepts.

Recordings are posted as they are conducted, and all active CS Primer subscribers can participate. Even if you do not attend the live sessions - I recommend keeping an eye on the schedule and taking the course synchronously.

Distributed systems are a more conceptual topic, so we will rely on seminars, a project component (for example, implementing a distributed key-value store), as well as system design problem-solving.

Write your comment

Logo