Live data from Hacker News

Ask HN: Self taught programmer, now wanting to learn more about CS theory

news.ycombinator.com

1–10 of 20 posts

Re: Ask HN: Self taught programmer, now wanting to learn more about CS theory

#6
I'm really enjoying Types and Programming Languages right now. Imagine that rather than explaining typing using metaphors (a useful activity), people started at a much lower level and built up from there. That's this book!

https://www.cis.upenn.edu/~bcpierce/tapl/

Re: Ask HN: Self taught programmer, now wanting to learn more about CS theory

#8
maths:

- Linear algebra (fischer's book)

- analysis (koenigsberger's book)

- discrete maths (zorich's books)

- probability theory (all of stats - wassermann)

foundations:

- parallel programming (A minicourse on multithreaded programming Charles E. Leiserson, Harald Prokop.)

- algorithms and datastructures (Widmayer's book)

core:

- systems (Computer Systems: A Programmer's Perspective" (3rd Edition) by R. Bryant and D. O'Hallaro)

- network (Computer Networking: A Top-Down Approach, James F. Kurose and Keith W. Ross)

- numerical methods

- data modeling and dbs

- formal methods and functional programming (Miran Lipovača. Learn you a Haskell for great good!)

(eth zurich's bachelors)

All the books are one google search away.

Re: Ask HN: Self taught programmer, now wanting to learn more about CS theory

#9

TLA+. This will make you a better programmer. http://lamport.azurewebsites.net/video/videos.html

TLA+ and similar tools are certainly interesting but hardly something I could recommend as an early step to take for someone wanting to learn more about CS.

If you want to prove protocols correct, sure, but for someone wanting to move from knowing something about programming to something more, this is not one of the first (20) steps I would recommend.

Re: Ask HN: Self taught programmer, now wanting to learn more about CS theory

#10
Two books (get used copies for cheap);

* Foundations of Computer Science - http://infolab.stanford.edu/~ullman/focs.html

* Specifying Software: A Hands-On Introduction - https://www.amazon.com/Specifying-Software-Hands-Introductio... The name is a misnomer. See the ToC. This is actually a practical introduction to CS theory.

Post reply on HN