Skip to content

The Open Source Computer Science Degree

A curated list of free university courses that together cover a standard CS degree.ForrestKnight/open-source-cs

Stars
23.8k
Forks
3.3k
Licence
MIT
Language
—
Last update
1.4 years ago
Type
Learning resource

No commits in over a year — check for forks or alternatives before adopting.

What it is

This is a list of free online courses from universities such as MIT, Stanford, Princeton, and Harvard, grouped into topics like programming, math, systems, theory, and applications. The author says the courses together meet the requirements of an undergraduate computer science degree, excluding general education. People use it as a self-directed study path in place of enrolling in a degree program.

  • Pick a starting course in the Computer Science Basics section and follow the listed prerequisite chain
  • Plan a multi-month study schedule using the listed weekly hour estimates
  • Find a free Algorithms or Operating Systems-adjacent course to deepen theory knowledge
  • Use the Unix section to learn command-line basics before programming courses

Great for

  • Self-taught learners who want a structured order of study
  • Students looking for free supplements to a degree or bootcamp
  • Developers who want to fill gaps in theory such as algorithms or systems
  • People who prefer self-paced study and can keep their own schedule

Not ideal for

  • People who need an accredited credential, since the README describes courses, not a degree, and does not mention certificates
  • Absolute beginners who have never written code, because several courses list prerequisites like basic programming knowledge
  • Anyone wanting a single tutorial, since this is a list of many separate courses with varying formats
Step-by-step guide: how to use The Open Source Computer Science DegreeInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Read it online

    Clone the repository

    git clone https://github.com/ForrestKnight/open-source-cs
  2. 2

    Run it

    • Open the README on GitHub and read the Computer Science Basics table
    • Sign up for the first course, such as Harvard's CS50x, on its linked platform
    • Work through the course at the listed weekly effort
    • Move to the next course in the listed prerequisite order
  3. 3

    Get the most out of it

    • Follow the prerequisite column to build a valid learning order instead of picking courses at random
    • Match your weekly time to the Effort column so you can plan realistic milestones
    • Start with the Unix and Computer Science Basics sections if you are new to programming
    • Pair the theory sections with the programming sections to see algorithms applied in code

Downloads

Strengths

  • Courses come from well-known universities and are free to take or audit according to the list's framing
  • Each entry lists duration, weekly effort, and prerequisites, which helps with planning
  • Prerequisite links show a sensible order from basics through theory and applications

Trade-offs

  • Many links go to third-party affiliate or tracking URLs, and some courses may require paid certificates; the README does not say which
  • Course availability and schedules can change, and the README's frequency information may be out of date
  • The list is curated by one person and the README does not explain how courses were chosen beyond their being reputable

How it compares

ProjectStarsTypeLevelUpdatedBest for
open-source-cs (this)23.8kLearning resourceintermediate1.4 years agoSelf-taught learners who want a structured order of study
computer-science211kLearning resourceadvanced4 months agoSelf-motivated adults who want a structured path through CS fundamentals
javascript-algorithms197kLearning resourcebeginner3 months agoStudents learning core computer science concepts in JavaScript
ciencia-da-computacao21kLearning resourcebeginner6 months agoBrazilian Portuguese speakers who want a structured self-study computer science curriculum
tech-interview-for-developer17.7kLearning resourcebeginner1.4 years agoKorean-speaking junior developers preparing for technical interviews
professional-programming51.7kCurated listbeginner10 days agoSoftware engineers who want to build professional habits and broader engineering judgment

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.