Coached program planning: Dialogue-based support for novice program design

H. Chad Lane, Kurt VanLehn

Research output: Chapter in Book/Report/Conference proceedingConference contribution

23 Scopus citations


Coached program planning is a dialogue-based style of tutoring aimed at helping novices during the early stages of program writing. The intent is to help novices understand and solve problems in their own words through the construction of natural-language style pseudocode as the first step in solving a programming problem. We have designed an environment supporting coached program planning and have used it in a human-to-human, computer-mediated evaluation of 16 novice programmers enrolled in a pre-CS1 programming course at the University of Pittsburgh. The results show that students who underwent coached program planning, compared to those who did not, were more prolific with comments in their programs, committed fewer structural mistakes, and exhibited less erratic programming behavior during their implementation. The dialogues collected from this experiment followed a clear 4-step pattern. Starting with this observation, we are developing a dialogue-based intelligent tutoring system called the Pseudocode Tutor to support coached program planning.

Original languageEnglish (US)
Title of host publicationSIGCSE Bulletin (Association for Computing Machinery, Special Interest Group on Computer Science Education)
Number of pages5
StatePublished - 2003
Externally publishedYes
EventProceedings of the 34th SIGCSE Technical Symposium on Computer Science Education - Reno,NV, United States
Duration: Feb 19 2003Feb 22 2003


OtherProceedings of the 34th SIGCSE Technical Symposium on Computer Science Education
Country/TerritoryUnited States


  • Coached program planning
  • Dialogue systems
  • Intelligent tutoring systems
  • Novice programming
  • Structured programming

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software
  • Food Science


Dive into the research topics of 'Coached program planning: Dialogue-based support for novice program design'. Together they form a unique fingerprint.

Cite this