open-source-cs README

The project's README from github.com/ForrestKnight/open-source-cs. As one markdown file: README.md.

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 Harvard 10 weeks 10-20 hours/week self-paced none

Programming

Courses School Duration Effort Frequency Prerequisites
Java Programming: Solving Problems with Software Duke 4 weeks 4-8 hours/week twice a month none
Java Programming: Arrays, Lists, and Structured Data Duke 4 weeks 4-8 hours/week twice a month Java Programming: Solving Problems with Software
Object Oriented Programming in Java Duke 6 weeks 4-6 hours/week every week Java Programming: Arrays, Lists, and Structured Data
Data Structures and Performance Duke 6 weeks 6-10 hours/week every week Object Oriented Programming in Java
Java Programming: Principles of Software Design Duke 4 weeks 4-8 hours/week twice a month Java Programming: Arrays, Lists, and Structured Data
Java Programming: Build a Recommendation System Duke 4 weeks 3-6 hours/week once a month Java Programming: Principles of Software Design
Programming Languages, Part A UW 5 weeks 8-16 hours/week once a month Object Oriented Programming in Java
Programming Languages, Part B UW 3 weeks 8-16 hours/week once a month Programming Languages, Part A
Programming Languages, Part C UW 3 weeks 8-16 hours/week once a month Programming Languages, Part B

Math

Courses School Duration Effort Frequency Prerequisites
Calculus 1A: Differentiation MIT 12 weeks 6-10 hours/week self-paced pre-calculus
Calculus 1B: Integration MIT 15 weeks 6-10 hours/week self-paced Calculus 1A: Differentiation
Calculus 1C: Coordinate Systems & Infinite Series MIT 8 weeks 6-10 hours/week self-paced Calculus 1B: Integration
Linear Algebra - Foundations to Frontiers UT Austin 15 weeks 6-10 hours/week self-paced pre-calculus
Introduction to Probability and Data Duke 5 weeks 5-7 hours/week twice a month none
Intro to Statistics 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 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 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 Princeton 10 weeks 2-5 hours/week once a month Calculus 1A (all), basic programming
Algorithms, Part I Princeton 6 weeks 6-12 hours/week once a month Computer Science: Algorithms, Theory, and Machines
Algorithms, Part II Princeton 6 weeks 6-12 hours/week once a month Algorithms, Part I

Applications

Courses School Duration Effort Frequency Prerequisites
Software Engineering: Introduction UBCx 6 weeks 8-10 hours/week self-paced Java Programming: Build a Recommendation System
Machine Learning Stanford 11 weeks 5-7 hours/week twice a month Linear Algebra - Foundations to Frontiers
Database Management Essentials CU 7 weeks 4-6 hours/week twice a month basic programming & CS knowledge
Cryptography I 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 IBM 1 week 12 hours/week self-paced none
The Unix Workbench JHU 4 weeks 4 hours/week once a month none

open-source-cs (ForrestKnight/open-source-cs)

Searching Database…

What is this?This is a curated list of free online courses from top universities (MIT, Stanford, Princeton, Duke and others) organized so that completing them covers the same material as an undergraduate Computer Science degree, minus general education requirements.
Is this an actual university degree program or just a reading list?It's not an accredited degree — it's a self-study roadmap of real, free MOOCs organized into seven category tables (Basics, Programming, Math, Systems, Theory, Applications, Unix) that mirror the structure of a CS degree's coursework.
Where should I start?Start with Harvard's 'Intro to Computer Science' course, which lists no prerequisites, then work through the Programming, Math, Systems, Theory, Applications and Unix tables roughly in order.
Do I need any programming experience before starting?No — the entry-level courses like Harvard's intro course and Duke's 'Java Programming: Solving Problems with Software' explicitly require no prerequisites, though later courses build on earlier ones in the same table.
Does finishing this list give me a real degree or certificate?No, this is a self-directed study plan rather than an accredited program, so completing it doesn't grant an official university degree or transcript credit.
What subjects does the curriculum cover?It's split into seven categories: CS Basics, Programming, Math, Systems, Theory, Applications, and Unix, covering things like Java, calculus, linear algebra, algorithms, machine learning, cryptography, and the Linux command line.
Do I need to take the courses in a specific order?Largely yes — many entries list another course in the same table as a prerequisite (for example 'Programming Languages, Part B' requires 'Part A'), so each table is meant to be followed roughly top to bottom.
Are all the courses in this list free?Yes, the README explicitly describes the collection as 'a curated list of free courses' pulled from schools like MIT, Stanford, Duke, and Princeton.
Why use this instead of paying for a bootcamp or degree?It lets you work through the same core CS topics — programming, math, systems, theory, and applications — using free university-level MOOCs instead of paying tuition for a formal degree.
Size
<0.1 MB
Stars
23.8K
Updated
CommitJun 11
Age
7y
Commits · 90 Days