# Resources ## Algorithms and Data Structures J.Wengrow. 2017. **A Common Sense Guide to Data Structures and Algorithms** S. Skienna. 2011. **The Algorithm Design Manual** A. Bhargava. 2016. **Grokking Algorithms: An Illustrated Guide** McDowell. 2009. **Cracking the Coding Interview** [for useful algorithm exercises] ## Artificial Intelligence P. Norvig, S. Russell. 2020. **Artificial Intelligence: A Modern Approach** N. Weiner. 1948. **Cybernetics** ## Backend (general) [Backend Roadmap](https://roadmap.sh/backend) [DevOps Roadmap](https://roadmap.sh/devops) [Software Design Roadmap](https://roadmap.sh/software-design-architecture) ## C [Everything I wish I knew when I started learning C](https://tmewett.com/c-tips/) ## Computer Science (general) Abelson, Sussman. 1998. **Structure and Interpretation of Computer Programs** [Welcome to CS](https://runestone.academy/ns/books/published/welcomecs/index.html) [Open Source self-taught CS course](https://github.com/ossu/computer-science) [roadmap.sh/computer-science](https://roadmap.sh/computer-science) ## Electronics, hardware, computer architecture M.Justice. 2020. **How Computers Really Work** J.C. Scott. 2009. **But How Do It Know? The Basics of Computers for Everyone** G. Walters. 2001. **The Essential Guide to Computing** C. Roberton. 1008. **Fundamental Electrical and Electronic Principles** Hennesy, Patterson. 2020. **Computer Organization and Design** ([BBC O'Reilly Link](https://learning.oreilly.com/library/view/computer-organization-and/9781483221182/)) Bryant, O'Halloran. 2016. **Computer Systems: A Programmer's Perspective** N.Nisan, S.Schoken. 2021. **The Elements of Computing Systems** (Second Edition) [How do transistors work, anyway?](https://lcamtuf.substack.com/p/how-do-transistors-work-anyway) [NAND latch](http://hyperphysics.phy-astr.gsu.edu/hbase/Electronic/nandlatch.html) [Lessons in Electric Circuits](https://www.allaboutcircuits.com/textbook/) [full textbook] ## General programming R.C.Martin. 2008. **Clean Code** Hunt, Thomas. 1999. **The Pragmatic Programmer** ## Linux B.Ward. 2021. **How Linux Works** ## Mathematics and Logic M. Bergmann, J. Moor, J.Nelson. 1990. **The Logic Book** J. Vince. 2015. **Foundation Mathematics for Computer Science** Gelfand, Shen. 2004. **Algebra** J.Kun. 2018. **A Programmer's Introduction to Mathematics** E. Lehman, F. Thomson Leighton, A.R. Meyer 2017. **Mathematics for Computer Science** ## Networks G. Caldarelli, M. Catanzaro. 2012. **Networks: A Very Short Introduction** [Course: NodeJS Essential Training (LinkedIn Learning)](https://www.linkedin.com/learning/node-js-essential-training-14888164) [Course: Building RESTful APIs with Node.js and Express](https://www.linkedin.com/learning/building-restful-apis-with-node-js-and-express-16069959) ## Python A. Sweighart. 2020. **Beyond the Basic Stuff with Python** A. Sweighart. 2015. **Automate the Boring Stuff with Python** J. Hunt. 2019. **A Beginner's Guide to Python Programming** J. Hunt. 2019. **An Advanced Guide to Python Programming** [Tiny Python Projects (O'Reilly)](https://learning.oreilly.com/library/view/tiny-python-projects/9781617297519/) [Learning Arduino with Python](https://realpython.com/arduino-python/) [Python Programming Exercises](https://github.com/zhiwehu/Python-programming-exercises/blob/master/100%2B%20Python%20challenging%20programming%20exercises.txt) ## Shell B. Perry, D. Taylor. 2015. **Wicked Cool Shell Scripts** [What is the difference between `${var}`, `"$var"`, and `"${var}"` in the Bash shell? (Stack Overflow)](https://stackoverflow.com/q/18135451/10484600) [AWK tutorial](https://zetcode.com/lang/awk/) ## SQL [Course: MySQL Essential Training (LinkedIn Learning)](https://www.linkedin.com/learning/mysql-essential-training-2) [Course: MySQL Advanced Topics (LinkedIn Learning)](https://www.linkedin.com/learning/mysql-advanced-topics)