ITSS: Interactive Web-Based Authoring and Playback Integrated Environment for Programming Tutorials

by   Eng Lieh Ouh, et al.

Video-based programming tutorials are a popular form of tutorial used by authors to guide learners to code. Still, the interactivity of these videos is limited primarily to control video flow. There are existing works with increased interactivity that are shown to improve the learning experience. Still, these solutions require setting up a custom recording environment and are not well-integrated with the playback environment. This paper describes our integrated ITSS environment and evaluates the ease of authoring and playback of our interactive programming tutorials. Our environment is designed to run within the browser sandbox and is less intrusive to record interactivity actions. We develop a recording approach that tracks the author's interactivity actions (e.g., typing code, highlighting words, scrolling panels) on the browser and stored in text and audio formats. We replay these actions using the recorded artefacts for learners to have a more interactive, integrated and realistic playback of the author's actions instead of watching video frames. Our design goals are 1) efficient recording and playback, 2) extensible interactivity features to help students learn better, and 3) a scalable web-based environment. Our first user study of 20 participants who carry out the author tasks agree that it is efficient and easy to author interactive videos in our environment with no additional software needed. Our second user study of 84 students using the environment agrees that the increased interactivity can help them learn better over a video-based tutorial. Our performance test shows that the environment can scale to support up to 500 concurrent users. We hope our open-source environment enable more educators to create interactive programming tutorials.


SnapCheck: Automated Testing for Snap Programs

Programming environments such as Snap, Scratch, and Processing engage le...

User-Driven Programming Support for Rapid Visualization Authoring in D3

D3 is arguably the most popular language for programming visualizations ...

Real-time and interactive tools for vocal training based on an analytic signal with a cosine series envelope

We introduce real-time and interactive tools for assisting vocal trainin...

The Open Vault Challenge -- Learning how to build calibration-free interactive systems by cracking the code of a vault

This demo takes the form of a challenge to the IJCAI community. A physic...

Functional Baby Talk: Analysis of Code Fragments from Novice Haskell Programmers

What kinds of mistakes are made by novice Haskell developers, as they le...

Synapse: Interactive Guidance by Demonstration with Trial-and-Error Support for Older Adults to Use Smartphone Apps

As smartphones are widely adopted, mobile applications (apps) are emergi...

RustViz: Interactively Visualizing Ownership and Borrowing

Rust is a systems programming language that guarantees memory safety wit...

Please sign up or login with your details

Forgot password? Click here to reset