4 ms·
What are some resources to help self-taught developers learn CS theory?
I'm interested in books or other resources that can help teach computer science fundamentals and theory for people (me...) who have a strong development background but no formal education.
- memexy 6y agoHere are some results when this question was asked last time: https://hn.algolia.com/?q=%22computer+science+fundamentals%22 https://hn.algolia.com/?q=%22computer+science+fundamentals%2.... Start there and if you still can't find what you need then make your question more focused. I also searched for "computer science" "books" and got even more results: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=%22computer%20science%22%20%22books%22&sort=byPopularity&type=story https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu....
- travmatt 6y agoteachyourselfcs.com
- joyj2nd 6y agohttps://bigmachine.io/products/the-imposters-handbook/ https://bigmachine.io/products/the-imposters-handbook/
- millerm 6y agoThat looks pretty cool, thanks for the info. I think I’m gonna go buy it for the hell of it.
- joyj2nd 6y agoThere are two books. Only one is available in the print version. The other one may be available in print soon. The one that is available in print just arrived in my mail but I have not read it.
- hejja 6y agohttps://teachyourselfcs.com https://teachyourselfcs.com
- brudgers 6y ago[my standard unpopular answer] CS is hard for everyone. There are no easy parts. Even for Knuth who has been writing The Art of Computer Programming for almost sixty years. It was started when everybody was self taught. It is still for self-teaching. Even for people with degrees. Even if that degree is a PhD. Don't get me wrong. I'm not saying "don't use anything else." But TAoCP is the backbone of everything else. It's all the messy details and the messy details matter a big part of the time. It is good to be fearful of the messy details. It is bad to be afraid of them. Good luck.
- random314 6y agoTaocp is absolutely not a good introduction to computer science and is also not advisable as an undergraduate algorithms book. It is only partially complete and does not touch concurrency, parallelism, complexity theory or the theory of computation. It is more of a comprehensive reference work for a small selection of topics. The fact that you think taocp is the backbone for everything else tells me that you have not actually read the book, just like everyone else.
- brudgers 6y agoI’ve been reading TAoCP for about thirty years. Most of it is still outside my understanding. But nothing has done more to increase my understanding. Nobody is going to master the material in Knuth. Including Knuth. Even when he finishes.
- random314 6y agoCan you explain with reference to appropriate section of TAOCP 1. How to parse a context free grammar 2. Cooks Theorem 3. Hindley Milner Type inference algorithm 4. No free lunch theorem in Machine Learning 5. The 2 phase and 3 phase commit protocols 6. The PAXOS consensus problem 7. The Bakers algorithm for mutual exclusion 8. The Diagonalization argument of Alan Turing - The Halting problem 9. The RSA public key encryption algorithm 10. A proof of undecidability via Lambda Calculus I have a copy, and I could find none of these topics discussed in TAOCP. You can pick up any of these topics and absolutely none of the original works describing these works uses the TAOCP as a front bone/ back bone or anything else. In fact, TAOCP uses original research work such as those described above as its backbone and summarizes them in a reference. With additional rigorous analysis using MMIX, which the original papers probably skipped. Either you haven't read the book in any detail or have no idea about how CS research works and how research scholars and professors arrive at new results.
- dragon96 6y agoSince so many CS professors make their course materials available for free, you should take advantage of that and piggyback off of multiple sources. I often search for "[Concept] lecture notes", choose one of the links (based on reputability, amount of math, etc.), and check that the other sources say the same thing. You'd be surprised the extent which an independent explanation can fill in the gaps of your understanding. CS theory is fairly modular, so there's no need to stick to a single set of course notes or textbook for different topics -- just find whoever does it best for a given topic. Also do lots of problems.
- hookedonwinter 6y agoThat's great advice. Thank you!
- gcoppini 6y agothe imposters handbook DON'T HAVE A CS DEGREE AND FEEL LIKE YOU SHOULD? Hey I don't have one either and I always managed to get the job done anyway... then again... https://bigmachine.io/products/the-imposters-handbook/ https://bigmachine.io/products/the-imposters-handbook/
- terrycody 6y agoSry but are there any special regard this book? Update: by simply checking the video and their site, I can say this book has REAL values, I will definitely read it one day, this is a really really must have book, wow, amazing find for myself today lol, thank you guys for sharing this!
- hackermailman 6y agoTry an undergrad complexity theory course https://www.youtube.com/channel/UCWnu2XymDtORV--qG2uG5eQ/playlists https://www.youtube.com/channel/UCWnu2XymDtORV--qG2uG5eQ/pla...
- rxsel 6y agoHave you checked out https://teachyourselfcs.com https://teachyourselfcs.com My personal belief if that there really are no rules to how you go about learning a given subject. If reading isn't your preferred method of learning, find an alternative source, on the same subject, in your medium of choice.
- yesenadam 6y agoThis question is asked on HN all the time, every week it seems. Here's one search that brings up hundreds of answers from the last year alone. https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=resources%20learn%20CS&sort=byDate&type=story https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...