1.1. Introduction: The Way of the ProgramΒΆ
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
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