Computing Programming Programs consist of definitions and expressions.
Large programs consist of hundreds and thousands of definitions and expressions.
Programmers design functions, use other programmer's functions, leave, start on the project. Without a strong discipline we cannot hope to produce software of high quality. The key to programming discipline is to understand the design of programs as a means to describe computations, which, in turn, means to manipulate data through combinations of basic operations. If the classes are unusual or new, we make up examples so we understand the structure of the class description. After we understand the world of information surrounding our project and its data representation, we make a plan.