The long-term goal of the Programmer's Apprentice project is to develop a theory of how expert programmers analyze, synthesize, modify, explain, specify, verify, and document programs. The authors present their vision of the Programmer's Apprentice, the principles and techniques underlying it, and their progress toward it. The primary vehicle for this exposition is three scenarios illustrating the use of the Apprentice in three phases of the programming task: implementation, design, and requirements. The first scenario is taken from a completed working prototype. The second and third scenarios are the targets for prototype systems currently under construction
%0 Journal Article
%1 rich1988programmers
%A Rich, Charles
%A Waters, Richard C.
%C Los Alamitos, CA, USA
%D 1988
%I IEEE Computer Society Press
%J Computer
%K 1970 apprentice automatic code generation mit programmers programming
%N 11
%P 10--25
%R 10.1109/2.86782
%T The Programmer's Apprentice: A Research Overview
%U http://dx.doi.org/10.1109/2.86782
%V 21
%X The long-term goal of the Programmer's Apprentice project is to develop a theory of how expert programmers analyze, synthesize, modify, explain, specify, verify, and document programs. The authors present their vision of the Programmer's Apprentice, the principles and techniques underlying it, and their progress toward it. The primary vehicle for this exposition is three scenarios illustrating the use of the Apprentice in three phases of the programming task: implementation, design, and requirements. The first scenario is taken from a completed working prototype. The second and third scenarios are the targets for prototype systems currently under construction
@article{rich1988programmers,
abstract = {The long-term goal of the Programmer's Apprentice project is to develop a theory of how expert programmers analyze, synthesize, modify, explain, specify, verify, and document programs. The authors present their vision of the Programmer's Apprentice, the principles and techniques underlying it, and their progress toward it. The primary vehicle for this exposition is three scenarios illustrating the use of the Apprentice in three phases of the programming task: implementation, design, and requirements. The first scenario is taken from a completed working prototype. The second and third scenarios are the targets for prototype systems currently under construction},
acmid = {53589},
added-at = {2014-10-15T18:37:22.000+0200},
address = {Los Alamitos, CA, USA},
author = {Rich, Charles and Waters, Richard C.},
biburl = {https://www.bibsonomy.org/bibtex/22c95c54ff885a175b789dc91cafb03a6/jil},
description = {The Programmer's Apprentice},
doi = {10.1109/2.86782},
interhash = {3670cfd52fd5a499a7386b7a98e39c7e},
intrahash = {2c95c54ff885a175b789dc91cafb03a6},
issn = {0018-9162},
issue_date = {November 1988},
journal = {Computer},
keywords = {1970 apprentice automatic code generation mit programmers programming},
month = nov,
number = 11,
numpages = {16},
pages = {10--25},
publisher = {IEEE Computer Society Press},
timestamp = {2014-10-16T19:42:30.000+0200},
title = {The Programmer's Apprentice: A Research Overview},
url = {http://dx.doi.org/10.1109/2.86782},
volume = 21,
year = 1988
}