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 / Data Science degree, minus general education.
If it has been awhile since you have been in the classroom or need to take your learning skills to the next level this course is mandatory. This was my survival kit when I worked full time while persuing a B.S. in Computer Science.
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Learning How to Learn: Powerful mental tools to help you master tough subjects | Deep Teaching Solutions | 4 weeks | 3-4 hours/week | self-paced | none | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Intro to Computer Science | Harvard | 10 weeks | 10-20 hours/week | self-paced | none | Edx |
Mathematical Thinking in Computer Science | UC San Diego | 6 weeks | 2-5 hours/week | once a month | none | Coursera |
At this point you should be publishing the code you produce in your courses to your github repo.
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Programming for Everybody (Getting Started with Python) | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | none | Coursera |
Python Data Structures | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Programming for Everybody (Getting Started with Python) | Coursera |
Using Python to Access Web Data | University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Python Data Structures | Coursera |
Using Databases with Python | University of Michigan | 3 weeks | 4-8 hours/week | self-paced | Using Python to Access Web Data | Coursera |
Capstone: Retrieving, Processing, and Visualizing Data with Python | University of Michigan | 2 weeks | 4-6 hours/week | self-paced | Using Databases with Python | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Python 3 Programming Specialization | University of Michigan | 5 months | 7 hours/week | self-paced | none | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Calculus 1A: Differentiation | MIT | 12 weeks | 6-10 hours/week | self-paced | pre-calculus | Edx |
Calculus 1B: Integration | MIT | 15 weeks | 6-10 hours/week | self-paced | Calculus 1A: Differentiation | Edx |
Calculus 1C: Coordinate Systems & Infinite Series | MIT | 8 weeks | 6-10 hours/week | self-paced | Calculus 1B: Integration | Edx |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
18.01x Single Variable Calculus | MIT | 10 months | 6-10 hours/week | self-paced | pre-calculus | Edx |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Linear Algebra - Foundations to Frontiers | UT Austin | 15 weeks | 6-10 hours/week | self-paced | pre-calculus | Edx |
Statistics with Python Specialization | University of Michigan | 12 weeks | 3-6 hours/week | self-paced | None | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Database Design and Basic SQL in PostgreSQL | University of Michigan | 4 weeks | 4-6 hours/week | self paced | The first two courses in the programming section above. | Coursera |
Intermediate PostgreSQL | University of Michigan | 4 weeks | 4-6 hours/week | self paced | The first two courses in the programming section above. | Coursera |
JSON and Natural Language Processing in PostgreSQL | University of Michigan | 4 weeks | 4-6 hours/week | self paced | The first two courses in the programming section above. | Coursera |
Database Architecture, Scale, and NoSQL with Elasticsearch | University of Michigan | 4 weeks | 4-6 hours/week | self paced | The first two courses in the programming section above. | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
PostgreSQL for Everybody | University of Michigan | 4 months | 4-6 hours/week | self paced | The first two courses in the programming section above. | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Introduction to Data Science in Python | University of Michigan | 3 weeks | 4-6 hours/week | self-paced | basic programming knowledge |
Applied Plotting, Charting & Data Representation in Python | University of Michigan | 4 weeks | 5-7 hours/week | self-paced | Introduction to Data Science in Python |
Applied Machine Learning in Python | University of Michigan | 6 weeks | 5-7 hours/week | self-paced | Applied Plotting, Charting & Data Representation in Python |
Applied Text Mining in Python | University of Michigan | 5 weeks | 5-7 hours/week | self-paced | Applied Machine Learning in Python |
Applied Social Network Analysis in Python | University of Michigan | 5 weeks | 5-7 hours/week | self-paced | Applied Text Mining in Python |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Applied Data Science with Python Specilization | University of Michigan | 5 months | 7 hours/week | self-paced | Python Programming Skills | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
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 |
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 | Provider |
---|---|---|---|---|---|---|
Computer Science: Algorithms, Theory, and Machines | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming | Coursera |
Algorithms, Part I | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines | Coursera |
Algorithms, Part II | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Database Management Essentials | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge | Coursera |
Cryptography I | Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Linux Command Line Basics | Udacity | 1 week | 5 hours/week | self-paced | none | Udacity |
The Unix Workbench | JHU | 4 weeks | 4 hours/week | once a month | none | Coursera |
Courses | School | Duration | Effort | Frequency | Prerequisites | Provider |
---|---|---|---|---|---|---|
Open Source Software Development, Linux and Git Specialization | The Linux Foundation | 4 Months | 3-5 Hours a week | self-paced | some programming | Coursera |