https://github.com/computerjazz/learn
CS Learning Resources
https://github.com/computerjazz/learn
Last synced: 5 months ago
JSON representation
CS Learning Resources
- Host: GitHub
- URL: https://github.com/computerjazz/learn
- Owner: computerjazz
- Created: 2017-02-09T18:09:20.000Z (over 9 years ago)
- Default Branch: init
- Last Pushed: 2018-03-01T22:57:23.000Z (over 8 years ago)
- Last Synced: 2025-01-31T19:07:34.523Z (over 1 year ago)
- Size: 17.6 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CS/Software Dev Learning Resources
I 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&hl=en&pcampaignid=MKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1) and decided to figure out how to build it.
One 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 & II](https://www.coursera.org/learn/algorithms-part1) and implement the examples and assignments.
I'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.
### Algortihms & Design Patterns
- [x] [Algorithms (Princeton)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/ref=sr_1_1?ie=UTF8&qid=1487191473&sr=8-1&keywords=algorithms+sedgewick)
- [ ] [Introduction to Algorithms (MIT Press)](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844/ref=sr_1_1?ie=UTF8&qid=1487191546&sr=8-1&keywords=algorithms+MIT)
- [x] [The Algorithm Design Manual (Skiena)](https://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693)
- [ ] [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&ie=UTF8&qid=1486752102&sr=1-1&keywords=design+patterns)
- [x] [Head First Design Patterns](https://www.amazon.com/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124)
- [x] [Princeton: Algorithms I & II](https://www.coursera.org/learn/algorithms-part1)
### Fundamentals & Computer Architecture
- [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&ie=UTF8&qid=1486664659&sr=1-1&keywords=from+bits+to+gates)
- [x] [Code: The Hidden Language of Computer Hardware](https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319)
- [ ] [From NAND to Tetris](https://www.coursera.org/learn/build-a-computer)
- [ ] [Harvard: cs50](https://www.edx.org/course/introduction-computer-science-harvardx-cs50x)
- [ ] [Let's Build a Compiler!](http://compilers.iecc.com/crenshaw/)
### Code Style/Team Dynamics
- [x] [Clean Code](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)
- [x] [The Pragmatic Programmer](https://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=pd_sbs_14_t_1?_encoding=UTF8&psc=1&refRID=J5R0F4PC8XBE3TTZDP6Z)
- [ ] [Code Complete](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)
- [x] [Programming Pearls](https://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880)
- [ ] [The Mythical Man Month](https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/ref=sr_1_1?ie=UTF8&qid=1487142293&sr=8-1&keywords=mythical+man+month)
### Interview Prep
- [ ] [Cracking the Coding Interview](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850/ref=pd_sim_14_1?_encoding=UTF8&pd_rd_i=0984782850&pd_rd_r=TJPH4FD1QV5TSGXKJMNH&pd_rd_w=jx4ta&pd_rd_wg=A0Wqa&psc=1&refRID=TJPH4FD1QV5TSGXKJMNH)
- [ ] [Elements of Programming Interviews](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
- [ ] [Programming Interviews Exposed](https://www.amazon.com/Programming-Interviews-Exposed-Secrets-Landing/dp/1118261364/ref=pd_sbs_14_t_0?_encoding=UTF8&psc=1&refRID=AYJYGYBBJQ9DFRY2YZW7)
### Languages
#### Javascript
- [x] [Scope & Closures](https://github.com/getify/You-Dont-Know-JS/blob/master/scope%20&%20closures/README.md#you-dont-know-js-scope--closures)
- [x] [this & Object Prototypes](https://github.com/getify/You-Dont-Know-JS/blob/master/this%20&%20object%20prototypes/README.md#you-dont-know-js-this--object-prototypes)
- [x] [Types & Grammar](https://github.com/getify/You-Dont-Know-JS/blob/master/types%20&%20grammar/README.md#you-dont-know-js-types--grammar)
- [x] [Async & Performance](https://github.com/getify/You-Dont-Know-JS/blob/master/async%20&%20performance/README.md#you-dont-know-js-async--performance)
- [x] [ES6 & Beyond](https://github.com/getify/You-Dont-Know-JS/blob/master/es6%20&%20beyond/README.md#you-dont-know-js-es6--beyond)
- [x] [Nodeschool](https://nodeschool.io/)
- [x] [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://drboolean.gitbooks.io/mostly-adequate-guide/content/)
- [x] [Eloquent Javascript](http://eloquentjavascript.net/)
- [ ] [Functional Light JavaScript](https://github.com/getify/Functional-Light-JS)
#### Java/Android
- [x] [Head First Java](https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208/ref=pd_sbs_14_t_1?_encoding=UTF8&psc=1&refRID=CRZ192X55A2DSC25MA4Q)
- [x] [Android Programming: The Big Nerd Ranch Guide](https://www.bignerdranch.com/books/android-programming/)
## Articles & Blog Posts
- [x] [What Is Code? (Bloomberg)](https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/)
- [ ] [Programming in the 21st Century](http://prog21.dadgum.com/)
- [x] [Learn Redux by coding a mini-Redux](http://blog.jakoblind.no/2017/03/13/learn-redux-by-coding-a-mini-redux/)
- [ ] [React/Redux Links](https://github.com/markerikson/react-redux-links)
- [x] [Understanding _this_ once and for all](https://journeyintojavascript.quora.com/understanding-this-once-and-for-all)
- [x] [An introduction to how JavaScript package managers work](https://medium.freecodecamp.com/javascript-package-managers-101-9afd926add0a#.4fa1bk7eu)
- [x] [Explaining public-key cryptography to non-geeks](https://medium.com/@vrypan/explaining-public-key-cryptography-to-non-geeks-f0994b3c2d5#.sx0wi3jis)
## Code challenges
- [ ] [LeetCode](http://www.leetcode.com)
- [ ] [Project Euler](http://www.projecteuler.net)
## Git
- [x] [Learn Git Branching](http://learngitbranching.js.org/)
- [x] [The Git Parable](http://tom.preston-werner.com/2009/05/19/the-git-parable.html)
## Talks
- [x] [Philip Roberts: What the heck is the event loop anyway? | JSConf EU 2014](https://www.youtube.com/watch?v=8aGhZQkoFbQ)
- [x] [Bret Victor - Inventing on Principle](https://vimeo.com/36579366)
## Podcasts
- [x] [Software Engineering Daily](http://www.softwareengineeringdaily.com)
- [x] [JavaScript Air](https://javascriptair.com/)
- [x] [Syntax](http://styntax.fm)
- [x] [Indie Hackers](https://www.indiehackers.com/)