{EDITED VERSION OF} Open Source Computer Science Python Degree by Forrest Knight
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 | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Intro to Computer Science | Harvard | 10 weeks | 10-20 hours/week | self-paced | none | Incomplete |
Mathematical Thinking in Computer Science | UC San Diego | 6 weeks | 2-5 hours/week | once a month | none | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Programming for Everybody (Getting Started with Python) | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | none | Incomplete |
Java Programming: Solving Problems with Software | Duke | 4 weeks | 4-8 hours/week | twice a month | none | Incomplete |
Python Data Structures | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Programming for Everybody (Getting Started with Python) | Incomplete |
Java Programming: Arrays, Lists, and Structured Data | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Solving Problems with Software | Incomplete |
Using Python to Access Web Data | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Python Data Structures | Incomplete |
Object Oriented Programming in Java | Duke | 6 weeks | 4-6 hours/week | every week | Java Programming: Arrays, Lists, and Structured Data | Incomplete |
Using Databases with Python | University of Michigan | 3 weeks | 4-8 hours/week | self-paced | Using Python to Access Web Data | Incomplete |
Using Python for Research | Harvard | 12 weeks | 2-4 hours/week | every week | Python Data Strucures | Incomplete |
Java Programming: Principles of Software Design | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Arrays, Lists, and Structured Data | Incomplete |
Capstone: Retrieving, Processing, and Visualizing Data with Python | University of Michigan | 2 weeks | 4-6 hours/week | self-paced | Using Databases with Python | Incomplete |
Java Programming: Build a Recommendation System | Duke | 4 weeks | 3-6 hours/week | once a month | Java Programming: Principles of Software Design | Incomplete |
Programming Languages, Part A | UW | 5 weeks | 8-16 hours/week | once a month | Object Oriented Programming in Java | Incomplete |
Programming Languages, Part B | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part A | Incomplete |
Programming Languages, Part C | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part B | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Python 3 Programming Specialization | University of Michigan | 5 months | 7 hours/week | self-paced | none | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Calculus 1A: Differentiation | MIT | 12 weeks | 6-10 hours/week | self-paced | pre-calculus | Incomplete |
Calculus 1B: Integration | MIT | 15 weeks | 6-10 hours/week | self-paced | Calculus 1A: Differentiation | Incomplete |
Calculus 1C: Coordinate Systems & Infinite Series | MIT | 8 weeks | 6-10 hours/week | self-paced | Calculus 1B: Integration | Incomplete |
Linear Algebra - Foundations to Frontiers | UT Austin | 15 weeks | 6-10 hours/week | self-paced | pre-calculus | Incomplete |
Introduction to Probability and Data | Duke | 5 weeks | 5-7 hours/week | twice a month | none | Incomplete |
Intro to Statistics | Udacity | 8 weeks | 5-7 hours/week | self-paced | none | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Introduction to Data Science in Python | University of Michigan | 3 weeks | 4-6 hours/week | self-paced | basic programming knowledge | Incomplete |
Applied Plotting, Charting & Data Representation in Python | University of Michigan | 4 weeks | 5-7 hours/week | self-paced | Introduction to Data Science in Python | Incomplete |
Applied Machine Learning in Python | University of Michigan | 6 weeks | 5-7 hours/week | self-paced | Applied Plotting, Charting & Data Representation in Python | Incomplete |
Applied Text Mining in Python | University of Michigan | 5 weeks | 5-7 hours/week | self-paced | Applied Machine Learning in Python | Incomplete |
Applied Social Network Analysis in Python | University of Michigan | 5 weeks | 5-7 hours/week | self-paced | Applied Text Mining in Python | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
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 | Incomplete |
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 | Incomplete |
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 | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Computer Science: Algorithms, Theory, and Machines | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming | Incomplete |
Algorithms, Part I | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines | Incomplete |
Algorithms, Part II | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Cloud Computing Specialization | CU | 8 months | 4 hours | Twice a month | None | Incomplete |
Database Management Essentials | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge | Incomplete |
Cryptography I | Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Linux Command Line Basics | Udacity | 1 week | 5 hours/week | self-paced | none | Incomplete |
The Unix Workbench | JHU | 4 weeks | 4 hours/week | once a month | none | Incomplete |
Courses | School | Duration | Effort | Frequency | Prerequisites | Status |
---|---|---|---|---|---|---|
Cyber Security Fundamentals | RIT | 8 week | 10 hours/week | self-paced | Linux Command Line Basics | Incomplete |
Computer Forensics | RIT | 8 week | 10 hours/week | self-paced | Cyber Security Fundamentals | Incomplete |
Risk Management | RIT | 8 week | 10 hours/week | Computer Forensics | none | Incomplete |
Network Security | RIT | 8 week | 10 hours/week | self-paced | Risk Management | Incomplete |
Cyber Security Capstone | RIT | 8 week | 10 hours/week | self-paced | Network Security | Incomplete |