Jesse A. Green / notebook

cs-video-courses User Guide

Generated May 2026 from Developer-Y/cs-video-courses at fcd263d

AI-generated documentation. The library is checked by sampling (three repositories so far); this guide was not individually reviewed. Verify against the project before relying on it.

What this is: A maintained index of 748+ free online video lectures for university-level Computer Science courses, organized into 43 topic categories. Every entry links directly to the original source — a university site, YouTube playlist, or OpenCourseWare archive.

It is not a course platform, a MOOC aggregator, or a video host.


1. Quick Start

Get to the list in one step:

https://github.com/Developer-Y/cs-video-courses

The entire catalog is the README.md file on that page. Everything is on one scroll — click a category in the table of contents at the top, or press Ctrl+F / Cmd+F to search by professor name, course number, or topic.

Tip

If you already know what you want (e.g. "MIT 6.006" or "Andrew Ng"), browser in-page search is faster than scrolling. Open the README and press Ctrl+F.

Key features:

  • 748+ courses from MIT, Stanford, CMU, UC Berkeley, Princeton, Harvard, IIT, and dozens of other universities
  • 43 topic categories from Intro CS to Quantum Computing
  • No registration, no paywall — every listed link is directly watchable
  • Description-free entries — the list is designed for fast scanning, not reading
  • Community-maintained via GitHub pull requests

Prerequisites: A browser and internet access. No software to install.


2. How to Browse the List

The canonical entry point is README.md in the root of the repository. Three ways to find a course:

  1. Table of contents — every category is linked at the top of the README. Click the topic (e.g. "Machine Learning", "Database Systems") and jump there.
  2. Browser in-page search — search for a course number (CS 186), a professor's name (Andrew Ng), a university abbreviation (MIT, CMU), or a keyword (dynamic programming). Fastest when you know what you want.
  3. Read NOTES.md first if you are new. It explains the entry format and link policy.

Note

GitHub's "outline" button in the file viewer renders the table of contents as a sidebar — useful for navigating 43 categories on mobile or screen readers.


3. Reading a Course Entry

Entries are markdown bullets following a consistent format:

- [<Course-Number> - <Course-Name> - <Year/Semester> - <Prof Name> - <University>](<link>) ([Video Playlist](<videos>))

What the metadata means

Field Example Purpose
Course number CS 186, 6.006, COMP6991 Each university uses its own code. Useful for finding notes and exams on the course's own site.
Course name Introduction to Algorithms Human-readable topic.
Year / semester Fall 2020, Spring 2011 Prefer more recent offerings — they reflect current tooling.
Prof name Erik Demaine, Andrew Ng Different instructors teach the same course very differently.
University MIT, Stanford, UC Berkeley, IIT Kanpur Indicates the course's home and usual rigor.
Primary link Course page on the university site Authoritative source for syllabus, readings, problem sets.
Optional video link YouTube playlist, OCW archive Direct playable video when the primary page does not embed lectures.

Why descriptions are missing

The list is deliberately description-free. From NOTES.md: 80–90% of courses on the same topic overlap heavily in content, subjective reviews do not scale to 700+ entries, and descriptions turn a 15-page index into a 60-page index. If you want a description, open the course's own link — every university page has its own syllabus.

Tip

Try the first two lectures of a course before committing. Different professors diverge on notation, depth, and pacing. The first hour usually tells you whether the course suits you.


4. Full Category Directory

The list groups 748+ courses into 43 categories arranged roughly foundational → specialist.

Foundations

# Category What you will find
1 Introduction to Computer Science First-year programming (Python, Racket, Scheme, C++), CS50, 6.0001/6.001, BJC
2 Data Structures and Algorithms Arrays/lists/trees/graphs, algorithm analysis, advanced algorithms
3 Math for Computer Scientist Discrete math, linear algebra, probability, information theory, logic

Systems

# Category What you will find
4 Systems Programming: Operating Systems xv6, Linux internals, scheduling, virtual memory
5 Systems Programming: Distributed Systems MIT 6.824, Paxos/Raft, MapReduce, consensus
6 Systems Programming: Real-Time Systems Scheduling, worst-case execution time, embedded real-time
7 Database Systems CMU 15-445, Berkeley CS 186, query optimization, transactions
8 Computer Networks Stanford CS 144, TCP/IP, routing, network security
9 Computer Organization and Architecture CPU design, memory hierarchy, ISA, parallelism
10 Embedded Systems Microcontrollers, firmware, IoT architectures
11 Real time system evaluation Benchmarking, profiling, verification of real-time software

Software Engineering

