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 Jeremy Rose - Aalborg University
This book sets out the new field of software innovation. It organizes the existing scientific research into eight simple heuristics -- guiding principles for organizing a system developer's work-life so that it focuses on innovation.
by Charles Weir, James Noble - Addison-Wesley
Offers state-of-the art programming solutions for personal digital assistants (PDAs). Includes illustrated patterns professionals can use, with implementation notes for reference, including some on the companion Web site, and examples in C++ or Java.
by Terry Winograd - Addison-Wesley
In this landmark book, Terry Winograd shows how to improve the practice of software design, by applying lessons from other areas of design to the creation of software. The goal is to create software that works -- really works.
- National Academies Press
This book identifies challenges in the development and implementation of software that contain significant statistical content. It emphasizes the relevance of using rigorous statistical and probabilistic techniques in software engineering.