Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS414

System Design Case Studies

Barcelona Campus
Jul 20, 2026 - Aug 07, 2026
This course explores the design of large-scale software systems, teaching students how to build scalable, consistent, and highly available architectures inspired by real-world platforms.
Barcelona Campus
Jul 20, 2026 - Aug 07, 2026
Elena Anyusheva

Faculty

Elena Anyusheva

Freelance Software Engineer

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

6 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

System ArchitectureData ArchitectureDatabasesGathering and Managing the RequirementsLarge Scale Real-life Applications
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

Modern software applications are large and complex. However, there are common patterns and approaches to designing architectures that satisfy functional requirements while supporting scalability, consistency, and high availability.

In this course, we will examine architectures that underpin large-scale, real-world systems such as Uber, Yelp, TinyURL, and Ticketmaster. Through analysing these systems, we will trace the evolution of a system serving tens of users into one capable of serving millions.

Learning highlights

  • Real-world applications consist of multiple components, including a load balancer, database, message queue, and object store (such as S3). We will explore how these components work together to build reliable and useful applications. Much of the programme is dedicated to in-depth analysis of case studies, including Uber, TinyURL, Ticketmaster, and the Twitter newsfeed.
  • Software runs on hardware and network infrastructure that is prone to faults. We will learn how to design systems that remain reliable in the face of failure. Students will develop the ability to present and defend their system designs effectively. They will also work collaboratively to discuss the trade-offs between different solutions.

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Session 1

System Design Process: Framework

Tuesday
2

Session 2

Case study: Design Twitter Newsfeed

Wednesday
3

Session 3

Relational Databases Deep Dive

Thursday
4

Session 4

Case Study: Design TinyURL

Friday
5

Session 5

Case study: Design TicketMaster

Monday
6

Session 6

Sharding and Replication Deep Dive

Tuesday
7

Session 7

Case study: Design Distributed key-value Store

Wednesday
8

Session 8

Kafka Deep Dive

Thursday
9

Session 9

Case study: Design Web Crawler

Friday
10

Session 10

Full-text Search: ElasticSearch Deep Dive

Monday
11

Session 11

Case study: Design Yelp

Tuesday
12

Session 12

Redis Deep Dive

Wednesday
13

Session 13

Case study: Design Uber

Thursday
14

Session 14

Case study: Design a Rate Limiter

Friday
15

Session 15

Final presentation

Prerequisites

Experience building multi-component applications (study projects are ok)

Acquaintance with distributed systems

Acquaintance with SQL databases

Methodology

The course mainly consists of case studies of different systems. The common framework for approaching a design will be given in the first session.

Students will be working in groups of up to 3 people on a final project. The goal of the final project is to design the system of students’ choice. The system may be their existing or a new project. Implementing the systems, e.g. writing code is not required. However the system design should be detailed enough to implement the system.

Each session will consist of a lecture and a quiz based on the lecture. An important part of the course is class discussions and presentations. During practical sessions, students will work with technologies in a Docker container to gain hands-on experience. A homework assignment will be given to reinforce classroom learning.

Grading

The final grade will be composed of the following criteria:
50% - Homework
20% - Final Quizz
10% - Final Project Presentation
10% - Participation
10% - Class Quizzes
At the end of each lecture, students will complete a short quiz to assess their understanding of the material covered.Throughout the course, students will work on a final project in which they design a system for either an existing or a new project. Students will present their projects during the final session or as part of the discussion segment of another session.
Elena Anyusheva

Faculty

Elena Anyusheva

Freelance Software Engineer

Elena has 10 years of experience as a Software Engineer. Elena worked at Google, Redpanda and Confluent. Her main interests are distributed systems, data streaming and software architecture. Elena holds a M.S. degree in Applied Mathematics and Informatics from Moscow Institute of Physics and Technology.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

System Design Case Studies

by Elena Anyusheva

Total hours

45 Hours

Dates

Jul 20 - Aug 07, 2026

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.