CS 301.02 F17 Resources

Main Texts

Skiena, Steven S. (2008). The Algorithm Design Manual, 2nd Edition.
Springer-Verlag.

I like the Skiena book because it helps you think carefully through algorithm design and it’s not quite as overwhelming as the CLRS text. Unfortunately, Skiena does not cover all of the important data structures in depth, so I will provide supplementary material to help you understand those structures.

Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., and Stein, Clifford (2009). Introduction to Algorithms, 3rd Edition. MIT Press.

A classic (and somewhat exhaustive) text on algorithms. This text is an excellent reference, but is also somewhat dense. As a professional computer scientist, you’ll want it on your bookshelf, but it will supplement the Skiena text.

Skiena, Steven S. (n.d.). Web Site for The Algorithm Design Manual, 2nd Edition. http://www.algorist.com/.

The Web site includes lecture slides and some audio/video material.

Recommended Texts

Cormen, Thomas H., Leiserson, Charles E., Rivest, Ronald L., and Stein, Clifford (2009). Introduction to Algorithms, 3rd Edition. MIT Press.

A classic (and somewhat exhaustive) text on algorithms. This text is an excellent reference, but is also somewhat dense. This text is optional. As a professional computer scientist, you’ll want it on your bookshelf, but it will supplement the Skiena text.

Knuth, Donald E. (2011). The Art of Computer Programming, Volumes 1-4a. Addison-Wesley.

If I were braver, I’d make this the required text for the course. These texts are dense, thorough, and classic. As you progress in CS, you’ll find yourself turning to these volumes to challenge yourself to think more carefully, more deeply, and more clearly.

Wikipedia is also shockingly useful for examples of how various algorithms work.