Found in 3 comments on Hacker News
mlevental · 2019-08-18 · Original thread
>Go ahead and get your free copy of Avi Wigderson's Mathematics and Computation

i've seen some ridiculous virtue signaling recommendations on hn before but this takes the cake. have you actually read the book? wigderson is an IAS professor (for those that don't know, einstein and godel were IAS professors) and this book is a research survey (most of the theorems have refs to papers). i've read both sipser and hopcroft ullman and i'm still pretty far away from being able to easily read it. and you're recommending this to someone that learned js from a bootcamp. you think maybe she's not the target audience?

so that i'm not labeled as just a critic: the standard formal languages book is sipser

it's colloquial and has a lot of diagrams and "intuition". people really like it but i actually think hopcruft ullman is better because it's more structured

alok-g · 2013-11-24 · Original thread
See Ullman's book [1] for more details on formal proofs.

Basically you can emulate the Turing machine's tape on the left side of the head with one stack and on the right side with the second stack.

An important question to now ask would be what happens if the tape in the machine has more than two directions; say for example it has a two-dimensional tape. The head may move left, right, but also up and down. It can be proven that such a machine would not be any more capable than the Turing machine with a 1D tape. Again see Ullman's book for details.


mdkess · 2013-10-07 · Original thread
Man, don't let people discourage you.

I guess the thing that you should realize though is that this isn't a degree in computer programming, or IT - it's a more or less a mathematics degree. As the saying goes, "Computer Science is no more about computers than astronomy is about telescopes."

If you want to get ready for serious computer science, I'd recommend a few things which are what I think I got out of my undergraduate degree:

1. A solid understanding of algorithms and data-structures. To this end, is invaluable and some serious study will quickly bring you up to speed. CLRS (Introduction to Algorithms) is a great resource, as is

2. A basic understanding of theoretical computer science. To that end, I found this a really useful book:

3. Basic understanding of networking and operating systems. Not sure the best route here, there must be online courses. Not too many great self-study books in this area, unfortunately. So find some online courses.

4. A decent math background: linear algebra, calculus, combinatorics, and probability. For self study:

    Calculus: Stewart's Calculus is great.

    Linear Algebra: I've yet to meet a linear algebra text I liked, so not sure here.

    Probability: A First Course in Probability is an outstanding textbook.

    Other: Concrete Mathematics by Knuth is an incredible book, very VERY hard and took me a long time to get through, but packed with useful and interesting information. I'd recommend it after the rest of these.
5. Read Snow Crash and watch Hackers.

Also, keep writing lots of code. Daily practice is the secret to everything.

Fresh book recommendations delivered straight to your inbox every Thursday.