Trace-based teaching in early programming courses

Trace-based teaching in early programming courses
复制标题

早期编程课程中的跟踪教学

DOI:
10.1145/2445196.2445364
复制
发表时间:
2013
影响因子:
18.4
通讯作者:
M. Jump
M. Jump
中科院分区:
医学1区
文献类型:
--
作者:
Matthew Hertz;M. Jump

文献摘要

被引文献

相似文献

学习编程入门课程的学生很难建立正确描述变量、子例程调用和动态内存使用等概念的心理模型。这一斗争导致学生学习成绩下降,有人认为,这些课程中常见的高失败率和辍学率。我们将展示,准确地建模内存中发生的事情,并要求学生使用此模型跟踪代码,可以提高学生的成绩并增加记忆力。本文介绍了一个实验的结果,在该实验中,介绍性编程课程组织代码跟踪。我们提出了程序内存跟踪,一种新的方法来跟踪代码,模型发生在内存中的程序执行。我们使用这些痕迹来驱动我们的讲座,并作为我们主动学习活动的关键部分。我们报告的学生调查结果显示,教师跟踪被评为最有价值的一块的课程和学生的压倒性的协议的重要性,跟踪活动对他们的学习。最后,我们证明,基于跟踪的教学导致统计上显着的改善学生成绩,下降和失败率,并提高学生的编程能力。
Students in introductory programming courses struggle with building the mental models that correctly describe concepts such as variables, subroutine calls, and dynamic memory usage. This struggle leads to lowered student learning outcomes and, it has been argued, the high failure and dropout rates commonly seen in these courses. We will show that accurately modeling what is occurring in memory and requiring students to trace code using this model improves student performance and increases retention. This paper presents the results of an experiment in which introductory programming courses were organized around code tracing. We present program memory traces, a new approach for tracing code that models what occurs in memory as a program executes. We use these traces to drive our lectures and to act as key pieces of our active learning activities. We report the results of student surveys showing that instructor tracing was rated as the most valuable piece of the course and students' overwhelming agreement on the importance of the tracing activities for their learning. Finally, we demonstrate that trace-based teaching led to statistically significant improvements student grades, decreased drop and failure rates, and an improvement in students' programming abilities.