Awesome CS Courses: Free Computer Science Courses
Awesome CS Courses is a curated list of links to real university course pages that publish their lecture videos, notes, assignments, and exams for free, organized by subject area such as Systems. Reach for it when you want an actual course syllabus from a specific department instead of a repackaged online course; skip it if you need guided pacing, video-first lessons, or a certificate at the end.
What This Course Collection Offers
Awesome CS Courses is a GitHub-hosted directory built by prakhar1989 that points to university computer science courses making their materials public for free. Each entry names the course code, the university offering it, and a short description, then links to whatever that school actually posted: lecture videos, lecture notes, assignments, or readings.
Key Features of the List
- ✓A legend of icons marks each entry with what it actually has: Lecture Videos, Lecture Notes, Assignments/Labs, or Readings, so you know before you click.
- ✓Descriptions are not stub links. Each course lists its code, a bolded title, the university in italics, and a paragraph on what the course covers.
- ✓The Systems section pulls together courses on computer architecture, operating systems, distributed systems, networking, and systems programming.
- ✓Universities represented include UC Berkeley, Stanford, MIT, Caltech, Cornell, University of Waterloo, NYU, and University of Illinois Urbana-Champaign, among others.
- ✓A few entries name the instructor directly, like Ken Birman's Cloud Computing course at Cornell or Dan Grossman's parallelism materials at University of Washington.
- ✓Some courses link extras beyond notes and assignments, including old exam archives (CS 61C, CS 452) and a companion GitHub wiki for CS 241.
Who Benefits from This Resource
Awesome CS Courses suits developers and students who already know roughly what topic they want to study and would rather read directly from a university's own course page than sit through a repackaged online course. It fits someone hunting for a specific operating-systems or distributed-systems syllabus. It's a poor fit for someone who wants a guided, beginner-friendly on-ramp, since the entries assume you can self-direct through raw course material with no platform wrapped around it.
How to Use These Course Materials
- •Work a single course close to what you need, like CS 162's operating-systems syllabus or 6.824's distributed-systems labs, on your own schedule.
- •Compare how different schools teach the same subject: Stanford's CS 140, MIT's 6.828, and Cornell's CS 4410 are all operating-systems courses with different projects.
- •Use the legend icons to skip entries that only link lecture notes with no assignments, if hands-on practice matters more to you than reading.
- •Follow a course's own mirror when a university reorganizes its site, the way CS 241 points to a GitHub Pages copy at angrave.github.io.
Strengths
- ✓Descriptions come from real syllabi, not placeholder text, so you can judge fit before opening a link.
- ✓The icon legend flags what each entry actually contains before you click through.
- ✓Entries trace back to named universities and, often, named instructors, not an anonymous aggregator.
- ✓Systems coverage runs wide: GPU programming at Caltech, real-time OS work at Waterloo, cloud computing at Cornell.
Potential Drawbacks and Considerations
- △Links point to individual university course pages tied to a specific semester (titles like Spring 2016 or Fall 2014 repeat throughout), so pages can go stale when a department reorganizes its site.
- △There's no completion tracking, quizzes, or certificate. You read the syllabus and grade your own work.
- △The Systems section is the category documented here; whether other sections cover subjects like languages or theory to the same depth isn't confirmed in what's available.
- △What each entry actually includes varies by what the university originally posted. Some have lecture videos and old exams, others just a syllabus page.
- △The repository's license isn't listed in its GitHub metadata, so what you can do with the list itself beyond browsing isn't documented.
Other Platforms for Online CS Learning
Common Questions About the Courses
Awesome CS Courses tags each entry with lecture videos, lecture notes, assignments or labs, and readings using a legend of icons, though the exact mix depends on what the university actually published for that course.
Awesome CS Courses only includes courses that make their materials available online for free, according to the list's own introduction, and each entry links to material the university posted directly rather than through a paid intermediary.
The Systems section of Awesome CS Courses features UC Berkeley, Stanford, MIT, Caltech, Cornell, University of Waterloo, NYU, University of Illinois Urbana-Champaign, and other schools, each course written up by its own instructor.
Awesome CS Courses groups its entries into subject sections; the Systems section, for example, covers operating systems, computer architecture, distributed systems, networking, and systems programming from multiple universities.
Based on the courses documented here, like Stanford's CS 107 or UC Berkeley's CS 61C, Awesome CS Courses leans toward students who already have some programming background; whether other sections include true beginner courses isn't confirmed in what's available.
Related repositories
Still deciding about awesome-courses?
One click hands the question to an AI along with this page — see what it says about awesome-courses.
