Section 1: Systematic Program Design

 Table of Contents > Chapter 1 > Section 1  

In this course we demonstrate how to apply the design recipes learned in CPSC 110 to the Python programming language.  Conceptually, much of the material that you see in this chapter will not be new to you.  However, the expression of some of the concepts that you learned in CPSC 110 will look quite different in Python.  When feasible, we will draw parallels with material you learned in CPSC 110 in an effort to make the transition to Python as easy as possible.

There are two underlying themes in the design methodology learned in CPSC 110 that will remain at the focus of this course.  First, that information in the world is represented as data in our programs, and that data in our programs is interpreted as information in the world.  For example, if we wish to convert Celsius temperatures to Fahrenheit, we work with a Celsius temperature as information in the world and choose an appropriate type of data with which to represent it in our program.  Our program then performs a computation on that data to produce another piece of data that we then interpret as a Fahrenheit temperature. 
 


Information vs. Data

The second underlying theme is that the shape of the data that a program processes governs the shape of that program.  We will consider a number of different types of data, of varying degrees of complexity, and demonstrate that the fundamental shape of the program is independent of the particular computation that we wish to perform on that data.

These two themes allow us to approach program design in a consistent, systematic way.