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. Since 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. That's great advice. Thank you! [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. > 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. Can you show me an example of the messy detail that taocp discusses, which other textbooks skip and where this messy detail matters in a big way. Since you have been reading this book for 30 years - you should have at least one example. As an aside, taocp is not the backbone of "everything else". Knuth his self offers the mathematics as something that is not for all readers. There are also the 40+ rated exercises and the historical accounts. In volume 4a there are even 40+ rated exercises entailing finding the errors in historical approaches to combinatorics. Not that that’s anything I am doing. But I just pleasurably whiled away a couple of hours reading about satisfyability and Horne and Krom clauses and Boolean median functions. The section on Horne clauses had some interesting implications for expressing bnf like grammars in Prolog and the Boolean median functions gave me a different way of thinking about consensus. That’s what happens when I pick Knuth up and why I keep doing it even on the thinnest of pretexts e.g. this. Anyway a backbone is a backbone. Not having fingers and toes and elbows doesn’t change that. Once again you have not provided any messy details that matter in a big way and cannot be found in other books on the topic. You are right. Taocp 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. You're free to disagree with the advice given here but don't turn this into personal attacks. I’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. Can 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. Have you checked out 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. Here are some results when this question was asked last time: 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&qu.... This 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&que... the 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... Sry 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! Try an undergrad complexity theory course https://www.youtube.com/channel/UCWnu2XymDtORV--qG2uG5eQ/pla... That looks pretty cool, thanks for the info. I think I’m gonna go buy it for the hell of it. There 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. teachyourselfcs.com