How to Design Programs: An Introduction to Programming and Computing
by Matthias Felleisen, et al
Publisher: The MIT Press 2003
Number of pages: 720
This introduction to programming places computer science in the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills--critical reading, analytical thinking, creative synthesis, and attention to detail--that are important for everyone, not just future computer programmers.
Home page url
Download or read it online for free here:
by Agner Fog - agner.org
These manuals describe everything you need to know about optimizing code for x86 and x86-64 microprocessors, including optimization advices for C++ and assembly language, details about the microarchitecture and instruction timings of processors.
by Karl Seguin - CodeBetter.Com
Free ebook on foundations of programming and building better software by Karl Seguin. Topics covered: Domain Driven Design, Persistence, Dependency Injection, Unit Testing, Object Relational Mappers, Memory and Exceptions.
by 37signals - LL
The book covers the design, programming, marketing and business principles of 37signals. It's a book of ideas, not a design tutorial or technical book. Simple insights, unconventional approaches to software design, and contrarian points of view.
by Dustin Boswell, Trevor Foucher - O'Reilly
This book focuses on the nuts and bolts of programming, with simple and practical techniques you can use every time you sit down to write code. You'll find tips throughout the book, with easy-to-digest code examples and helpful illustrations.