{"id":18076850,"url":"https://github.com/forrestknight/open-source-cs","last_synced_at":"2026-01-25T09:33:22.223Z","repository":{"id":37251571,"uuid":"166504843","full_name":"ForrestKnight/open-source-cs","owner":"ForrestKnight","description":"Video discussing this curriculum:","archived":false,"fork":false,"pushed_at":"2024-05-29T06:59:09.000Z","size":15,"stargazers_count":17920,"open_issues_count":36,"forks_count":2931,"subscribers_count":1002,"default_branch":"master","last_synced_at":"2024-07-31T17:22:43.342Z","etag":null,"topics":["computer-science"],"latest_commit_sha":null,"homepage":"https://youtu.be/NyOvFSP_IpQ","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ForrestKnight.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-19T04:11:33.000Z","updated_at":"2024-07-31T15:48:13.000Z","dependencies_parsed_at":"2023-01-28T16:40:11.223Z","dependency_job_id":"7d86d2f4-373e-405e-be18-6b87cf935ae5","html_url":"https://github.com/ForrestKnight/open-source-cs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ForrestKnight/open-source-cs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2Fopen-source-cs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2Fopen-source-cs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2Fopen-source-cs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2Fopen-source-cs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ForrestKnight","download_url":"https://codeload.github.com/ForrestKnight/open-source-cs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ForrestKnight%2Fopen-source-cs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28750875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T09:00:19.176Z","status":"ssl_error","status_checked_at":"2026-01-25T09:00:04.131Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-science"],"created_at":"2024-10-31T11:11:28.821Z","updated_at":"2026-01-25T09:33:22.217Z","avatar_url":"https://github.com/ForrestKnight.png","language":null,"readme":"# The Open Source Computer Science Degree\r\n\r\nThis 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.\r\n\r\n## Computer Science Basics\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[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\r\n\r\n## Programming\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[Java Programming: Solving Problems with Software](https://imp.i384100.net/GjkPGV)| Duke | 4 weeks | 4-8 hours/week | twice a month | none\r\n[Java Programming: Arrays, Lists, and Structured Data](https://imp.i384100.net/15knRR)| Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Solving Problems with Software\r\n[Object Oriented Programming in Java](https://imp.i384100.net/ZdznBq)| Duke | 6 weeks | 4-6 hours/week | every week | Java Programming: Arrays, Lists, and Structured Data\r\n[Data Structures and Performance](https://imp.i384100.net/oevm0b)| Duke | 6 weeks | 6-10 hours/week | every week | Object Oriented Programming in Java\r\n[Java Programming: Principles of Software Design](https://imp.i384100.net/zavZrO) | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Arrays, Lists, and Structured Data\r\n[Java Programming: Build a Recommendation System](https://imp.i384100.net/n1vro6) | Duke | 4 weeks | 3-6 hours/week | once a month | Java Programming: Principles of Software Design\r\n[Programming Languages, Part A](https://imp.i384100.net/6b13oK) | UW | 5 weeks | 8-16 hours/week | once a month | Object Oriented Programming in Java\r\n[Programming Languages, Part B](https://imp.i384100.net/2rebMz) | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part A\r\n[Programming Languages, Part C](https://imp.i384100.net/Ryogm9) | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part B\r\n\r\n## Math\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[Calculus 1A: Differentiation](https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.1x/) | MIT | 12 weeks | 6-10 hours/week | self-paced | [pre-calculus](https://www.edx.org/course/precalculus-asux-mat170x)\r\n[Calculus 1B: Integration](https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.2x/) | MIT | 15 weeks | 6-10 hours/week | self-paced | Calculus 1A: Differentiation\r\n[Calculus 1C: Coordinate Systems \u0026 Infinite Series](https://mitxonline.mit.edu/courses/course-v1:MITxT+18.01.3x/)| MIT | 8 weeks | 6-10 hours/week | self-paced | Calculus 1B: Integration\r\n[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)\r\n[Introduction to Probability and Data](https://imp.i384100.net/9WZ4E0) | Duke | 5 weeks | 5-7 hours/week | twice a month | none\r\n[Intro to Statistics ](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=53187\u0026murl=https%3A%2F%2Fwww.udacity.com%2Fcourse%2Fintro-to-statistics--st101) | Udacity | 8 weeks | 5-7 hours/week | self-paced | none\r\n\r\n\r\n## Systems\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[Build a Modern Computer from First Principles: From Nand to Tetris](https://imp.i384100.net/6b13dV) | Hebrew University of Jerusalem | 6 weeks | 5 hours/week | twice a month | basic programming knowledge\r\n[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\r\n\u003c!-- [Introduction to Operating Systems](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=53187\u0026murl=https%3A%2F%2Fwww.udacity.com%2Fcourse%2Foperating-systems--ud923)| Udacity | 8 weeks | 5-8 hours/week | self-paced | Build a Modern Computer from First Principles: From Nand to Tetris II --\u003e\r\n\r\n\r\n## Theory\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[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\r\n[Algorithms, Part I](https://imp.i384100.net/DVm9eo) | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines\r\n[Algorithms, Part II](https://imp.i384100.net/jW4xyv) | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I\r\n\r\n\r\n## Applications\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[Software Engineering: Introduction](https://www.edx.org/course/software-engineering-introduction-ubcx-softeng1x) | UBCx | 6 weeks | 8-10 hours/week | self-paced | Java Programming: Build a Recommendation System\r\n[Machine Learning](https://imp.i384100.net/YgYEBJ) | Stanford | 11 weeks | 5-7 hours/week | twice a month | Linear Algebra - Foundations to Frontiers\r\n[Database Management Essentials](https://imp.i384100.net/kjvDMn) | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming \u0026 CS knowledge\r\n[Cryptography I](https://imp.i384100.net/DVm9ej)| Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers \u0026 Introduction to Probability and Data\r\n\r\n## Unix\r\n\r\nCourses | School | Duration | Effort | Frequency | Prerequisites\r\n:-- | :--: | :--: | :--: | :--: | :--:\r\n[Linux Command Line Basics](https://imp.i384100.net/linux-cmd) | IBM | 1 week | 12 hours/week | self-paced | none\r\n[The Unix Workbench](https://imp.i384100.net/QOXZ4P) | JHU | 4 weeks | 4 hours/week | once a month | none\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforrestknight%2Fopen-source-cs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforrestknight%2Fopen-source-cs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforrestknight%2Fopen-source-cs/lists"}