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 selfefficacy 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. 
                        more » 
                        « less   
                    
                            
                            Scaffolding Novices: Analyzing When and How Parsons Problems Impact Novice Programming in an Integrated Science Assignment
                        
                    
    
            Background and Context. The importance of CS to 21st-century life and work has made it important to find ways to integrate learning CS and programming into the regular school day. However, learning CS is difficult, so teachers integrating programming need effective strategies to scaffold the learning. In this study, we analyze students’ log data and apply a novel technique to compare Parsons Problems with from-scratch programming in a middle school science class. Objectives. Our research questions aimed to investigate whether, how, and when Parsons Problems improve learning efficiency for a programming exercise within science, utilizing log data analysis and an automated progress detector (SPD). Method. We conducted a study on 199 students in a 6th-grade science course, divided into two groups: one engaged with Parsons problems, and the other, a control group, worked on the same programming task without scaffolding. Then, we analyzed differences in performance and coding characteristics between the groups. We also adopted an innovative application of SPD to gain a better understanding of how and when Parsons problems helped students make more progress on the coding task, with an objective measure of final student grades. Findings. The experimental group, with scaffolding through Parsons Problems, achieved significantly higher grades, spent significantly less time programming, and toggled less between block category tabs. Interestingly, they ran their code more frequently compared to the control group. The SPD analysis revealed that the experimental group made significantly higher progress in all four quartiles of their coding time. Implications. Our findings suggest that Parsons problems can improve learning efficiency by enhancing novices’ learning experience without negatively impacting their performance or grades, which is especially important when programming is integrated into K12 courses. 
        more » 
        « less   
        
    
                            - Award ID(s):
- 1917885
- PAR ID:
- 10644057
- Publisher / Repository:
- ACM
- Date Published:
- Page Range / eLocation ID:
- 42 to 54
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
- 
            
- 
            Novice programmers struggle with writing code from scratch. One possible way to help them is by using an equivalent Parsons problem on demand, where learners place mixed-up code blocks in the correct order. In a classroom study with 89 undergraduate students, we examined how using a Parsons problem as scaffolding impacts performance and problem-solving efficiency. Results showed that students in the Parsons as Help group achieved significantly higher practice performance and problem-solving efficiency than students who wrote code without help, while achieving the same level of posttest scores. These results improve the understanding of Parsons problems and contribute to the design of future coding practices.more » « less
- 
            In this paper, we explore using Parsons problems to scaffold novice programmers who are struggling while solving write-code problems. Parsons problems, in which students put mixed-up code blocks in order, can be created quickly and already serve thousands of students while other types of programming support methods are expensive to develop or do not scale. We conducted two studies in which novices were given equivalent Parsons problems as optional scaffolding while solving write-code problems. We investigated when, why, and how students used the Parsons problems as well as their perceptions of the benefits and challenges. A think-aloud observational study with 11 undergraduate students showed that students utilized the Parsons problem before writing a solution to get ideas about where to start; during writing a solution when they were stuck; and after writing a solution to debug errors and look for better strategies. Semi-structured interviews with the same 11 undergraduate students provided evidence that using Parsons problems to scaffold write-code problems helped students to reduce the difficulty, reduce the problem completion time, learn problem-solving strategies, and refine their programming knowledge. However, some students found them less useful if the Parsons solution did not match their approach or if they did not understand the solution. We then conducted a between-subjects classroom study with 81 undergraduate students to investigate the effects on learning. We found that students who received Parsons problems as scaffolding during write-code problems spent significantly less time solving those problems. However, there was no significant learning gain in either condition from pretest to posttest. We also discuss the design implications of our findings.more » « less
- 
            null (Ed.)This hands-on online workshop will introduce high school and college instructors to CSAwesome, a free Java curriculum and ebook at course.csawesome.org for the Advanced Placement (AP) Computer Science (CS) A course. This course is equivalent to a college-level CS1 course in Java. CSAwesome is an official College Board approved curriculum and professional development provider and has been widely adopted by AP high school teachers. The free ebook on the Runestone platform includes executable Java code examples and a variety of practice problems with immediate feedback: multiple-choice, fill-in-the-blank, write-code, mixed-up code (Parsons), and clickable code. It also includes coding challenges and support for pair programming. The curriculum is designed to help transition students from AP Computer Science Principles, which is equivalent to a CS0 course. Teacher lesson plans and resources are freely available. During this workshop, participants will register for the free ebook and work through example activities using object-oriented programming. If possible, participants will be divided into breakout groups according to their Java expertise. Participants will also learn how to create a custom course on the Runestone platform, create and grade assignments, use the instructor's dashboard to view student progress, contribute to the question bank, and use an interleaved spaced practice tool. We will also discuss online/hybrid teaching and engagement strategies.more » « less
- 
            This project investigates the potential of the Collective Argumentation Learning and Coding (CALC) concept for integrating the teaching of computer coding and other computer science content into the standard practices already used to teach different elementary (grades 3-5) curriculum content. Elementary school teachers significantly influence student motivation to engage in coding and are being asked to provide increased instruction on coding. Unfortunately, few practicing teachers have academic backgrounds in computer coding. This project aims to identify the knowledge needed to transform the CALC concept into a learning practice in which young, novice programmers use the argumentation framework to develop coding sequences. Why? Suppose computer coding is an integral part of teaching mathematics and science subject areas. In that case, the concerns that coding is a distraction to core subjects might decline, and administrative support for teaching coding might increase. We believe this work should be done at the elementary school level, better preparing more students and underrepresented groups for STEM subjects taught in the upper gradesmore » « less
 An official website of the United States government
An official website of the United States government 
				
			 
					 
					
 
                                    