Date Added: May 2012
In first-year programming courses it is often difficult to show students how an algorithm can be discovered. In this paper, the authors present a program format that supports the development from specification to code in small and obvious steps; that is, a discovery process. The format, called Matrix Code, can be interpreted as a proof according to the Floyd-Hoare program verification method. The process consists of expressing the specification of a function body as an initial code matrix, and then growing the matrix by adding rows and columns until the completed matrix is translated in a routine fashion to compilable code. As worked example they develop a Java program that generates the table of the first N prime numbers.