├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Forrest Knight 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # The Python Open Source Computer Science Degree 2 | 3 | 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. 4 | 5 | ## Computer Science Basics 6 | 7 | Courses | School | Duration | Effort | Frequency | Prerequisites 8 | :-- | :--: | :--: | :--: | :--: | :--: 9 | [Intro to Computer Science](https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x) | Harvard | 10 weeks | 10-20 hours/week | self-paced | none 10 | 11 | ## Programming 12 | 13 | Courses | School | Duration | Effort | Frequency | Prerequisites 14 | :-- | :--: | :--: | :--: | :--: | :--: 15 | [Programming for Everybody (Getting Started with Python)](https://imp.i384100.net/GjkPZr)| University of Michigan | 4 weeks | 4-6 hours/week | self-paced | none 16 | [Python Data Structures](https://imp.i384100.net/python-ds)| University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Programming for Everybody (Getting Started with Python) 17 | [Using Python to Access Web Data](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk&mid=40328&murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Fpython-network-data)| University of Michigan | 4 weeks | 4-6 hours/week | self-paced | Python Data Structures 18 | [Using Databases with Python](https://imp.i384100.net/2rebdg)| University of Michigan | 3 weeks | 4-8 hours/week | self-paced | Using Python to Access Web Data 19 | [Capstone: Retrieving, Processing, and Visualizing Data with Python](https://imp.i384100.net/python-capstone) | University of Michigan | 2 weeks | 4-6 hours/week | self-paced | Using Databases with Python 20 | 21 | ###### Alternative 22 | Courses | School | Duration | Effort | Frequency | Prerequisites 23 | :-- | :--: | :--: | :--: | :--: | :--: 24 | [Python 3 Programming Specialization](https://imp.i384100.net/MXVGb3) | University of Michigan | 5 months | 7 hours/week | self-paced | none 25 | 26 | ## Math 27 | 28 | Courses | School | Duration | Effort | Frequency | Prerequisites 29 | :-- | :--: | :--: | :--: | :--: | :--: 30 | [Calculus 1A: Differentiation](https://www.edx.org/course/calculus-1a-differentiation) | MIT | 12 weeks | 6-10 hours/week | self-paced | [pre-calculus](https://www.edx.org/course/precalculus-asux-mat170x) 31 | [Calculus 1B: Integration](https://www.edx.org/course/calculus-1b-integration) | MIT | 15 weeks | 6-10 hours/week | self-paced | Calculus 1A: Differentiation 32 | [Calculus 1C: Coordinate Systems & Infinite Series](https://www.edx.org/course/calculus-1c-coordinate-systems-infinite-mitx-18-01-3x-0)| MIT | 8 weeks | 6-10 hours/week | self-paced | Calculus 1B: Integration 33 | [Linear Algebra - Foundations to Frontiers](https://www.edx.org/course/linear-algebra-foundations-to-frontiers) | UT Austin | 15 weeks | 6-10 hours/week | self-paced | [pre-calculus](https://www.edx.org/course/precalculus-asux-mat170x) 34 | [Introduction to Probability and Data](https://imp.i384100.net/9WZ4E0) | Duke | 5 weeks | 5-7 hours/week | twice a month | none 35 | [Intro to Statistics ](https://imp.i115008.net/intro-to-statistics) | Udacity | 8 weeks | 5-7 hours/week | self-paced | none 36 | 37 | ## Data Science 38 | 39 | Courses | School | Duration | Effort | Frequency | Prerequisites 40 | :-- | :--: | :--: | :--: | :--: | :--: 41 | [Introduction to Data Science in Python](https://imp.i384100.net/5bG2n9) | University of Michigan | 3 weeks | 4-6 hours/week | self-paced | basic programming knowledge 42 | [Applied Plotting, Charting & Data Representation in Python](https://imp.i384100.net/AoQxjx) | University of Michigan | 4 weeks | 5-7 hours/week | self-paced | Introduction to Data Science in Python 43 | [Applied Machine Learning in Python](https://imp.i384100.net/gb7M6O) | University of Michigan | 6 weeks | 5-7 hours/week | self-paced | Applied Plotting, Charting & Data Representation in Python 44 | [Applied Text Mining in Python](https://imp.i384100.net/XxR0n4) | University of Michigan | 5 weeks | 5-7 hours/week | self-paced | Applied Machine Learning in Python 45 | [Applied Social Network Analysis in Python](https://imp.i384100.net/WDzWdG) | University of Michigan | 5 weeks | 5-7 hours/week | self-paced | Applied Text Mining in Python 46 | 47 | ## Systems 48 | 49 | Courses | School | Duration | Effort | Frequency | Prerequisites 50 | :-- | :--: | :--: | :--: | :--: | :--: 51 | [Build a Modern Computer from First Principles: From Nand to Tetris](imp.i384100.net/6b13dV) | Hebrew University of Jerusalem | 6 weeks | 5 hours/week | twice a month | basic programming knowledge 52 | [Build a Modern Computer from First Principles: From Nand to Tetris II](https://imp.i384100.net/dovNVq) | Hebrew University of Jerusalem | 6 weeks | 10-15 hours/week | once a month | Build a Modern Computer from First Principles: From Nand to Tetris 53 | [Introduction to Operating Systems](https://imp.i115008.net/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 54 | 55 | 56 | ## Theory 57 | 58 | Courses | School | Duration | Effort | Frequency | Prerequisites 59 | :-- | :--: | :--: | :--: | :--: | :--: 60 | [Computer Science: Algorithms, Theory, and Machines](https://imp.i384100.net/7mVROr) | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming 61 | [Algorithms, Part I](https://imp.i384100.net/DVm9eo) | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines 62 | [Algorithms, Part II](https://imp.i384100.net/jW4xyv) | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I 63 | 64 | 65 | ## Applications 66 | 67 | Courses | School | Duration | Effort | Frequency | Prerequisites 68 | :-- | :--: | :--: | :--: | :--: | :--: 69 | [Database Management Essentials](https://imp.i384100.net/kjvDMn) | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge 70 | [Cryptography I](https://imp.i384100.net/DVm9ej)| Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data 71 | 72 | ## Unix 73 | 74 | Courses | School | Duration | Effort | Frequency | Prerequisites 75 | :-- | :--: | :--: | :--: | :--: | :--: 76 | [Linux Command Line Basics](https://imp.i115008.net/linux-command-line-basics) | Udacity | 1 week | 5 hours/week | self-paced | none 77 | [The Unix Workbench](https://imp.i384100.net/QOXZ4P) | JHU | 4 weeks | 4 hours/week | once a month | none 78 | --------------------------------------------------------------------------------