Visualizing Code Patterns in Novice Programmers

Visualizing Code Patterns in Novice Programmers
复制标题

新手程序员可视化代码模式

DOI:
10.1145/3209635.3209652
复制
发表时间:
2018
期刊:
Western Canadian Conference on Computing Education
影响因子:
--
通讯作者:
Bowen Hui
Bowen Hui
中科院分区:
--
文献类型:
--
作者:
Jeff Bulmer;Angie Pinchbeck;Bowen Hui

文献摘要

被引文献

相似文献

许多研究人员调查了新手程序员所面临的困难。然而,到目前为止,这些方法主要集中在识别和纠正常见语法错误,或CS1课程中的主题困难。与此同时,学生采用的不良编码实践大多没有得到解决。虽然这些实践不一定会导致错误的代码,但它们仍然可能指出困难的地方,并导致结构不良的程序。为了解决这些问题,我们的项目调查了77名一年级学生在CS1练习中编写代码的习惯和常见错误。这些数据是实时收集的,以便我们稍后可以在解决编程练习时重建学生的思维过程。为了帮助我们进行分析,我们构建了一个代码可视化工具,它可以动态地显示编程过程并同时总结错误度量。我们的最终目标是使用代码可视化工具来帮助教师或学生在编码过程中识别糟糕的编程实践。通过收集到的错误度量,教师可以在给定的时间点或一段时间内检查个别学生在编码行为方面的潜在改进,并识别学生群体中常见的不良编码习惯。
Many researchers have investigated the difficulties faced by novice programmers. However, these approaches have so far focused primarily on the identification and correction of common syntax errors, or that of topic difficulty in the CS1 curriculum. Meanwhile, poor coding practices adopted by students have gone mostly unaddressed. While these practices may not necessarily lead to erroneous code, they may nonetheless indicate areas of difficulty and lead to poorly structured programs. To address these issues, our project examines students' coding habits and common errors in CS1 exercises gathered from 77 first-year students. This data was collected in real time so that we may later reconstruct the thought process of the student while solving the programming exercises. To assist our analysis, we built a code visualizer that animates the programming process dynamically and summarizes error metrics simultaneously. Our ultimate goal is to use the code visualizer to help either an instructor or a student to identify poor programming practices during the coding process. With the error metrics gathered, an instructor can inspect potential improvements in coding behaviors for an individual student at a given point in time or over time, and identify bad coding habits common to populations of students.