Structure and Interpretation of Computer Programs

My image
  • Author: Harold Abelson, Gerald Jay Sussman, Julie Sussman
  • Format: online HTML
  • Price: free

An excellent computer science text used in introductory courses at MIT. So called because of the wizard on the jacket. One of the bibles of the LISP/Scheme world. Also, less commonly, known as the Purple Book.
from The New Hacker’s Dictionary, 2nd edition
(MIT Press, 1993)

On the site you will find the full text of the book, sample programming assignments, source code, and free implementations of the MIT Scheme programming environment.

Chapters include:

  • Building Abstractions with Procedures
  • Building Abstractions with Data
  • Modularity, Objects, and State
  • Metalinguistic Abstraction
  • Computing with Register Machines
  • References
  • List of Exercises

http://mitpress.mit.edu/SICP/

Software Engineering for Internet Applications

My image
  • Author: Eve Andersson, Philip Greenspun, Andrew Grumet
  • Format: online HTML, (print edition available for purchase at amazon.com)
  • Price: free (print edition $35.00)

This book requires some previous programming experience. It is not language specific. It will take you through the process of building multi-user internet applications, with the end results of being able to write large scale applications, similar to the ones used on most large interactive websites. Originally written for an MIT course, it is suitable for classroom use, as a textbook.

Chapters include:

  • Introduction
  • Basics
  • Planning
  • Software Structure
  • User Registration and Management
  • Content Management
  • Software Modularity
  • Discussion
  • Adding Mobile Users To Your Community
  • Voice (VoiceXML)
  • Scaling Gracefully
  • Search
  • Planning Redux
  • Distributed Computing with HTTP, XML, SOAP, and
  • WSDL
  • Metadata (programs that write programs)
  • User Activity Analysis
  • Writeup

Reference Chapters:

  • HTML
  • Engagement Management by Cesar Brea
  • Grading Standards (mostly for MIT students)

http://philip.greenspun.com/seia/

Text and Monographs in Computer Science: A Practical Theory of Programming

My image
  • Author: Eric C. R. Hehner
  • Edition: 2007-5-30
  • Format: PDF, PS (lecture visuals in PDF, only)
  • Language: English, Chinese
  • Price: free

This book is a beginners level non language specific introduction to programming. All technical terms used are explained. Each new term is underlined. There are no abbreviations, acronyms, or other obscurities of language to confuse you. No previous knowledge or experience is assumed.

Chapters Include:

  • Basic Theories
  • Basic Data Structures
  • Function Theory
  • Program Theory
  • Programming Language
  • Recursive Definition
  • Theory Design and Implementation
  • Concurrency
  • Interaction
  • Exercises
  • Reference

Solutions to exercises are available to course instructors.
http://www.cs.toronto.edu/~hehner/aPToP/

How to Design Programs: An Introduction to Programming and Computing

My image
  • Author: Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shiram Krishnamurthi
  • Editon: September 2003 Version
  • Format: online HTML
  • Price: free

This book is on program design, geared more towards beginners, that presents many ‘design recipes’. The language used is Scheme, using DrScheme, a programming environment with special assistance for beginning students.

The DrScheme programming environment is freely available at the book’s official Web site.

Chapters include:

  • Processing Simple Forms of Data
  • Processing Arbitrarily Large Data
  • Abstracting Designs
  • Generative Recursion
  • Accumulating Knowledge
  • Changing the State of Variables
  • Changing Compound Values

http://www.htdp.org/

Learn ASP.net

My image
  • Author: Charles Carroll
  • Format: online HTML
  • Price: free

Covers ASP.net programming in C# and VB.net at a beginners level.

Chapters include:

  • samples
  • lessons
  • basics
  • debugging
  • GDI+
  • databases
  • user controls
  • 3rd party libraries
  • server controls
  • speed optimizations
  • XML
  • web services
  • includes a number of free tools

Access this book on archive.org