1.1. Introduction: The Way of the Program

The goal of this book is to teach you to understand and create computer programs in Python. At the beginning of each chapter, we will outline for you the learning goals and objectives that should be accomplished once you have gone through the chapter.

Understanding computer programs requires algorithmic, mechanistic thinking. Programs specify mechanistic sequences of actions to perform; when executed, they transform input data into output data. They execute very reliably, and very fast, but not creatively. Computers do what you tell them to do, not what you mean for them to do. Thus, understanding computer code involves a lot of mental simulation of what will actually happen, not what you wish would happen.

Writing computer programs requires not only mechanistic thinking but creative problem solving. Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem solving skills.

1.1.1. Learning Goals

  • Introduce terminology used in computer science
  • Introduce the features of this book
  • Describe the purpose of programming languages
  • Distinguish between formal & natural languages

1.1.2. Objectives

  • To be able to use the activecode component and multiple choice questions in textbook
  • To be able to use and interpret the Codelens component
  • To be able to describe what a comment is
Next Section - 1.2. Algorithms