Widely considered one of the best practical guides to programming,
Steve McConnell’s original CODE COMPLETE has been helping developers
write better software for more than a decade. Now this classic book
has been fully updated and revised with leading-edge practices—and
hundreds of new code samples—illustrating the art and science of
software construction. Capturing the body of knowledge available from
research, academia, and everyday commercial practice, McConnell
synthesizes the most effective techniques and must-know principles
into clear, pragmatic guidance. No matter what your experience level,
development environment, or project size, this book will inform and
stimulate your thinking—and help you build the highest quality code.
Straight from the programming trenches, The Pragmatic Programmer: From
Journeyman to Master cuts through the increasing specialization and
technicalities of modern software development to examine the core
process—what do you do, as an individual and as a team, if you want to
create software that’s easy to work with and good for your users. 2
Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.
Don Knuth's Art of Computer Programming. Why? Because I want it and I'll never buy it.
As a whole it's more expensive than the paltry sum you mentioned. But seriously, this is the book that will get people doing your contest. If you're gonna do 4 at a time, you could just give it away every time!
Peter Seibel interviews 15 of the most interesting computer
programmers alive today in Coders at Work, offering a companion volume
to Apress’s highly acclaimed best-seller Founders at Work by Jessica
Livingston. As the words “at work” suggest, Peter Seibel focuses on
how his interviewees tackle the day-to-day work of programming, while
revealing much more, like how they became great programmers, how they
recognize programming talent in others, and what kinds of problems
they find most interesting.
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from its principles and guidance
You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you’ll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you’ll broaden your perspective of programming by examining these languages side-by-side. You’ll learn something new from each, and best of all, you’ll learn how to learn a language quickly.
"Introduction to Algorithms, the 'bible' of the field, is a comprehensive textbook covering the full spectrum of modern algorithms: from the fastest algorithms and data structures to polynomial-time algorithms for seemingly intractable problems, from classical algorithms in graph theory to special algorithms for string matching, computational geometry, and number theory. The revised third edition notably adds a chapter on van Emde Boas trees, one of the most useful data structures, and on multithreaded algorithms, a topic of increasing importance."--Daniel Spielman, Department of Computer Science, Yale University