{"id":17283689,"url":"https://github.com/computerjazz/learn","last_synced_at":"2026-01-06T16:05:20.818Z","repository":{"id":111986823,"uuid":"81479637","full_name":"computerjazz/learn","owner":"computerjazz","description":"CS Learning Resources","archived":false,"fork":false,"pushed_at":"2018-03-01T22:57:23.000Z","size":18,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"init","last_synced_at":"2025-01-31T19:07:34.523Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/computerjazz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-02-09T18:09:20.000Z","updated_at":"2022-01-14T20:08:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"da0fcb9f-160c-40d4-bbb9-9d27819df034","html_url":"https://github.com/computerjazz/learn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Flearn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Flearn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Flearn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Flearn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/computerjazz","download_url":"https://codeload.github.com/computerjazz/learn/tar.gz/refs/heads/init","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245689509,"owners_count":20656417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-15T09:51:56.659Z","updated_at":"2026-01-06T16:05:15.798Z","avatar_url":"https://github.com/computerjazz.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# CS/Software Dev Learning Resources\nI began to learn to code in earnest after many years of tinkering with personal websites and simple arduino sketches. Then I had an idea for an [Android app I wished existed](https://play.google.com/store/apps/details?id=com.danielmerrill.defind\u0026hl=en\u0026pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1) and decided to figure out how to build it. \n\nOne bonus of learning Java first is that it tends to be used in beginning CS material, so I was able to take courses like [Princeton's Algorithms I \u0026 II](https://www.coursera.org/learn/algorithms-part1) and implement the examples and assignments.\n\nI'm now a software developer working with React/React Native/Node, but I still love learning about CS fundamentals, algorithms, design patterns, etc. The following is a personal checklist of resources that have been especially helpful to me or have been recommended by multiple sources.\n\n### Algortihms \u0026 Design Patterns\n- [x] [Algorithms (Princeton)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr_1_1?ie=UTF8\u0026qid=1487191473\u0026sr=8-1\u0026keywords=algorithms+sedgewick)\n- [ ] [Introduction to Algorithms (MIT Press)](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844/ref=sr_1_1?ie=UTF8\u0026qid=1487191546\u0026sr=8-1\u0026keywords=algorithms+MIT)\n- [x] [The Algorithm Design Manual (Skiena)](https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693)\n- [ ] [Design Patterns: Elements of Reusable Object-Oriented Software (GoF)](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/ref=sr_1_1?s=books\u0026ie=UTF8\u0026qid=1486752102\u0026sr=1-1\u0026keywords=design+patterns)\n- [x] [Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124)\n- [x] [Princeton: Algorithms I \u0026 II](https://www.coursera.org/learn/algorithms-part1)\n\n### Fundamentals \u0026 Computer Architecture\n- [x] [Introduction to Computing Systems: From Bits and Gates to C and Beyond](https://www.amazon.com/Introduction-Computing-Systems-Gates-Beyond/dp/0072467509/ref=sr_1_1?s=books\u0026ie=UTF8\u0026qid=1486664659\u0026sr=1-1\u0026keywords=from+bits+to+gates)\n- [x] [Code: The Hidden Language of Computer Hardware](https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319)\n- [ ] [From NAND to Tetris](https://www.coursera.org/learn/build-a-computer)\n- [ ] [Harvard: cs50](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x)\n- [ ] [Let's Build a Compiler!](http://compilers.iecc.com/crenshaw/)\n\n### Code Style/Team Dynamics\n- [x] [Clean Code](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)\n- [x] [The Pragmatic Programmer](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=pd_sbs_14_t_1?_encoding=UTF8\u0026psc=1\u0026refRID=J5R0F4PC8XBE3TTZDP6Z)\n- [ ] [Code Complete](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)\n- [x] [Programming Pearls](https://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880)\n- [ ] [The Mythical Man Month](https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8\u0026qid=1487142293\u0026sr=8-1\u0026keywords=mythical+man+month)\n\n### Interview Prep\n- [ ] [Cracking the Coding Interview](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=pd_sim_14_1?_encoding=UTF8\u0026pd_rd_i=0984782850\u0026pd_rd_r=TJPH4FD1QV5TSGXKJMNH\u0026pd_rd_w=jx4ta\u0026pd_rd_wg=A0Wqa\u0026psc=1\u0026refRID=TJPH4FD1QV5TSGXKJMNH)\n- [ ] [Elements of Programming Interviews](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)\n- [ ] [Programming Interviews Exposed](https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=pd_sbs_14_t_0?_encoding=UTF8\u0026psc=1\u0026refRID=AYJYGYBBJQ9DFRY2YZW7)\n\n### Languages\n#### Javascript\n- [x] [Scope \u0026 Closures](https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20\u0026%20closures/README.md#you-dont-know-js-scope--closures)\n- [x] [this \u0026 Object Prototypes](https://github.com/getify/You-Dont-Know-JS/blob/master/this%20\u0026%20object%20prototypes/README.md#you-dont-know-js-this--object-prototypes)\n- [x] [Types \u0026 Grammar](https://github.com/getify/You-Dont-Know-JS/blob/master/types%20\u0026%20grammar/README.md#you-dont-know-js-types--grammar)\n- [x] [Async \u0026 Performance](https://github.com/getify/You-Dont-Know-JS/blob/master/async%20\u0026%20performance/README.md#you-dont-know-js-async--performance)\n- [x] [ES6 \u0026 Beyond](https://github.com/getify/You-Dont-Know-JS/blob/master/es6%20\u0026%20beyond/README.md#you-dont-know-js-es6--beyond)\n- [x] [Nodeschool](https://nodeschool.io/)\n- [x] [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://drboolean.gitbooks.io/mostly-adequate-guide/content/)\n- [x] [Eloquent Javascript](http://eloquentjavascript.net/)\n- [ ] [Functional Light JavaScript](https://github.com/getify/Functional-Light-JS)\n\n#### Java/Android\n- [x] [Head First Java](https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208/ref=pd_sbs_14_t_1?_encoding=UTF8\u0026psc=1\u0026refRID=CRZ192X55A2DSC25MA4Q)\n- [x] [Android Programming: The Big Nerd Ranch Guide](https://www.bignerdranch.com/books/android-programming/)\n\n## Articles \u0026 Blog Posts\n- [x] [What Is Code? (Bloomberg)](https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/)\n- [ ] [Programming in the 21st Century](http://prog21.dadgum.com/)\n- [x] [Learn Redux by coding a mini-Redux](http://blog.jakoblind.no/2017/03/13/learn-redux-by-coding-a-mini-redux/)\n- [ ] [React/Redux Links](https://github.com/markerikson/react-redux-links)\n- [x] [Understanding _this_ once and for all](https://journeyintojavascript.quora.com/understanding-this-once-and-for-all)\n- [x] [An introduction to how JavaScript package managers work](https://medium.freecodecamp.com/javascript-package-managers-101-9afd926add0a#.4fa1bk7eu)\n- [x] [Explaining public-key cryptography to non-geeks](https://medium.com/@vrypan/explaining-public-key-cryptography-to-non-geeks-f0994b3c2d5#.sx0wi3jis)\n\n## Code challenges\n- [ ] [LeetCode](http://www.leetcode.com)\n- [ ] [Project Euler](http://www.projecteuler.net)\n\n## Git\n- [x] [Learn Git Branching](http://learngitbranching.js.org/)\n- [x] [The Git Parable](http://tom.preston-werner.com/2009/05/19/the-git-parable.html)\n\n## Talks\n- [x] [Philip Roberts: What the heck is the event loop anyway? | JSConf EU 2014](https://www.youtube.com/watch?v=8aGhZQkoFbQ)\n- [x] [Bret Victor - Inventing on Principle](https://vimeo.com/36579366)\n\n## Podcasts\n- [x] [Software Engineering Daily](http://www.softwareengineeringdaily.com)\n- [x] [JavaScript Air](https://javascriptair.com/)\n- [x] [Syntax](http://styntax.fm)\n- [x] [Indie Hackers](https://www.indiehackers.com/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputerjazz%2Flearn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomputerjazz%2Flearn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputerjazz%2Flearn/lists"}