The emphasis in this book is on making programs that can be read and understood by programmers not involved in their writing. It includes a short history of programming, a discussion of the programming task and its place in the life cycle model, and coverage the principles of programming.