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
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