SEFeb 11, 2021

An Inquisitive Code Editor for Addressing Novice Programmers' Misconceptions of Program Behavior

arXiv:2102.06098v120 citations
Originality Incremental advance
AI Analysis

This addresses a barrier for novice programmers that may deter them from pursuing computer science, but it is incremental as it builds on existing educational tools.

The paper tackles the problem of novice programmers holding misconceptions about code behavior by proposing an inquisitive code editor that identifies and corrects these misconceptions through questions and explanations, with initial implementation and informal surveys conducted.

Novice programmers face numerous barriers while attempting to learn how to code that may deter them from pursuing a computer science degree or career in software development. In this work, we propose a tool concept to address the particularly challenging barrier of novice programmers holding misconceptions about how their code behaves. Specifically, the concept involves an inquisitive code editor that: (1) identifies misconceptions by periodically prompting the novice programmer with questions about their program's behavior, (2) corrects the misconceptions by generating explanations based on the program's actual behavior, and (3) prevents further misconceptions by inserting test code and utilizing other educational resources. We have implemented portions of the concept as plugins for the Atom code editor and conducted informal surveys with students and instructors. Next steps include deploying the tool prototype to students enrolled in introductory programming courses.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes