User Interface Design for Programmers

Sponsor Advertisement

My image
  • Author: Joel Spolsky
  • Format: online HTML, (print edition available for purchase at
  • Price: free (print edition $19.77)

User interface design is straightforward, easy, and most of all fun. There is no reason to be afraid. It is all about making people happy by providing them with what they expect. The rules are simple, and all you have to do is follow them. This book will explain what those rules are, so you can design user interfaces that work and behave as expected and cause less frustration to the user.

Chapters include:

  • Controlling Your Environment Makes You Happy
  • Figuring Out What They Expected
  • Choices
  • Affordances and Metaphors
  • Consistency and Other Hobgoblins
  • Designing for People Who Have Better Things To Do With Their Lives
  • Designing for People Who Have Better Things To Do With Their Lives, Part Two
  • Designing for People Who Have Better Things To Do With Their Lives, Part Three
  • The Process of Designing a Product

Print edition contains 7 new chapters not found in the online edition.

The Programmers’ Stone

Sponsor Advertisement

  • Author: Alan & Colston
  • Format: online HTML (formatted for easier printing)
  • Price: free

This book is an eight day beginner level course, non language specific, delivered two days a week for four weeks. The goal is to put the fun into programming while you are learning and to help the reader either become a better programmer, understand what less experienced programmers are struggling with, or communicate more effectively with other experienced programmers.

Chapters include:

  • Thinking about Thinking
  • Thinking about Programming
  • The Programmer at Work
  • Customs and Practices
  • Design Principles
  • Prudence and Safety
  • Some Weird Stuff…

Visit: The programmer’s Stone

Structure and Interpretation of Computer Programs

Sponsor Advertisement

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

Software Engineering for Internet Applications

Sponsor Advertisement

My image
  • Author: Eve Andersson, Philip Greenspun, Andrew Grumet
  • Format: online HTML, (print edition available for purchase at
  • 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)

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

Sponsor Advertisement

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.