Programming by Numbers: A Programming Method for Novices

Students often have difficulty with the minutiae of program construction. We introduce the idea of `Programming by Numbers', which breaks some of the programming process down into smaller steps, giving such students a way into the process of Programming in the Small. Programming by Numbers does not add intellectual difficulty to learning programming, as it does not require the student to learn additional tools or theory. In fact it can be done with pencil and paper or the normal editor, and only requires the student to remember (and understand) seven simple steps. Programming by Numbers works best with languages that offer pattern matching, such as ML, or data directed dispatching, such as Java

[1]  Xiaoping Jia ZTC: A Type Checker for Z User's Guide , 1994 .

[2]  Peter Henderson,et al.  Executing formal specifications need not be harmful , 1996, Softw. Eng. J..

[3]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[4]  Susan Stepney,et al.  High integrity compilation - a case study , 1993 .

[5]  Pieter H. Hartel,et al.  Functional C , 1997 .

[6]  Leon Sterling,et al.  Applying Techniques to Skeletons , 1993, ICLP Workshop on Construction of Logic Programs.

[7]  Mária Bieliková,et al.  Use of Program Schemata in Lisp Programming: an Evaluation of its Impact on Learning , 1998, Informatica.

[8]  Bruce S. Elenbogen,et al.  Teaching recursion using fractals in Prolog , 1988, SIGCSE '88.

[9]  Gerald Weiss,et al.  Introduction to Programming Using Java: An Object-Oriented Approach, Java 2 Update, JavaPlace Edition , 1998 .

[10]  Frederick Hosch Java as a first language: an evaluation , 1996, SGCS.

[11]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[12]  Zoltan Somogyi,et al.  The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language , 1996, J. Log. Program..

[13]  Leif Ingevaldsson JSP - a Practical Method of Program Design , 1986 .

[14]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.

[15]  James L. Hein A declarative laboratory approach for discrete structures, logic, and computability , 1993, SGCS.

[16]  Hugh Glaser,et al.  Un language fonctionnel pour le cours d'initiation à la programmation , 1993 .

[17]  Jeffrey D. Ullman Elements of ML programming , 1994 .

[18]  H. M. Deitel,et al.  Java (2nd ed.): how to program , 1998 .

[19]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[20]  Michael Z. Spivey,et al.  The Z notation , 1989 .

[21]  Leon E. Winslow,et al.  Programming pedagogy—a psychological overview , 1996, SGCS.