The creative activity of programming — to be distinguished from coding — is usually taught by examples serving to exhibit certain techniques. It is here considered as a sequence of design decisions concerning the decomposition of tasks into subtasks and of data into data structures. The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming. Key Words and Phrases: education in programming, programming techniques, stepwise program construction
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
The current state of affairs in programming is discussed. The opinion is expressed that effective p...
Every year, millions of students learn how to write programs. Learning activities for beginners almo...
In this paper, rigorous application of stepwise refinement is explored. The steps of definition, dec...
AbstractThe stepwise refinement technique is studied from a mathematical point of view. A relation o...
Exposing students to the process of programming is merely implied but not explicitly addressed in te...
AbstractA uniform treatment of specifications, programs, and programming is presented. The treatment...
Learning by example is a natural process. Novice programmers and even experienced programmers tend t...
A constructive method of program development is presented. It is based on a sim-ple strategy for pro...
The development of the ability of programming for computers, begins in the ability to transform the ...
In this paper we propose an approach to skill acquisition which is based on a technique for inductiv...
As digital technologies continue to grow in importance and influence, the need for strong programmer...
We advocate incremental construction of programs based on the idea of skeletons and techniques. Pro...
The programming process traditionally involves the static and abstract description of algorithms in ...
Student memories of introductory programming units regularly centre on seemingly interminable cycles...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
The current state of affairs in programming is discussed. The opinion is expressed that effective p...
Every year, millions of students learn how to write programs. Learning activities for beginners almo...
In this paper, rigorous application of stepwise refinement is explored. The steps of definition, dec...
AbstractThe stepwise refinement technique is studied from a mathematical point of view. A relation o...
Exposing students to the process of programming is merely implied but not explicitly addressed in te...
AbstractA uniform treatment of specifications, programs, and programming is presented. The treatment...
Learning by example is a natural process. Novice programmers and even experienced programmers tend t...
A constructive method of program development is presented. It is based on a sim-ple strategy for pro...
The development of the ability of programming for computers, begins in the ability to transform the ...
In this paper we propose an approach to skill acquisition which is based on a technique for inductiv...
As digital technologies continue to grow in importance and influence, the need for strong programmer...
We advocate incremental construction of programs based on the idea of skeletons and techniques. Pro...
The programming process traditionally involves the static and abstract description of algorithms in ...
Student memories of introductory programming units regularly centre on seemingly interminable cycles...
We advocate an automated refinement approach to developing programs and their proofs. The approach i...
The current state of affairs in programming is discussed. The opinion is expressed that effective p...
Every year, millions of students learn how to write programs. Learning activities for beginners almo...