Tutorly: Turning Programming Videos Into Apprenticeship Learning Environments with LLMs
Wengxi Li, Roy Pea, Nick Haber, Hari Subramonyam
TL;DR
Tutorly introduces an LLM-powered apprenticeship environment that turns programming videos into guided, goal-driven learning experiences inside JupyterLab. By segmenting videos into learning goals, applying CogApp moves through a structured prompt pipeline, and updating a Bayesian Knowledge Tracing-based student model, Tutorly delivers targeted, interactive tutoring aligned with learner progress. Technical evaluation shows robust segmentation and high controllability of prompts, while a within-subject user study reports improved learning outcomes and engagement, though latency and video segmentation length remain challenges. Overall, Tutorly demonstrates the practical potential of integrating cognitive apprenticeship pedagogy with large-language models to enhance video-based programming education in an extensible notebook workflow.
Abstract
Online programming videos, including tutorials and streamcasts, are widely popular and contain a wealth of expert knowledge. However, effectively utilizing these resources to achieve targeted learning goals can be challenging. Unlike direct tutoring, video content lacks tailored guidance based on individual learning paces, personalized feedback, and interactive engagement necessary for support and monitoring. Our work transforms programming videos into one-on-one tutoring experiences using the cognitive apprenticeship framework. Tutorly, developed as a JupyterLab Plugin, allows learners to (1) set personalized learning goals, (2) engage in learning-by-doing through a conversational LLM-based mentor agent, (3) receive guidance and feedback based on a student model that steers the mentor moves. In a within-subject study with 16 participants learning exploratory data analysis from a streamcast, Tutorly significantly improved their performance from 61.9% to 76.6% based on a post-test questionnaire. Tutorly demonstrates the potential for enhancing programming video learning experiences with LLM and learner modeling.
