Fork me on GitHub

Self-Taught CompSci

Suprise. I don’t have a Computer Science degree. I’ve been working for over 12 years on the web now and it hasn’t slowed me down much. When I was applying to college, I applied for CompSci, but by the time I was actually ready to go, I had become disheartened by it – 20% because I’m much better at general problem solving then hardcore math and 80% because I didn’t really like the people (no offense). I ended up getting a degree in Art History, something I’m proud of, but hasn’t exactly helped me with a career. Obviously, I got back in to web development.

Now, as I get deeper and deeper into more extreme development scenarios and harder problems, I’m wishing I could learn more about the actual field of Computer Science. The fact is, as much as you might think your problem/challenge is unique, someone has solved it before, and probably written about it, too.

So in a effort to gain knowledge, I decided to tap some of the smartest people I know – nyc.rb Not only did they return with a ton of great links and ideas, but also in talking to Luke at last weeks meetup, I found a kindred spirit and hopefully were going to do some sort of study group hack sessions in the future.

I’ve compiled all the books and other resources they suggested below. Thanks to Mike Dalessio, Paul Dix, Jonathan Katz, Ben Stein, Pat Nakajima, Anton Maximov, and the rest of nyc.rb.

AMZ = Amazon
WIKI = Wikipedia
PDF = duh
WWW = home page
Note: I also found if you’re interested in purchasing these books, straying from amazon and looking at some of the used university book sites as they generally have better prices

Books

General Computing

Structure and Interpretation of Computer Programs, 2nd Edition, Harold Abelson and Gerald Jay Sussman WWW AMZ PDF

The Art of Computer Programming, Donald E. Knuth WIKI AMZ

Introduction to the Theory of Computation, Michael Sipser AMZ

Machine Learning, Thomas Mitchell AMZ

Languages

Programming Languages: Principles and Paradigms, Allen B. Tucker AMZ

Algorithms

Introduction to Algorithms, Thomas Cormen (et. all) AMZ

Algorithms in C++, Parts 1-4, Robert Sedgewick AMZ

The Algorithm Design Manual, Steven S. Skiena AMZ

Math

Linear Algebra and Its Applications, David C. Lay AMZ

Introduction to Mathematical Statistics and Its Applications, Richard J. Larsen AMZ

First Course in Probability, Sheldon Ross AMZ

Other Resources

A number of universities (including MIT) have put up audio and video for entire courses that can be downloaded through iTunes. MIT specifically has a number of classes on Algorithms and engineering tought by some of the authors above.

4 Responses to “Self-Taught CompSci”

I have to second the Knuth suggestion – you will learn more useful stuff from reading (and comprehending) Knuth end-to-end than most CS grads learn in the process of getting their degrees.

Scott T. Says: #

so if you were to begin such a study group, where would one sign up to be notified in the event?

AQ Says: #

@Scott T: If it does get going (dependent on interest) I’ll announce something on the nyc.rb mailing list.

Thanks!

Scott T. Says: #

@AQ, thanks. I’ll stay tuned. If it helps, I think a colleague & I would be down. He’s a java guy (mostly) and I’m a php/js/ruby guy. I never finished my CS degree (ended up doing most of CS and cognitive psych but couldn’t afford to finish either, so left w/ a “general studies” degree) — I always feel like I missed the deeper stuff.

Leave a Reply