CS Classics

Design Patterns: Elements of Reusable Object-Oriented Software
Book by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm

 
Art of Programming
Donald E. Knuth

Algorithms:
Robert Sedgewick and Kevin Wayne

Computers and Intractability: A Guide to the Theory of NP-Completeness
Michael Garey and David S. Johnson

Specifying systems: the TLA+ language and tools for hardware and software
Leslie Lamport

Computational Science and Engineering
Gilbert Strang

The Elements of Programming Style
Brian Kernighan and P. J. Plauger

Discrete Event Simulation: First Course
Larry H Leemis, Stephen K. Park