
What are some resources to help self-taught developers learn CS theory? - hookedonwinter
I&#x27;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.
======
dragon96
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.

~~~
hookedonwinter
That's great advice. Thank you!

------
brudgers
[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
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.

~~~
brudgers
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.

~~~
random314
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.

------
hejja
[https://teachyourselfcs.com](https://teachyourselfcs.com)

------
rxsel
Have 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.

------
memexy
Here are some results when this question was asked last time:
[https://hn.algolia.com/?q=%22computer+science+fundamentals%2...](https://hn.algolia.com/?q=%22computer+science+fundamentals%22).
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...](https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=%22computer%20science%22%20%22books%22&sort=byPopularity&type=story).

------
yesenadam
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...](https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=resources%20learn%20CS&sort=byDate&type=story)

------
gcoppini
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...

[https://bigmachine.io/products/the-imposters-
handbook/](https://bigmachine.io/products/the-imposters-handbook/)

~~~
terrycody
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!

------
hackermailman
Try an undergrad complexity theory course
[https://www.youtube.com/channel/UCWnu2XymDtORV--
qG2uG5eQ/pla...](https://www.youtube.com/channel/UCWnu2XymDtORV--
qG2uG5eQ/playlists)

------
joyj2nd
[https://bigmachine.io/products/the-imposters-
handbook/](https://bigmachine.io/products/the-imposters-handbook/)

~~~
millerm
That looks pretty cool, thanks for the info. I think I’m gonna go buy it for
the hell of it.

~~~
joyj2nd
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.

------
travmatt
teachyourselfcs.com

