SPLICE Working Group: Reusable Code Examples

Leaders: Peter Brusilovsky, Vasile Rus

Rationale Program code examples (known also as worked exampels) play a crucial role in learning how to program. Instructors use examples extensively to demonstrate the semantics of the programming language being taught and to highlight the fundamental coding patterns. Programming textbooks allocate considerable space to present and explain code examples. To make the process of studying code examples more interactive, CS education researchers developed a range of tools to engage students in the study of code examples. These tools include codecasts (codemotion,codecast,elicasts), interactive example explorers (WebEx, PCEX), and tutoring systems (DeepTutor). An important component in all types of worked examples is code explanations associated with specific code lines or code chunks of an example. The explanations connect examples with general programming knowledge explaining the role and function of code fragments or their behavior. In textbooks, these explanations are usually presented as comments in the code or as explanations on the margins. The example explorer tools allow students to examine these explanations interactively. Tutoring systems, which engage students in explaining the code, use these model explanations to check student responses and provide scaffolding. In all these cases, to make a worked example re-usable beyond its presentation in a lecture, the explanations have to be authored by instructors or domain experts i.e., produced and integrated into a specific system. As the experience of the last 10 years demonstrated, these explanations are hard to obtain. Those already collected are usually “locked” in a specific example-focused system and can’t be reused. The purpose of this working group is to support broader re-used of worked examples augmented with explanations. Our current plan is to develop а standard approach to represent explained examples. This approach will enable an example created for any of the existing systems to be explored in a standard format and imported into any other example-focused system. We plan to follow a successful experience of the PEML working group focused on re-using programming exercises.

Get in Contact: Google Group