23,784
stars
+3+7+20
3,293
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
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 The