; The General Program Design Recipe
(
("Data Analysis and Definition *optional*"
 "to understand the disjoint intervals of numeric information that are to be processed" )

("Contract and Header"
 "to write down the most basic information about the program:
  \\begin{enumerate}
  \\item to specify how many numbers the program consumes; 
  \\item to choose a program name and names for its parameters; and 
  \\item to document its purpose in a short comment.
  \\end{enumerate}")

("Program Examples"
 "to formulate examples of the program's input-output behavior (using the
 data definitions)" )
 
("Body"
 "to produce a complete program by filling the gaps in the template")

("Test"
 "to test the program's behavior on the specified examples")
)