# Category What you will find
12 Software Engineering: Object Oriented Design Patterns, SOLID, encapsulation, inheritance hierarchies
13 Software Engineering: Software Engineering Process, testing, requirements, team workflow
14 Software Engineering: Software Architecture Large-system design, microservices, architectural styles
15 Software Engineering: Concurrency Threading, locks, message-passing, async/await
16 Software Engineering: Mobile Application Development iOS, Android, cross-platform frameworks

AI / ML / Data

# Category What you will find
17 Artificial Intelligence Search, planning, constraint satisfaction, knowledge representation
18 Machine Learning: Introduction to Machine Learning Andrew Ng, Tibshirani, foundational ML courses
19 Machine Learning: Data Mining Frequent patterns, clustering at scale, stream mining
20 Machine Learning: Probabilistic Graphical Modeling Bayes nets, Markov random fields, variational inference
21 Machine Learning: Deep Learning CNNs, RNNs, transformers, foundation-model training
22 Machine Learning: Reinforcement Learning David Silver's course, DeepMind lectures, policy gradients
23 Machine Learning: Advanced Machine Learning Graduate-level topics, theory, modern architectures
24 Machine Learning: Natural Language Processing CS 224N, classic NLP, neural NLP, attention
25 Machine Learning: Generative AI and LLMs LLM training, RLHF, prompt engineering, model internals
26 Machine Learning: Computer Vision Classic CV, CS 231N, 3D vision, generative imagery
27 Machine Learning: Time Series Analysis Forecasting, state-space models, econometrics crossover
28 Machine Learning: Optimization Convex optimization, Boyd's course, non-convex methods
29 Machine Learning: Unsupervised Learning Clustering, dimensionality reduction, generative models
30 Machine Learning: Misc Machine Learning Topics Specialized ML subtopics that don't fit the other buckets
31 Image Processing and Computer Vision Pre-ML image processing, classical CV algorithms

Specialized / Interdisciplinary

# Category What you will find
32 Web Programming and Internet Technologies Stanford CS 142, full-stack web, web protocols
33 Theoretical CS and Programming Languages Complexity, computability, types, compilers, PL semantics
34 Security Applied cryptography, systems security, web security, reverse engineering
35 Computer Graphics Rendering, shaders, animation, simulation
36 Computational Physics Numerical methods for physics, simulation
37 Computational Biology Sequence alignment, phylogenetics, protein structure
38 Quantum Computing Quantum algorithms, complexity, error correction
39 Robotics and Control Kinematics, control theory, SLAM, perception
40 Computational Finance Pricing, risk, Monte Carlo, stochastic calculus
41 Network Science Graph structure in real networks, epidemics, community detection
42 Blockchain Development Cryptocurrencies, smart contracts, consensus protocols
43 Misc Anything that defies the other categories

5. Highlights by Category

Widely-cited entry points from each major area — popular first stops, not the only or "best" entries.

Introduction to CS

  • CS 50 (Harvard, David Malan) — the single most recommended intro course on the internet.
  • 6.0001 / 6.001 (MIT) — Python and SICP/Scheme. 6.001 is the classic "SICP" course.
  • CS 61A (UC Berkeley) — Structure and Interpretation of Computer Programs, Python edition.

Data Structures & Algorithms

  • MIT 6.006 — Erik Demaine's introduction to algorithms.
  • Robert Sedgewick's Princeton algorithm courses.
  • MIT 6.046 (advanced algorithms).

Operating Systems

  • MIT 6.828 / 6.S081 — xv6, the definitive hands-on OS course.
  • CMU 15-410 — kernel project course.

Distributed Systems

  • MIT 6.824 (Robert Morris) — the distributed-systems course of record.
  • Stanford CS 244B.

Databases

  • CMU 15-445 (Andy Pavlo) — relational internals, query optimization, storage.
  • Berkeley CS 186.

Machine Learning

  • Stanford CS 229 (Andrew Ng).
  • Stanford CS 231N (computer vision).
  • Stanford CS 224N (NLP).
  • David Silver's RL course (DeepMind).
  • Stephen Boyd's Convex Optimization course.

Compilers / PL Theory

  • Stanford CS 143 (Aiken).
  • CMU 15-150 (functional programming).

Security

  • MIT 6.858 (Computer Systems Security).
  • Stanford CS 253 (Web Security).
  • Applied Cryptography from Christof Paar.

Quantum Computing

  • MIT 8.370x / 18.435.
  • Peter Shor's lectures.
  • Scott Aaronson's courses.

Note

