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.
24 comments
[ 3.1 ms ] story [ 64.8 ms ] threadThe one that is available in print just arrived in my mail but I have not read it.
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.
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.
Nobody is going to master the material in Knuth. Including Knuth. Even when he finishes.
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.
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".
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.
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.
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/
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!
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.
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...