abstract = "Genetic programming (GP) is an evolutionary algorithm
which explores a program space rather than a solution
space which is typical of other evolutionary algorithms
such as genetic algorithms. GP finds solutions to
problems by evolving a program, which when implemented
will produce a solution. This paper investigates the
use of genetic programming for automatic programming.
The paper focuses on the procedural/imperative
programming paradigm. More specifically the evolution
of programs using memory, conditional and iterative
programming constructs is investigated. An internal
representation language is defined in which to evolve
programs. The generational GP algorithm was implemented
using the grow method to create the initial population,
tournament selection to choose parents and
reproduction, crossover and mutation for regeneration
purposes. The paper also presents a form of incremental
learning which facilitates modularisation. The GP
approach to automatic programming was tested on ten
programming problems that are usually presented to
novice programmers in a first year procedural
programming course of an undergraduate degree in
Computer Science. The GP approach evolved solutions for
all ten problems, with incremental learning needed in
two instances to produce a solution.",