The list does not grade or review courses — it lists them. Quality and teaching style vary between professors and universities. Try the first couple of lectures from a few options before committing.


6. Picking a Course to Start With

The list does not prescribe an order, but it links to several official curriculum guides you can use as scaffolding:

A pragmatic self-study path

If you are starting from scratch:

  1. Intro programming — CS 50 or 6.0001.
  2. Discrete math — any of the Math for CS courses.
  3. Data structures & algorithms — MIT 6.006.
  4. Computer systems — CS 61C (Berkeley) or an equivalent architecture course.
  5. Operating systems — MIT 6.828 or 6.S081.
  6. Databases — CMU 15-445.
  7. Networks — Stanford CS 144.
  8. Distributed systems — MIT 6.824.
  9. Specialize — pick the category (ML, security, graphics, PL) that matches your goals and go deep.

Warning

Watching without coding leaves 80% of the value on the table. Most courses assume you have done the lab and problem-set work yourself. A course watched passively is a course incompletely learned.


7. Contributing

Contributions are welcome. The full contract is in CONTRIBUTING.md, summarized here.

What is accepted

  • University-level courses with comprehensive lecture material covering a subject in ample detail.
  • Direct video links — the videos must be playable without registration or platform signup.

What is rejected

  • 4–5 hour MOOCs that skim a topic.
  • Small tutorials, bootcamp ads, YouTube channel promotions.
  • Courses whose videos are only accessible through a paid platform.
  • Empty issues filed to pad a GitHub contributor count (spammers are blocked).

Entry format to follow

- [<Course-Number> - <Course-Name> - <Year> - <Prof Name> - <University/Platform>](<link>) ([Video Playlist](<link>))

Match the spacing, separator, and link structure of the surrounding entries exactly.

Submitting the PR

  1. Fork the repo.
  2. Edit README.md.
  3. Open a pull request on master.
  4. Describe briefly why the course qualifies (which university, what level, what topics it covers).

The maintainer reviews PRs directly — there is no bot or CI check.

Important

Pull requests fixing dead links are preferred over filing issues. If you find a broken link, submit the fix directly rather than reporting it.


  • Open a GitHub issue.
  • Title it clearly: Broken link: <Course Number> <University>.
  • Paste the broken URL and, if found, the new or archived URL.
  • Link to a Wayback Machine snapshot (web.archive.org) if the video is gone entirely — the list preserves the historical record for high-quality lectures.

9. Requesting a Course Takedown (for professors)

If you are a professor and your course is listed, you can have it removed. From NOTES.md:

If you are University Professor for any course listed in this repository and You would like your course to be removed from the list, please raise a pull request with comment stating its your content and you would like it to be removed.

The process:

  1. Open a pull request removing the specific line for your course from README.md.
  2. In the PR description, state that the course is yours and that you are requesting removal.
  3. The maintainer will review and merge.

10. FAQ

Q: Is this an "awesome" list?

Effectively yes — it follows the same pattern (curated, README-only, GitHub-hosted, PR-driven) as the awesome-* ecosystem, though it is not formally branded awesome-cs-courses.

Q: Why are there no ratings or reviews?

From NOTES.md: the maintainer rejected descriptions and reviews because they do not scale, introduce subjectivity, and triple the file size without meaningfully improving discoverability. Use the course's own site for syllabi and reviews.

Q: Do all courses have free video access?

Yes, by policy. The list rejects entries that require registration before you can watch. If you find a link that has become paywalled, report it as broken.

Q: Are assignments, problem sets, and lecture notes included?

Not directly. The list points at the course page, where the professor publishes (or does not publish) those materials. When excellent notes exist at a non-obvious URL, contributors sometimes add a second link inline.

Q: Can I get certificates from these courses?

Not from this list. For certificates you need to enroll officially with the university, edX, Coursera, etc.

Q: The README is huge — is there a searchable site?

Only GitHub's own file viewer (which supports browser in-page search) and the outline panel. There is no separate website.

Q: How often is it updated?

Via community pull requests whenever new courses appear or old ones change URL. The commit history shows the cadence.

Q: I'm not a CS student — can I use this?

Yes. Self-learners, engineers re-skilling, data scientists filling in CS foundations, and mathematicians crossing over all use the list. Start with the introductory sections and treat the prerequisite charts as an implicit learning graph.

Q: Can I use it offline?

Clone the repo and you have the full index offline. The actual video lectures are hosted elsewhere and require internet access.

Q: How do I pick between two courses on the same topic?

Try the first two lectures of each. The one whose first hour feels clear and well-paced is usually the one you will finish.