# How to Find System Design Preparation Courses in the cs-video-courses Repository

> Find system design preparation courses in the Developer-Y/cs-video-courses repository documentation. Discover resources for operating systems distributed systems concurrency and more.

- Repository: [Developer-Y/cs-video-courses](https://github.com/Developer-Y/cs-video-courses)
- Tags: how-to-guide
- Published: 2026-03-02

---

**System design preparation courses are located in the [`README.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/README.md) file under "Systems Programming" (Operating Systems, Distributed Systems, Real-Time Systems) and "Software Engineering" (Concurrency), accessible via direct navigation or programmatic extraction.**

The **cs-video-courses** repository maintained by Developer-Y provides a curated index of university-level computer science video lectures. For engineers targeting system design preparation, the repository organizes essential material across four key sub-domains, all referenced through the master [`README.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/README.md) index.

## Locating Core System Design Topics

System design spans multiple disciplines. The repository structures these across distinct sections with specific line ranges in [`README.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/README.md).

### Operating Systems

Found under **Systems Programming → Operating Systems** (lines 223–227), this section covers process management, memory hierarchy, file systems, and kernel design. Look for courses like *15-213 Introduction to Computer Systems* from CMU and *Computer Systems: A programmer's Perspective* to build foundational knowledge.

### Distributed Systems

Located at **Systems Programming → Distributed Systems** (lines 246–250), this subsection addresses consensus algorithms, replication strategies, fault tolerance, and scalability patterns. Key offerings include *CS 677 - Distributed Operating Systems* (Umass) and *6.824 - Distributed Systems* (MIT), which are essential for understanding modern distributed architecture.

### Concurrency and Parallelism

Access this material under **Software Engineering → Concurrency** (lines 339–343). This section covers synchronization primitives, lock-free algorithms, and multicore programming. Notable entries include *CS176 - Multiprocessor Synchronization* (Brown University) and *UIUC ECE 408 / CS 408 Applied Parallel Programming*.

### Real-Time Systems (Optional)

For specialized system design requiring latency guarantees, explore **Systems Programming → Real-Time Systems** (lines 269–272). This section includes courses on scheduling algorithms and embedded control systems.

## Navigating the README.md Index

The repository uses [`README.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/README.md) as its primary navigation point. The "### Systems Programming" heading begins around line 214, containing nested subsections for the topics above. Each bullet links directly to public lecture series hosted on platforms like YouTube, MIT OCW, or university Panopto systems.

To browse manually:
1. Open [`README.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/README.md) in the repository root
2. Scroll to the "Systems Programming" section (≈ line 214)
3. Review the subsections for Operating Systems, Distributed Systems, and Real-Time Systems
4. Cross-reference with the "Software Engineering" section for Concurrency materials

## Programmatic Search Methods

Extract system design course listings programmatically using the following methods.

### Using grep to Extract Course Listings

Run this command from the repository root to surface all system-design-related entries:

```bash
grep -E -i "operating systems|distributed systems|concurrency|real[- ]time systems" README.md

```

This outputs the section headers and course links, allowing you to quickly scan available resources without manual scrolling.

### Python Script for Automated Extraction

Fetch and parse the raw Markdown programmatically:

```python
import requests, re

RAW_URL = ("https://raw.githubusercontent.com/Developer-Y/"
           "cs-video-courses/master/README.md")

text = requests.get(RAW_URL).text

# Grab the Systems Programming block

systems_block = re.search(r"### Systems Programming(.+?)---", text,

                         flags=re.S).group(1)

# Extract only the three sub-sections we care about

patterns = ["Operating Systems", "Distributed Systems", "Concurrency"]
for pat in patterns:
    sect = re.search(rf"- #### \*\*{pat}\*\*(.+?)(?=- #### |\Z)", systems_block,

                     flags=re.S)
    if sect:
        print(f"### {pat}\n", sect.group(1).strip(), "\n")

```

This script retrieves the Markdown snippets for the three primary sub-domains, formatting them for import into study planners or note-taking applications.

## Cross-Referencing with NOTES.md

Consult [`NOTES.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/NOTES.md) for supplementary metadata including semester dates, professor names, and special remarks about course quality or prerequisites. This file helps identify the most current and reputable lectures when multiple versions exist. The [`CONTRIBUTING.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/CONTRIBUTING.md) file provides guidelines for submitting new system design courses if you discover missing content.

## Summary

- **cs-video-courses** organizes system design preparation material across **Systems Programming** and **Software Engineering** sections in [`README.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/README.md)
- **Operating Systems** content appears at lines 223–227, **Distributed Systems** at 246–250, **Concurrency** at 339–343, and **Real-Time Systems** at 269–272
- Use `grep` with keyword patterns or the provided Python script to extract course listings programmatically
- Verify course currency using [`NOTES.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/NOTES.md) metadata before beginning your study plan
- All links point to public platforms including YouTube playlists and MIT OpenCourseWare

## Frequently Asked Questions

### What specific courses should I prioritize for system design interviews?

Focus on **6.824 Distributed Systems** (MIT) for consensus and replication, **15-213** (CMU) for operating systems fundamentals, and **CS176** (Brown) for concurrency primitives. These three cover the core competencies tested in senior engineering interviews: distributed architecture, low-level system behavior, and concurrent programming.

### How do I verify if the YouTube or university links are still active?

The repository is community-maintained, but link rot occurs. Check [`NOTES.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/NOTES.md) for the last verified semester date, then manually test the URL before adding a course to your study schedule. If you find a dead link, submit an update via [`CONTRIBUTING.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/CONTRIBUTING.md) following the repository's formatting guidelines.

### Can I contribute a new system design course to the list?

Yes. Follow the structure in [`CONTRIBUTING.md`](https://github.com/Developer-Y/cs-video-courses/blob/main/CONTRIBUTING.md) and ensure the course fits within the existing taxonomy—either under **Systems Programming** for OS, Distributed Systems, or Real-Time Systems, or under **Software Engineering** for Concurrency. Include the full playlist URL and verify the content is publicly accessible.

### What's the difference between the Operating Systems and Distributed Systems sections?

**Operating Systems** (lines 223–227) covers single-machine architecture including kernels, memory management, and file systems. **Distributed Systems** (lines 246–250) focuses on multi-machine coordination, covering consensus algorithms like Raft/Paxos, replication strategies, and fault tolerance across networked nodes. Both are essential for comprehensive system design preparation.