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 Adam Wiggins - 12factor.net
This document synthesizes all of our experience on a wide variety of software-as-a-service apps in the wild. It is a triangulation on ideal practices for app development, paying particular attention to the dynamics of the organic growth of an app.
by Anoop Madhusudanan
The objective of this book is to introduce software design patterns to you in a simple, human readable, and funny way -- in the context of designing a soccer engine -- By discussing the thought process behind applying design patterns.
by Stephen Bloch - College Publications
Picturing Programs is a textbook for beginning computer programming, not directed towards learning a particular programming language, but rather at learning to program well. This book can be used at the high school or college level.
This document will focus on optimizing code to run faster. The intended audience of this text are software developers, primarily programmers who know at least one programming language well enough to write moderately complex programs.