This is a curated list of free courses.
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Intro to Computer Science | Harvard | 10 weeks | 10-20 hours/week | self-paced | none |
| 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 | UC San Diego | 6 weeks | 4-6 hours/week | every week | Java Programming: Arrays, Lists, and Structured Data |
| Data Structures and Performance | UC San Diego | 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 |
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Computer Science: Algorithms, Theory, and Machines | Princeton | 10 weeks | 2-5 hours/week | once a month | basic programming skills |
| 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 |
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Software Engineering: Introduction | UBCx | 6 weeks | 8-10 hours/week | self-paced | Java Programming: Build a Recommendation System |
| Database Management Essentials | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge |
| Courses | School | Duration | Effort | Frequency | Prerequisites |
|---|---|---|---|---|---|
| Linux Command Line Basics | Udacity | 1 week | 5 hours/week | self-paced | none |
| The Unix Workbench | JHU | 4 weeks | 4 hours/week | once a month | none |