Overview of the programmer's apprentice
Charles Rich, Howard E. Shrobe, Richard C. Waters
Abstract
Charles Rich, Howard E. Shrobe, Richard C. Waters
Abstract
This note gives an overview of the Programmer's Apprentice system being developed at MIT. This system is conceived as being midway between an aid to improved programming methodology and an automatic programming system. A programmer and the apprentice work together throughout all phases of the development and maintenance of a program. The programmer does the difficult parts of design and implementation, while the apprentice acts as a Junior partner and critic, keeping track of details and assisting the programmer wherever possible. A key feature of the apprentice is its ability to understand the logical structure of a program so that It can interact with the programmer In e meaningful way.
OpenAlex reports 38 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
This note gives an overview of the Programmer's Apprentice system being developed at MIT. This system is conceived as being midway between an aid to improved programming methodology and an automatic programming system. A programmer and the apprentice work together throughout all phases of the development and maintenance of a program. The programmer does the difficult parts of design and implementation, while the apprentice acts as a Junior partner and critic, keeping track of details and assisting the programmer wherever possible. A key feature of the apprentice is its ability to understand the logical structure of a program so that It can interact with the programmer In e meaningful way.
Key concepts: Programmer, Apprenticeship, Computer science, Programming language, Software engineering, Philosophy, Linguistics