Litcius/Paper detail

Composing Flexibly-Organized Step-by-Step Tutorials from Linked Source Code, Snippets, and Outputs

Andrew Head, Jason Zheng Jiang, James Smith, Marti A. Hearst, Björn Hartmann

202029 citationsDOIOpen Access PDF

Abstract

Programming tutorials are a pervasive, versatile medium for teaching programming. In this paper, we report on the content and structure of programming tutorials, the pain points authors experience in writing them, and a design for a tool to help improve this process. An interview study with 12 experienced tutorial authors found that they construct documents by interleaving code snippets with text and illustrative outputs. It also revealed that authors must often keep related artifacts of source programs, snippets, and outputs consistent as a program evolves. A content analysis of 200 frequently-referenced tutorials on the web also found that most tutorials contain related artifacts—duplicate code and outputs generated from snippets—that an author would need to keep consistent with each other. To address these needs, we designed a tool called Torii with novel authoring capabilities. An in-lab study showed that tutorial authors can successfully use the tool for the unique affordances identified, and provides guidance for designing future tools for tutorial authoring.

Topics & Concepts

Computer scienceAffordanceConstruct (python library)Code (set theory)Source codeWorld Wide WebProcess (computing)Information retrievalInterleavingProgramming languageMultimediaSoftware engineeringHuman–computer interactionOperating systemSet (abstract data type)Software Engineering ResearchTeaching and Learning ProgrammingE-Learning and Knowledge Management