Skip to main content

Section 1.2 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 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.

Subsection 1.2.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

Subsection 1.2.2 Objectives

  • To be able to use the activecode component and multiple choice questions in the textbook
  • To be able to use and interpret the Codelens component
  • To be able to describe what a comment is

Subsection 1.2.3 Get in the Learning Zone

Programs execute very reliably, and very quickly, 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. This can be frustrating at times but it’s something that you will get better at with practice. As you go through the activities in this class, some will be easy for you to complete, i.e. in your comfort zone. Being in your comfort zone is nice but it probably means you are not learning very much. More challenging activities will encourage you to think through the problems and to refer back to the reading to allow you to enter your learning zone. This is the zone that you strive to be in for as much of the course as possible. Beyond your learning zone lies the panic zone where the problem overwhelms your ability to grow and learn. If you find yourself in the panic zone, please seek help from your instructor and/or classmates: none of the activities in this book are intended to stump you. As you understand how to solve some simpler problems, you will develop the ability to join these solutions together to solve increasingly challenging problems with real-world applications.
In addition to mechanistic thinking, writing computer programs requires creative problem solving or the ability to identify a complex situation, think creatively about possible solutions, and express those solutions clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem solving skills you can use in other parts of your life. We sincerely believe that the combination of knowledge of Python, creative problem solving skills and expressing those solutions in such a way that a computer can effectively carry them out (computational thinking) will make you more productive and efficient in tackling your work in future classes, whether in Computer Science, Business, Psychology or History. And it may even pique your interest in becoming a Data Scientist or a Computer Scientist.
You have attempted of activities on this page.