Working Group
Rationale
Program code examples, also known as worked examples, play a crucial role in learning how to program. Instructors use examples extensively to demonstrate programming-language semantics and highlight fundamental coding patterns. Programming textbooks allocate considerable space to presenting and explaining code examples.
To make studying code examples more interactive, CS education researchers have developed codecasts such as Codemotion, Codecast, and Elicasts; interactive example explorers such as WebEx and PCEX; and tutoring systems such as DeepTutor.
Explained Examples
An important component in all types of worked examples is explanations associated with specific code lines or chunks. These explanations connect examples with general programming knowledge by describing code fragments’ roles, functions, or behavior. Textbooks usually present them as code comments or margin explanations. Example explorer tools let students examine explanations interactively. Tutoring systems use model explanations to check responses and provide scaffolding.
Reusable Representation
For a worked example to be reusable beyond a lecture, instructors or domain experts must author explanations and integrate them into a specific system. Experience over the last ten years shows that these explanations are difficult to obtain; those already collected are usually locked in one system and cannot be reused.
This group supports broader reuse of worked examples augmented with explanations. The current plan is to develop a standard representation for explained examples, enabling an example created for any existing system to be explored in a standard format and imported into another example-focused system. We plan to follow the successful experience of the PEML Working Group, which focuses on reusing programming exercises.