3 ms·
Thanks so much for all that. Will definitely work my way through your post and check them all out. Much appreciated.
by Andrenid 12y ago
Thanks so much for all that. Will definitely work my way through your post and check them all out. Much appreciated.
- HillRat 12y agoI should point out that my academic background was political science and econometrics, with only a smattering of comp. sci courses in college, so I'm also an autodidact in computer science -- my recommendations come from my own experience. You will want Knuth's TAOCP (especially since you mentioned you've had trouble with sorting and searching algorithms), but it's not something to start with. Likewise, Hopcroft and Ullman's "Introduction to Automata Theory, Languages and Computation" is a crucial text, but it's highly abstract (much more so than Knuth, which is a very practical work) and very, very slow going. Pick it up later when you're comfortable with mathematical formalisms. You'll want to, relatively early on, find a readable introduction to discrete mathematics (the mathematics of "countable" objects, like sets and integers) and some of the more useful optimization techniques like linear programming. I used Grimaldi's "Discrete and Combinatorial Mathematics" to good effect. Eventually, pick up some good textbooks on programming language design (not parsing and compilation), like Turbak et al's "Design Concepts in Programming Languages" and Finkel's "Advanced Programming Language Design." Also, a few more sitting on my bookshelf that I also highly recommend -- "Computer Organization and Design," "Operating System Concepts" (the famous "Dinosaur book"), and (if you want to get into the nuts and volts of hardware), Horowitz's "Art of Electronics." Great works. That should tide you over for the next few years -- but it'll be fun reading. Really!