Introductory programming courses aim to teach students to write code independently. However, transitioning from studying worked examples to generating their own code is often difficult and frustrating for students, especially those with lower CS self-efficacy in general. Therefore, we investigated the impact of using Parsons problems as a code-writing scaffold for students with varying levels of CS self-efficacy. Parsons problems are programming tasks where students arrange mixed-up code blocks in the correct order. We conducted a between-subjects study with undergraduate students (N=89) on a topic where students have limited code-writing expertise. Students were randomly assigned to one of two conditions. Students in one condition practiced writing code without any scaffolding, while students in the other condition were provided with scaffolding in the form of an equivalent Parsons problem. We found that, for students with low CS self-efficacy levels, those who received scaffolding achieved significantly higher practice performance and in-practice problem-solving efficiency compared to those without any scaffolding. Furthermore, when given Parsons problems as scaffolding during practice, students with lower CS self-efficacy were more likely to solve them. In addition, students with higher pre-practice knowledge on the topic were more likely to effectively use the Parsons scaffolding. This study provides evidence for the benefits of using Parsons problems to scaffold students' write-code activities. It also has implications for optimizing the Parsons scaffolding experience for students, including providing personalized and adaptive Parsons problems based on the student's current problem-solving status.
翻译:入门编程课程旨在教授学生独立编写代码。然而,从学习示例过渡到自主生成代码对学生来说往往困难且令人沮丧,尤其是那些编程自我效能感较低的学生。因此,我们研究了使用帕森斯问题作为代码编写支架对不同编程自我效能感水平学生的影响。帕森斯问题是编程任务,学生需将打乱的代码块按正确顺序排列。我们针对大学生(N=89)进行了组间实验,选择学生代码编写经验有限的课题。学生被随机分为两组:一组学生未使用任何支架练习代码编写,另一组则获得等效的帕森斯问题作为支架。研究发现,对于低编程自我效能感的学生,获得支架组的练习表现和解题效率显著高于无支架组。此外,在练习中使用帕森斯问题作为支架时,低自我效能感的学生更可能成功解决问题。同时,在课题上具有较高前置知识的学生更有效地利用了帕森斯支架。本研究证明了使用帕森斯问题作为代码编写支架的益处,并为优化该支架体验提供了启示,包括根据学生当前问题解决状态提供个性化、自适应的帕森斯问题。