Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage Tutorials

Honorable Mention
Programming Education & Computational ThinkingKnowledge Worker Tools & WorkflowsPrototyping & User TestingSoftware Engineers & DevelopersUI/UX DesignersHCI Researchers

Document Title

Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage Tutorials

Document Information

  • Domain: Programming education tools and exploratory learning
  • Keywords: programming, tutorials, literate programming, computational notebooks, teaching systems, exploratory learning, programming education, IDE integration, multi-stage tutorials, user evaluation

Research Background and Problem Statement

  • Identified Problems or Challenges:
    • Detailed descriptions of how code is incrementally built in programming tutorials are crucial, but creating such tutorials is time-consuming and labor-intensive.
    • Current computational notebooks (e.g., Jupyter) often fail to effectively present the complete code development process in a staged manner.
    • Existing multi-stage tutorials lack comprehensive capture of code context and output, making it difficult to balance readability and operability.
  • Significance:
    • Incrementally showcasing the code-building process during programming learning not only facilitates concept comprehension but also helps learners develop problem-solving skills.
    • Providing more effective tools for coding teams and educators contributes to better knowledge dissemination and collaboration.
  • Research Motivation and Related Work:
    • Literature suggests that tutorials should include features such as step-by-step demonstrations and code highlighting to improve learning outcomes, but traditional tools struggle to integrate code, annotations, and outputs seamlessly.
    • Current surveys highlight the need for tutorial creation processes to better capture code context changes and allow exploration of intermediate results, while also supporting learners in hands-on practice.

Solution

  • Proposed Method or Solution:
    • Developed Colaroid, an IDE-integrated tool that enables authors to record incremental changes during the programming process and generate interactive multi-stage tutorials.
    • Colaroid adopts the concept of a "temporal notebook," where code changes, context, and outputs are designed as independent historical states, allowing learners to load and modify code at any step.
    • Key features include code difference capture, output capture and interaction, and efficient Markdown-based editing.
  • Innovations:
    • Transformed the traditional notebook model based on "spatial documents" by showcasing the temporal evolution of code, extending the concept of literate programming.
    • Proposed an IDE-based tutorial creation and learning tool, achieving deep integration of real-time development and tutorial authoring.
    • Users can load and interact with states at any stage of the construction process, enhancing hands-on learning experiences.
  • Implementation Steps:
    1. Tutorial Creation: Authors use a VS Code extension to capture code changes and outputs in real-time, supporting detailed textual explanations and interaction recording for each step.
    2. Tutorial Editing: Allows modification of staged steps, supports code changes or additions, and automatically propagates updates to subsequent steps.
    3. Tutorial Publishing and Distribution: Tutorials can be exported as project files, supporting real-time use on code hosting platforms and cloud IDEs (e.g., GitHub Codespaces).
    4. Learner Interaction: Enables loading of any historical step and direct modification or execution of code, helping learners explore the impact of specific changes.

Research Results

  • Specific Outcomes:
    • Developed a complete prototype tool, Colaroid, integrating tutorial creation, editing, and exploration functionalities within the IDE.
    • Evaluated the tool through two user studies:
      • Tutorial creation experiments showed that Colaroid significantly improved tutorial writing efficiency and quality for educators and advanced learners.
      • Learning experiments demonstrated that Colaroid tutorials offered higher interactivity and engagement compared to traditional articles and video tutorials.
  • Advantages and Comparisons:
    • Compared to traditional tutorials, Colaroid captures complete code context and changes, supporting navigation, exploration, and modification.
    • Learners can quickly skip familiar steps and delve into areas of interest while intuitively understanding output changes.
    • Tutorial authors can rapidly complete creation within a real development environment without switching tools or editing back and forth.
  • Experimental or Evaluation Results:
    • Author Perspective: Authors reported that Colaroid significantly improved their creation experience, with its automatic difference capture and interaction recording features being particularly helpful.
    • Learner Perspective: Compared to articles and video tutorials, learners spent more time engaging with Colaroid and found it more interactive and easy to navigate.
    • Tutorials generated similar learning outcomes, but learners were more inclined to recommend Colaroid as a learning tool, citing its time-saving and clarity benefits.
  • Limitations and Future Directions:
    • Limitations: The current tool primarily supports web programming tutorials and has yet to cover other programming domains (e.g., data science or graphic design); it does not support saving learners' exploration behaviors.
    • Future Directions:
      • Extend support to other programming languages and task types.
      • Integrate voice recognition features to enhance oral tutorial generation capabilities.
      • Add analysis modules to compare learners' code modifications with reference solutions.

In summary, Colaroid provides a novel tutorial creation and learning tool based on a temporal dimension, opening new possibilities for programming education and collaboration. It offers potential directions for broader learning scenarios and user groups.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/chi/96059/2023

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3544548.3581525
At a Glance

Paper Snapshot

fact_check
dataset
Source
CHI
calendar_month
Year
2023
emoji_events
Award
Honorable Mention
group
Authors
5 authors
sell
Subtopics
Programming Education & Computational Thinking, Knowledge Worker Tools & Workflows, Prototyping & User Testing
work
Professions
Software Engineers & Developers, UI/UX Designers, HCI Researchers
article
Content Status
Full text indexed
hub
Related Papers
10 related papers