Instructors and students alike are often focused on the grade in programming assignments as a key measure of how well a student is mastering the material and whether a student is struggling. This can be, however, misleading. Especially when students have access to auto-graders, their grades may be heavily skewed. In this paper, we analyze student assignment submission data collected from a functional programming course taught at McGill university incorporating a wide range of features. In addition to the grade, we consider activity time data, time spent, and the number of static errors. This allows us to identify four clusters of students: "Quick-learning", "Hardworking", "Satisficing", and "Struggling" through cluster algorithms. We then analyze how work habits, working duration, the range of errors, and the ability to fix errors impact different clusters of students. This structured analysis provides valuable insights for instructors to actively help different types of students and emphasize different aspects of their overall course design. It also provides insights for students themselves to understand which aspects they still struggle with and allows them to seek clarification and adjust their work habits.
翻译:教官和学生都经常在编程任务中注重年级,作为衡量学生掌握材料的情况和学生是否挣扎的关键尺度。不过,这可能具有误导性。特别是当学生能够接触自学生时,他们的年级可能严重偏斜。在本文中,我们分析从麦吉尔大学教授的功能性编程课程中收集的学生派任提交数据,其中包括各种各样的特点。除了该年级外,我们还考虑活动时间数据、花费的时间和静态错误的数量。这使我们能够确定四组学生:“快速学习”、“工作”、“满足”和“通过集群算法拉动”。然后我们分析工作习惯、工作时间、差错范围以及修正错误影响不同学生群的能力。这种结构分析为教员提供了宝贵的洞察力,以便积极帮助不同类型的学生,强调他们整个课程设计的不同方面。它也为学生自己提供了洞察力,以了解他们仍然在挣扎的方面,并使他们能够通过集思广益求澄清和调整他们的工作习惯。