The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Suggestion for a good programming/algorithms book

Hello. I've been a software developer for many years now and most of my experience has been involved in writing very proprietary embedded systems and firmware. I'm getting into more higher level applications development now. I feel handicapped by the fact that I don't have a computer science background, although I have a EE degree. (I got into software soon after graduation when I realized software was more fun than hardware.) I'm looking for some good books that teach the basic alogorithms, techniques, used by programmers. For example, I'm looking for an up-to-date book that discusses, sorting, parsing, linked-lists, etc. It's not that I've never done any of this stuff, but a lot of it has been done under the tutelage of others who may not be doing things correctly themselves, or I've been able to study other peoples code and use it as a basis. I'd like to take a step back and actually learn some of these basics the way a computer science student would.

Does anyone have any suggestions as to what books might be considered the de facto texts on this subject? (I once had a book called "Software Tools" by Kernighan and Plauger but it's quite dated.)

Frank L.
Friday, April 28, 2006
I found "Introduction to Algorithms" by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein ( to be a quite informative.
Chris Nelson Send private email
Friday, April 28, 2006
a few online refs:
  Data Structs & Algos with OOP --
  Structure and Interpretation of Computer Programs --

the TechBook Report site --
has good reviews of dev related books

The Art of Computer Programming (TAOCP) by Knuth are the acknowledged dev Bible, but coould be heavy slogging. Definiteley wortha look (

Honu Send private email
Friday, April 28, 2006
My favorite is the Sedgewick:
BenjiSmith Send private email
Friday, April 28, 2006
there was one with pictures of nomes or elves. I cannot remember where I saw it but if anyone knows please post a link. I was supposed to be freindlier, practical , and not as dry as others.
Tom Vu
Friday, April 28, 2006
CLR and Sedgewick are the standard textbooks; maybe one of the 'Algorithms in <your favorite language>' series might be a lighter presentation, I don't know.
Larry Lard Send private email
Saturday, April 29, 2006
BTW, Sedgewick has published editions of his book for C, C++, and Java. So, don't rule out his book because you're not a C++ programmer.

Then again, it's not like he uses any arcane features of C++.  There's no template metaprogramming or anything like that. Any Java programmer worth his salt should be able to understand the C++ edition of the book without any difficulty.

Of course, the Java edition might include special notes that are relevant to the architecture of the JVM. I've only given it a glance, so I don't know.
BenjiSmith Send private email
Saturday, April 29, 2006
+1 for "Introduction to Algorithms" mentioned above.

For in-depth parsing info, a compiler book is good (you might try "Engineering a Compiler"  or the classic but dated "Compilers" by Aho Sethi and Ullman ).
Exception Guy
Monday, May 01, 2006
Thanks, everyone, for the suggestions. They appear to be very good books form what I've been able to glean.
Frank L
Tuesday, May 02, 2006

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz