@Jolyne_AI: A course list on GitHub hailed by countless self-learners as a 'computer science bachelor's degree substitute': open-source-cs, already with 20k+ Stars. It curates free open courses from top universities like MIT, Stanford, and Princeton, restructured along the traditional CS undergraduate curriculum: from introductory to advanced levels, …
Summary
A curated list of open-source computer science courses on GitHub, open-source-cs, featuring free public courses from top universities like MIT and Stanford, arranged according to the undergraduate curriculum. Already with 20k+ Stars, it's ideal for self-learners seeking systematic study.
View Cached Full Text
Cached at: 06/27/26, 07:52 AM
On GitHub, there is a course list hailed by countless self-learners as a “computer science undergraduate substitute”: open-source-cs, which has already garnered over 20,000 stars.
It reorganizes free open courses from top universities like MIT, Stanford, and Princeton along the traditional CS undergraduate curriculum path—from introductory to advanced, from theory to engineering. The learning roadmap is crystal clear; follow it and you can steadily progress.
It covers programming, mathematics, systems, algorithms, and applications comprehensively. Each course is annotated with duration, difficulty, and prerequisites, helping you avoid pitfalls, stay on track, and never discover halfway through that you’ve “taken things in the wrong order.”
GitHub: http://github.com/ForrestKnight/open-source-cs
You will systematically master:
- Computer Science Basics: Build a solid foundation with Harvard CS50
- Programming Skills: Duke & University of Washington’s systematic training in Java and programming languages
- Mathematical Foundation: MIT Calculus + UT Austin Linear Algebra, covering the hardcore required courses
- Systems Principles: Build a modern computer from scratch, truly understanding “why it runs this way”
- Algorithms & Theory: Princeton Algorithms & CS Theory, developing problem-solving and proof skills
- Applied Domains: Practical modules in software engineering, machine learning, databases, cryptography, and more
All courses come from renowned university open course platforms and are completely free. Perfect for anyone who wants to systematically learn computer science following an undergraduate curriculum: use this as your learning map, and never learn by luck again.
ForrestKnight/open-source-cs
Source: https://github.com/ForrestKnight/open-source-cs
The Open Source Computer Science Degree
This is a curated list of free courses from reputable universities like MIT, Stanford, and Princeton that satisfy the same requirements as an undergraduate Computer Science degree, minus general education.
Computer Science Basics
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Intro to Computer Science (https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x) | Harvard | 10 weeks | 10-20 hours/week | self-paced | none |
Programming
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Java Programming: Solving Problems with Software (https://imp.i384100.net/GjkPGV) | Duke | 4 weeks | 4-8 hours/week | twice a month | none |
| Java Programming: Arrays, Lists, and Structured Data (https://imp.i384100.net/15knRR) | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Solving Problems with Software |
| Object Oriented Programming in Java (https://imp.i384100.net/ZdznBq) | Duke | 6 weeks | 4-6 hours/week | every week | Java Programming: Arrays, Lists, and Structured Data |
| Data Structures and Performance (https://imp.i384100.net/oevm0b) | Duke | 6 weeks | 6-10 hours/week | every week | Object Oriented Programming in Java |
| Java Programming: Principles of Software Design (https://imp.i384100.net/zavZrO) | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Arrays, Lists, and Structured Data |
| Java Programming: Build a Recommendation System (https://imp.i384100.net/n1vro6) | Duke | 4 weeks | 3-6 hours/week | once a month | Java Programming: Principles of Software Design |
| Programming Languages, Part A (https://imp.i384100.net/6b13oK) | UW | 5 weeks | 8-16 hours/week | once a month | Object Oriented Programming in Java |
| Programming Languages, Part B (https://imp.i384100.net/2rebMz) | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part A |
| Programming Languages, Part C (https://imp.i384100.net/Ryogm9) | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part B |
Math
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Calculus 1A: Differentiation (https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.1x/) | MIT | 12 weeks | 6-10 hours/week | self-paced | pre-calculus (https://www.edx.org/course/precalculus-asux-mat170x) |
| Calculus 1B: Integration (https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.2x/) | MIT | 15 weeks | 6-10 hours/week | self-paced | Calculus 1A: Differentiation |
| Calculus 1C: Coordinate Systems & Infinite Series (https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.3x/) | MIT | 8 weeks | 6-10 hours/week | self-paced | Calculus 1B: Integration |
| Linear Algebra - Foundations to Frontiers (https://www.edx.org/course/linear-algebra-foundations-to-frontiers) | UT Austin | 15 weeks | 6-10 hours/week | self-paced | pre-calculus (https://www.edx.org/course/precalculus-asux-mat170x) |
| Introduction to Probability and Data (https://imp.i384100.net/9WZ4E0) | Duke | 5 weeks | 5-7 hours/week | twice a month | none |
| Intro to Statistics (https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk&mid=53187&murl=https%3A%2F%2Fwww.udacity.com%2Fcourse%2Fintro-to-statistics–st101) | Udacity | 8 weeks | 5-7 hours/week | self-paced | none |
Systems
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Build a Modern Computer from First Principles: From Nand to Tetris (https://imp.i384100.net/6b13dV) | Hebrew University of Jerusalem | 6 weeks | 5 hours/week | twice a month | basic programming knowledge |
| Build a Modern Computer from First Principles: From Nand to Tetris II (https://imp.i384100.net/dovNVq) | Hebrew University of Jerusalem | 6 weeks | 10-15 hours/week | once a month | Build a Modern Computer from First Principles: From Nand to Tetris |
Theory
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Computer Science: Algorithms, Theory, and Machines (https://imp.i384100.net/7mVROr) | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming |
| Algorithms, Part I (https://imp.i384100.net/DVm9eo) | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines |
| Algorithms, Part II (https://imp.i384100.net/jW4xyv) | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I |
Applications
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Software Engineering: Introduction (https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x) | UBCx | 6 weeks | 8-10 hours/week | self-paced | Java Programming: Build a Recommendation System |
| Machine Learning (https://imp.i384100.net/YgYEBJ) | Stanford | 11 weeks | 5-7 hours/week | twice a month | Linear Algebra - Foundations to Frontiers |
| Database Management Essentials (https://imp.i384100.net/kjvDMn) | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge |
| Cryptography I (https://imp.i384100.net/DVm9ej) | Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data |
Unix
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Linux Command Line Basics (https://imp.i384100.net/linux-cmd) | IBM | 1 week | 12 hours/week | self-paced | none |
| The Unix Workbench (https://imp.i384100.net/QOXZ4P) | JHU | 4 weeks | 4 hours/week | once a month | none |
Similar Articles
@GYLQ520: Guys, someone pulled off a crazy move — complete math and science course collections from top schools like Harvard, Stanford, and MIT, all open-sourced on GitHub. Not just a few, but the whole system. Zero cost, no need to hunt for resources, all in one repo. In the past, not being able to afford top schools was an excuse, but now you can't even find one. …
A GitHub repository aggregates complete math and science video course resources from top universities like Harvard, Stanford, and MIT, free and open-source, integrating all courses into one repository.
@drcetiner: Can the computer science curriculum be completed without going to university? The Open Source Computer Science Degree o…
A GitHub repository curating courses from top universities (Harvard, MIT, Stanford, etc.) into a structured computer science degree, with prerequisites and workload details, offering a free learning roadmap without a diploma.
@wsl8297: Want to systematically learn AI Engineering without jumping between papers, tutorials, and repos? Check out rohitg00/ai-engineering-from-scratch. This course has 10k+ stars, 435 lessons, 20 stages, covering from math foundations, neural networks...
Recommends an open-source GitHub repo called ai-engineering-from-scratch, containing 435 lessons across 20 stages, systematically covering a complete learning path for AI engineering from math foundations to Agents.
@Honcia13: Stanford has released an incredible course: Learn to code with AI for free and boost your productivity by 10x! CS146S The Modern Software Developer. The core concept is upgrading the development workflow to: Plan → AI Generation → Refine → Iterate. 10 weeks of extremely hardcore content, with practical insights every week +...
Stanford has released a free course, CS146S 'The Modern Software Developer', which teaches developers to use AI to boost coding productivity by integrating AI into the development workflow.
@IndieDevHailey: This is probably the world's most hardcore, free, and practical programming learning platform. 448k+ GitHub stars, the open-source god site that has been trending #1 for a long time — freeCodeCamp, with 3000+ hours of free interactive courses. Even complete beginners can learn by doing real projects and go straight to getting certified and landing a job! Truly free forever:…
Promoting the freeCodeCamp programming learning platform, emphasizing its 448k+ GitHub stars, 3000+ hours of free interactive courses, project-driven learning approach, and 11 free certificates, suitable for beginners to job seekers.