2010 · 56 citations · 31 references
EducationComputer ScienceEducational AssessmentAssessment For LearningFormative AssessmentProgramming LanguagesEducational Software DesignEnd-user ProgrammingDebugging SupportFeedback Generation For ProgrammingInteractive Visualization ToolsProgramming Education SupportProgramming Software ErrorsVisual DebuggingVisual ProgrammingWeb-based Visualization
Based on research into learning programming and a review of program visualization research, we designed an educational software tool that aims to target students' apparent fragile knowledge of elementary programming which manifests as difficulties in tracing and writing even simple programs. Most existing tools build on a single supporting technology and focus on one aspect of learning. For example, visualization tools support the development of a conceptual-level understanding of how programs work, and automatic assessment tools give feedback on submitted tasks. We implemented a combined tool that closely integrates programming tasks with visualizations of program execution and thus lets students practice writing code and more easily transition to visually tracing it in order to locate programming errors. In this paper we present Jype, a web-based tool that provides an environment for visualizing the line-by-line execution of Python programs and for solving programming exercises with support for immediate automatic feedback and an integrated visual debugger. Moreover, the debugger allows stepping back in the visualization of the execution as if executing in reverse. Jype is built for Python, when most research in programming education support tools revolves around Java.
31
Failure rates in introductory programming
Jens Bennedsen, Michael E. Caspersen · ACM SIGCSE Bulletin · 2007 · 622 citations
A multi-national study of reading and tracing skills in novice programmers
Raymond Lister, Elizabeth Adams, Sue Fitzgerald et al. · ACM SIGCSE Bulletin · 2004 · 534 citations · Full text