Ask HN: going back to school, what books before CS?
Hello all, I'm going back to grad school to get my MS in CS starting next fall (in the US) and I'm wondering what books you would recommend reading before then? When I start, I'll have been out of school for 9 years, and I've been doing work with Java/Struts/Spring, Ruby/Rails, Python/Django since I graduated. It's been awhile since I did the academic stuff, and so I haven't worked a ton with Data Structures, Algorithms, etc. What would you recommend? Thanks.
10 comments
[ 4.3 ms ] story [ 36.0 ms ] threadAs for algorithms and data structures, I found that learning OCaml greatly improved my understanding of both. Working through the exercises in chapters 2-4 of _Developing Applications in Objective Caml_ (online: http://caml.inria.fr/pub/docs/oreilly-book/) would be a good approach. OCaml has an especially good notation for them - using it (rather than Java or C) will make them easier to reason about. You could probably work through those chapters in a weekend or two. Whether you use OCaml in the future or not, the insights and notation will stick.
I also hadn't thought about looking into/testing out other programming languages in order to learn about programming! How absurd is that! I've bookmarked the OCaml O'Reilly book and will try looking into that this Spring, thanks.
Other people will recommend SICP (http://mitpress.mit.edu/sicp/), or would have, had this reached the front page. That's also quite good, but a bit more narrow in focus - depth rather than breadth.
I've been toying with this idea for a while, but haven't able to take this step for various 'excuses'(not enough money ~atm).
Would you mind sharing what went through your mind to finalize this?
What factors influenced you(made-your-money? unemployment? ..??)
Have you already finalized your specialization? Has anyone influenced you in choosing your subjects?
finally, What are you doing for math-prep for CS classes?
fwiw- 'how to prove it' -velleman has helped me to some extent. (http://www.amazon.com/How-Prove-Structured-Daniel-Velleman/d...)
It was the right time. I'm married and my wife got a job at a great place and has been there over a year. I've been doing consulting, so I'm not tied down to a job.
//What factors influenced you(made-your-money? unemployment? ..??)
I really wanted to go back to school. I worked while my wife went to grad school (speech pathology). She agreed to work while I went back (she's awesome like that).
//Have you already finalized your specialization? Has anyone influenced you in choosing your subjects?
I've talked to my graduate advisor, but I don't have a specialization just yet. I'm leaning towards programming languages, as that's what I really enjoy. I'm also interested in AI and numerical computation. I'm really open to suggestions, but no one in particular has influenced me into picking something specific (yet).
//Finally, What are you doing for math-prep for CS classes?
I've reread through some Linear Algebra, Differential Equations, Calculus, and Number Theory books in the past three years, without too many problems. I'd still like to look over some Real Analysis, etc but I feel a bit more urgency to get into algorithms, etc at the moment.
Thanks for the suggestion, I've added Velleman to my wish list.
[1] http://www.htdp.org/ [2] http://www.ccis.neu.edu/scheme/pubs/jfp2004-fffk.pdf