Why GitHub?
Enterprise
Explore
Marketplace
Pricing
Search
Sign in Sign up
ForrestKnight / open-source-cs Watch 532 Star 7,877 Fork 1,236
Code Issues 18 Pull requests 6 Projects 0 Insights
Dismiss
Join GitHub today
GitHub is home to over 36 million developers working together to host and
review code, manage projects, and build software together.
Sign up
Video discussing this curriculum: https://youtu.be/NyOvFSP_IpQ
9 commits 1 branch 0 releases 3 contributors
master
New pull request Find File
Clone or download
ForrestKnight Corrected Intro to Stats link
1
Latest commit 68ec6bf Jan 21, 2019
README.md Corrected Intro to Stats link Jan 21, 2019
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 UVA 12 week 5 hours/week self-paced none
Mathematical Thinking in Computer UC San 2-5 once a
6 weeks none
Science Diego hours/week month
Programming
Courses School Duration Effort Frequency Prerequisites
Java Programming: Solving 4-8 twice a
Duke 4 weeks none
Problems with Software hours/week month
Java Programming:
Java Programming: Arrays, Lists, 4-8 twice a
Duke 4 weeks Solving Problems with
and Structured Data hours/week month
Software
Java Programming:
Object Oriented Programming in 4-6
Duke 6 weeks every week Arrays, Lists, and
Java hours/week
Structured Data
6-10 Object Oriented
Data Structures and Performance Duke 6 weeks every week
hours/week Programming in Java
Java Programming:
Java Programming: Principles of 4-8 twice a
Duke 4 weeks Arrays, Lists, and
Software Design hours/week month
Structured Data
Java Programming:
Java Programming: Build a 3-6 once a
Duke 4 weeks Principles of Software
Recommendation System hours/week month
Design
8-16 once a Object Oriented
Programming Languages, Part A UW 5 weeks
hours/week month Programming in Java
8-16 once a Programming
Programming Languages, Part B UW 3 weeks
hours/week month Languages, Part A
8-16 once a Programming
Programming Languages, Part C UW 3 weeks
hours/week month Languages, Part B
Math
Courses School Duration Effort Frequency Prerequisites
12 6-10
Calculus 1A: Differentiation MIT self-paced pre-calculus
weeks hours/week
15 6-10 Calculus 1A:
Calculus 1B: Integration MIT self-paced
weeks hours/week Differentiation
Calculus 1C: Coordinate Systems & 6-10 Calculus 1B:
MIT 8 weeks self-paced
Infinite Series hours/week Integration
Linear Algebra - Foundations to UT 15 6-10
self-paced pre-calculus
Frontiers Austin weeks hours/week
5-7 twice a
Introduction to Probability and Data Duke 5 weeks none
hours/week month
5-7
Intro to Statistics Stanford 8 weeks self-paced none
hours/week
Systems
Courses School Duration Effort Frequency Prerequisites
Build a Modern Computer from Hebrew
5 twice a basic programming
First Principles: From Nand to University of 6 weeks
hours/week month knowledge
Tetris Jerusalem
Build a Modern
Build a Modern Computer from Hebrew Computer from
10-15 once a
First Principles: From Nand to University of 6 weeks First Principles:
hours/week month
Tetris II Jerusalem From Nand to
Tetris
Build a Modern
Computer from
5-8
Introduction to Operating Systems Georgia Tech 8 weeks self-paced First Principles:
hours/week
From Nand to
Tetris II
Theory
Courses School Duration Effort Frequency Prerequisites
Computer Science: Algorithms, 10 2-5 once a Calculus 1A (all), basic
Princeton
Theory, and Machines weeks hours/week month programming
Computer Science:
6-12 once a
Algorithms, Part I Princeton 6 weeks Algorithms, Theory,
hours/week month
and Machines
6-12 once a
Algorithms, Part II Princeton 6 weeks Algorithms, Part I
hours/week month
Applications
Courses School Duration Effort Frequency Prerequisites
Software
8-10 Java Programming: Build a
Engineering: UBCx 6 weeks self-paced
hours/week Recommendation System
Introduction
11 5-7 twice a Linear Algebra - Foundations to
Machine Learning Stanford
weeks hours/week month Frontiers
Database
4-6 twice a
Management CU 7 weeks basic programming & CS knowledge
hours/week month
Essentials
Linear Algebra - Foundations to
5 once a
Cryptography I Stanford 7 weeks Frontiers & Introduction to Probability
hours/week month
and Data
Unix
Courses School Duration Effort Frequency Prerequisites
Linux Command Line
Udacity 1 week 5 hours/week self-paced none
Basics
once a
The Unix Workbench JHU 4 weeks 4 hours/week none
month
© 2019 GitHub, Inc.
Terms
Privacy
Security
Status
Help
Contact GitHub
Pricing
API
Training
Blog
About