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.
Courses | School | Duration | Workload/week | Prerequisites |
---|---|---|---|---|
00 Intro to Computer Science | Harvard | 10 weeks | 10-20 hours/week | none |
01 Mathematical Thinking in Computer Science | UC San Diego | 6 weeks | 2-5 hours/week | none |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
02 Programming for Everybody (Getting Started with Python) | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | none |
03 Python Data Structures | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Programming for Everybody (Getting Started with Python) |
04 Using Python to Access Web Data | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Python Data Structures |
05 Using Databases with Python | University of Michigan | 3 weeks | 4-8 hours/week | self-paced | Using Python to Access Web Data |
06 Capstone: Retrieving, Processing, and Visualizing Data with Python | University of Michigan | 2 weeks | 4-6 hours/week | self-paced | Using Databases with Python |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
07 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 |
08 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 |
09 Introduction to Operating Systems | Georgia Tech | 8 weeks | 5-8 hours/week | self-paced | Build a Modern Computer from First Principles: From Nand to Tetris II |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
10 Computer Science: Algorithms, Theory, and Machines | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming |
11 Algorithms, Part I | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines |
12 Algorithms, Part II | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
13 Database Management Essentials | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge |
14 Cryptography I | Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
15 Linux Command Line Basics | Udacity | 1 week | 5 hours/week | self-paced | none |
16 The Unix Workbench | JHU | 4 weeks | 4 hours/week | once a month | none |