I Found a Free Computer Science Degree Hiding on GitHub
I Found a Free Computer Science Degree Hiding on GitHub
A computer science degree costs a small fortune. Much of the actual teaching material, though, sits on public course pages that anyone can open. The hard part is finding it.
Those pages are scattered across hundreds of school websites. Many hide inside old semester folders that search engines barely index. You could spend a whole weekend just hunting for a decent operating systems class.
So here's a shortcut I want to share. awesome-courses is a free GitHub list that gathers university CS courses whose lectures, notes and assignments are open to the public. More than 71,000 people have starred it. That kind of number usually means folks keep coming back.
What's inside the list
The repo holds over 200 courses sorted into 11 subjects. Algorithms, machine learning, security, graphics, compilers and statistics all get their own sections. Systems is the biggest one, with 38 classes on operating systems, databases, networks and distributed computing.
The schools are the real draw. MIT, Stanford, UC Berkeley, Carnegie Mellon, Cornell and Harvard show up again and again. Smaller programs like Swarthmore and Waterloo earn spots too.
Every entry carries small icons that tell you what the course offers:
- Lecture videos for people who learn by watching
- Notes you can skim or print
- Assignments and labs to practice on
- Readings like papers and textbook chapters
Those icons save real time. If you only want video lectures, scan for that one icon and skip everything else.
Where I'd start
Two hundred courses can freeze you up. So pick a lane and follow a short path. Here's the order I'd suggest for a beginner:
- CS50 from Harvard. It's built for majors and non-majors, with or without coding experience.
- CS 61A from Berkeley. This one teaches you how to think about programs, using Python.
- 6.006 from MIT. Expect divide-and-conquer, sorting, graphs and dynamic programming, plus old exams to test yourself.
- 15-213 from Carnegie Mellon. You'll finally see what your code does once it hits the hardware.
After that, follow your curiosity. Want to build things that scale? Try MIT's 6.824 on distributed systems. Into AI? Stanford's CS 231n covers neural networks for computer vision.
The honest downsides
This list has real flaws, and you should know them going in.
Many links point to a single past semester, often from 2014 to 2017. Some of those pages have moved or gone dark. When a link breaks, search the course number plus the school name. Professors often host a newer version of the same class.
There's also no curriculum here. The list is a pile of great material, sorted by topic but not by difficulty. That's why the starter path above matters.
The biggest hurdle is you. Nobody grades your work or checks your progress. Block out set hours each week, finish the assignments, and treat it like a class you paid for.
Should you bookmark it?
Yes. Even with dead links, this is one of the best free maps of university CS teaching out there. It costs nothing, and the course pages come from the people who teach these classes for a living.
Start with one course this week. Finish it before you open a second tab. You can browse the full list on GitHub, and if you find a class worth adding, the repo accepts contributions.