{"id":44450344,"url":"https://github.com/maxdemaio/my_open_source_cs","last_synced_at":"2026-02-12T16:30:52.218Z","repository":{"id":38687292,"uuid":"299436403","full_name":"maxdemaio/my_open_source_cs","owner":"maxdemaio","description":"My free open source curriculum to learn computer science :books::octocat: ","archived":false,"fork":false,"pushed_at":"2024-09-30T18:21:17.000Z","size":165,"stargazers_count":15,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-01T01:45:32.734Z","etag":null,"topics":["computer-science","open-source"],"latest_commit_sha":null,"homepage":"","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/maxdemaio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"maxdemaio"}},"created_at":"2020-09-28T21:31:53.000Z","updated_at":"2025-08-29T09:11:52.000Z","dependencies_parsed_at":"2023-01-21T22:47:58.517Z","dependency_job_id":null,"html_url":"https://github.com/maxdemaio/my_open_source_cs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maxdemaio/my_open_source_cs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxdemaio%2Fmy_open_source_cs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxdemaio%2Fmy_open_source_cs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxdemaio%2Fmy_open_source_cs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxdemaio%2Fmy_open_source_cs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxdemaio","download_url":"https://codeload.github.com/maxdemaio/my_open_source_cs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxdemaio%2Fmy_open_source_cs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29372182,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"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","open-source"],"created_at":"2026-02-12T16:30:52.033Z","updated_at":"2026-02-12T16:30:52.213Z","avatar_url":"https://github.com/maxdemaio.png","language":null,"funding_links":["https://github.com/sponsors/maxdemaio"],"categories":[],"sub_categories":[],"readme":"# my_open_source_cs\n\n\u003cimg src=\"./github-logo-octocat-1.jpg\" width = 100 align=\"right\"\u003e\n\nMy free open source curriculum to learn computer science. Although it's not the path of least resistance, learning by doing is super effective: write code, make mistakes, learn from them, and most importantly enjoy the process.\n\n\u003e Not having heard something is not as good as having heard it; having\nheard it is not as good as having seen it; having seen it is not as good as knowing it; knowing\nit is not as good as putting it into practice.\n\u003e \n\u003e Xunzi\n\nThis is a curated list of free courses from reputable universities that satisfy the same requirements as an undergraduate computer science degree, minus general education. Helpful resources have also been added for supplementary learning. Please feel free to star/fork this repository and personalize it to your own learning path.\n\n---\n\n## Computer Science Basics / Programming\n\n| Courses                                                                                                    | School  | Duration |      Effort      | Frequency  |       Prerequisites       | Status |\n| :--------------------------------------------------------------------------------------------------------- | :-----: | :------: | :--------------: | :--------: | :-----------------------: | :----: |\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            |   ✔️   |\n| [Web Programming with Python and JavaScript](https://cs50.harvard.edu/web/2020/)                           | Harvard | 12 weeks | 10-20 hours/week | self-paced | Intro to Computer Science |   ✔️   |\n\n## Math\n\n| Courses                                                                              |  School   | Duration |     Effort      | Frequency  | Prerequisites | Status |\n| :----------------------------------------------------------------------------------- | :-------: | :------: | :-------------: | :--------: | :-----------: | :----: |\n| Calculus 1                                                                           |    URI    | 12 weeks | 6-10 hours/week |     /      | Pre-calculus  |   ✔️   |\n| [Linear Algebra](https://www.edx.org/course/linear-algebra-foundations-to-frontiers) | UT Austin | 15 weeks | 6-10 hours/week | self-paced | Pre-calculus  |\n| Pre-calculus                                                                         |    URI    | 12 weeks | 6-10 hours/week |     /      |    Algebra    |   ✔️   |\n| Introduction to Probability and Statistics                                           |    URI    | 12 weeks | 6-10 hours/week |     /      |    Algebra    |   ✔️   |\n| Algebra                                                                              |    URI    | 12 weeks | 6-10 hours/week |     /      |     none      |   ✔️   |\n\n## Systems\n\n| Courses                                                                                                                                                                                              |             School             | Duration |      Effort      |   Frequency   |                             Prerequisites                             | Status |\n| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------: | :------: | :--------------: | :-----------: | :-------------------------------------------------------------------: | :----: |\n| [Build a Modern Computer from First Principles: From Nand to Tetris](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Fbuild-a-computer) | Hebrew University of Jerusalem | 6 weeks  |   5 hours/week   | twice a month |                      basic programming knowledge                      |   ✔️   |\n| [Build a Modern Computer from First Principles: From Nand to Tetris II](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Fnand2tetris2)  | Hebrew University of Jerusalem | 6 weeks  | 10-15 hours/week | once a month  |  Build a Modern Computer from First Principles: From Nand to Tetris   | ✔️ |\n| [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)                                                                                                       |          University of Wisconsin-Madison/UCLA         | self-paced |  5-8 hours/week  |  self-paced   | Build a Modern Computer from First Principles: From Nand to Tetris II |\n\n## Theory\n\n| Courses                                                                                                                                                                                           |  School   | Duration |     Effort      |  Frequency   |                   Prerequisites                    | Status |\n| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :-------: | :------: | :-------------: | :----------: | :------------------------------------------------: | :----: |\n| [Computer Science: Algorithms, Theory, and Machines](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Fcs-algorithms-theory-machines) | Princeton | 10 weeks | 2-5 hours/week  | once a month |        Calculus 1A (all), basic programming        |\n| [Algorithms, Part I](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Falgorithms-part1)                                              | Princeton | 6 weeks  | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines |\n| [Algorithms, Part II](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Falgorithms-part2)                                             | Princeton | 6 weeks  | 6-12 hours/week | once a month |                 Algorithms, Part I                 |\n\n## Applications\n\n| Courses                                                                                                                                            |         School         | Duration |     Effort     |   Frequency   |                                  Prerequisites                                   | Status |\n| :------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------: | :------: | :------------: | :-----------: | :------------------------------------------------------------------------------: | :----: |\n| [Machine Learning](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Fmachine-learning) |        Stanford        | 11 weeks | 5-7 hours/week | twice a month |                    Linear Algebra - Foundations to Frontiers                     |\n| [Database Management Essentials](https://www.coursera.org/learn/database-management)                                                               | University of Colorado | 7 weeks  | 4-6 hours/week | twice a month |                         basic programming \u0026 CS knowledge                         |   ✔️   |\n| [Cryptography I ](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Fcrypto)            |        Stanford        | 7 weeks  |  5 hours/week  | once a month  | Linear Algebra - Foundations to Frontiers \u0026 Introduction to Probability and Data |\n\n## Unix\n\n| Courses                                                                                                                                  |          School          | Duration |    Effort    |  Frequency   | Prerequisites | Status |\n| :--------------------------------------------------------------------------------------------------------------------------------------- | :----------------------: | :------: | :----------: | :----------: | :-----------: | :----: |\n| [Linux Command Line Basics](https://imp.i115008.net/linux-command-line-basics)                                                           |         Udacity          |  1 week  | 5 hours/week |  self-paced  |     none      |   ✔️   |\n| [The Unix Workbench](https://click.linksynergy.com/deeplink?id=PtFMiHYfEVk\u0026mid=40328\u0026murl=https%3A%2F%2Fwww.coursera.org%2Flearn%2Funix) | Johns Hopkins University | 4 weeks  | 4 hours/week | once a month |     none      |   ✔️   |\n\n---\n\n## Supplementary Materials\n\nBefore approaching any open source curriculum, please give these a watch/read: [Self Taught Programmers: Advice, Challenges, and Why We Need Them](https://www.youtube.com/watch?v=j38_oXALe4U) (mayuko) and [How to Break into Tech](https://haseebq.com/how-to-break-into-tech-job-hunting-and-interviews/).\n\n- YouTube channels: [Corey Schafer](https://www.youtube.com/user/schafer5), [Tech With Tim](https://www.youtube.com/channel/UC4JX40jDee_tINbkjycV4Sg), [Gaurav Sen](https://www.youtube.com/channel/UCRPMAqdtSgd0Ipeef7iFsKw), [The Net Ninja](https://www.youtube.com/channel/UCW5YeuERMmlnqo4oq8vwUpg), [Pretty Printed](https://www.youtube.com/channel/UC-QDfvrRIDB6F0bIO4I4HkQ), [Amigoscode](https://www.youtube.com/c/amigoscode), [Telusko](https://www.youtube.com/channel/UC59K-uG2A5ogwIrHw4bmlEg), and [Web Dev Simplified](https://www.youtube.com/channel/UCFbNIlppjAuEX4znoulh0Cw).\n\n- Podcasts: [The freeCodeCamp Podcast](https://open.spotify.com/show/7CpuEnbCLIXwI6LEcbBOYP?si=d31984a3c47a47be), [Ladybug Podcast](https://open.spotify.com/show/1KBO1tSnm0XRlEILmqt7Em?si=1c7dc805390a4d52), [Front End Happy Hour](https://open.spotify.com/show/0Giuw6eNbTzP9CDZODDrA2?si=7d80fe5b067b4179), [Indie Hackers](https://open.spotify.com/show/4ex8hmrHCPvPohKJb3wsuC?si=1ef45f88964846be), [The StackOverflow Podcast](https://open.spotify.com/show/0e5eoM6w7eW9Wu7wMA04Tr?si=c2abe8cf700a4739), and [CodeNewbie](https://www.codenewbie.org/podcast).\n\n- Networking: [Twitter](https://twitter.com/) and [Meetup.com](https://www.meetup.com/).\n\n- Jobs: [LinkedIn](https://www.linkedin.com/), various job search websites, referrals from friends, and company websites.\n\n- Problem solving websites: I mainly use [LeetCode](https://leetcode.com/). All my problem set solutions are located in my [practice problem repository](https://github.com/maxdemaio/leetcode). Highly recommend [NeetCode](https://neetcode.io/) which curates and categorizes popular LeetCode problems.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxdemaio%2Fmy_open_source_cs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxdemaio%2Fmy_open_source_cs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxdemaio%2Fmy_open_source_cs/lists"}