Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher.
Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?
Some links on this page may take you to non-federal websites. Their policies may differ from this site.
-
Peer Instruction (PI) is a lecture-based active learning approach that has students solve a difficult multiple-choice question individually, submit their answer, discuss their answer with peers, and then submit their answer again. Despite plentiful evidence to support its effectiveness, PI has not been widely adopted by undergraduate computing instructors due to low awareness of PI, the effort needed to create PI questions, the limited instructional time needed for PI activities during lectures, and potential adverse reactions from students. We hypothesized that we could allay some of these concerns by hosting a three-day summer workshop on Peer Instruction for instructors and building and sharing a free tool and a question bank that supports PI in an open-source ebook platform. We invited eighteen instructors to attend an in-person three-day workshop on PI in the summer of 2022. We collected their feedback by using pre and post surveys and conducting semi-structured interviews. We report on the effect of the three-day summer workshop on instructor attitudes towards and knowledge of PI, the barriers that prevented instructors from adopting the free tool, and feedback from instructors who used the tool. The results show that most workshop attendees reported that they planned to use the tool in the fall semester, but less than half actually did. Responses from both users and non-users yield insights about the support instructors need to adopt new tools. This research informs future professional development workshops, tool development, and how to better support instructors interested in adopting Peer Instruction.more » « less
-
Novice programmers need to write basic code as part of the learning process, but they often face difficulties. To assist struggling students, we recently implemented personalized Parsons problems, which are code puzzles where students arrange blocks of code to solve them, as pop-up scaffolding. Students found them to be more engaging and preferred them for learning, instead of simply receiving the correct answer, such as the response they might get from generative AI tools like ChatGPT. However, a drawback of using Parsons problems as scaffolding is that students may be able to put the code blocks in the correct order without fully understanding the rationale of the correct solution. As a result, the learning benefits of scaffolding are compromised. Can we improve the understanding of personalized Parsons scaffolding by providing textual code explanations? In this poster, we propose a design that incorporates multiple levels of textual explanations for the Parsons problems. This design will be used for future technical evaluations and classroom experiments. These experiments will explore the effectiveness of adding textual explanations to Parsons problems to improve instructional benefits.more » « lessFree, publicly-accessible full text available March 14, 2025
-
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 » « lessFree, publicly-accessible full text available November 13, 2024
-
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
-
CSAwesome is a Java AP CSA and CS1 curriculum with 20,000 users on the Runestone ebook platform. The curriculum is online, free and interactive with embedded Java Active Code examples and problems, mixed-up code (Parsons problems), multiple-choice problems, and scaffolded coding challenges. There are many features of the Runestone platform that scaffold and differentiate learning for students. The curriculum is designed to broaden participation in CS and transition students from AP CSP (or CS0) to AP CSA (or CS1) with a variety of techniques such as scaffolded interactivity and creative and collaborative learning. Initial results from the 2020-2021 school year show average gains of 29% on the pre/post test built into the curriculum (n=958, P<.001). Pre and post surveys built into the ebook show slight gains in confidence in Java programming and pursuing further study or a career in computing (P<.001). Female students (22% of those who answered) performed similarly to all students. Students who took AP CSP (39%) prior to AP CSA performed slightly higher in the pre-test but had similar results otherwise. 47% of students rated themselves as beginner programmers and 30% intermediate at the beginning of the course; at the end of the course, 12% rated themselves as beginners and 43% as intermediate programmers.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
-
null (Ed.)CSAwesome is a new approved curriculum and professional development (PD) provider for the Advanced Placement (AP) Computer Science (CS) A high school course. AP courses are taken by secondary (typically ages 14-19) students for college placement and/or credit. CSAwesome's free curriculum and teacher resources were developed in 2019 by adapting the CSA Java Review ebook on the open-source Runestone platform. The goals of CSAwesome are to broaden participation in the AP CSA course and to support new-to-CS students and teachers as they transition from the AP Computer Science Principles (CSP) course to the AP CSA course by using inclusive teaching practices and curriculum design. The AP CSP course is equivalent to a first course for non-majors at the college level, while the AP CSA course is equivalent to a first course for majors. Currently, AP CSA attracts a much less diverse student body than AP CSP. This new curriculum supports student engagement and scaffolded learning through an interactive ebook with embedded executable and modifiable code (Active Code), a variety of practice types with immediate feedback, and adaptable mixed-up code (Parsons) problems. Collaborative learning is encouraged through pair programming and groupwork. Our pilot Professional Development (PD) incorporates inclusive teaching strategies and active recruitment with the goal of broadening participation in CSA. This paper presents the design of the CSAwesome curriculum and teacher professional development and initial results from the curriculum use and pilot PD during the first year of CSAwesome.more » « less
-
Computer science education has been making dramatic increases in recent years. Across the US, different states are advancing computer science education through different policies. However, as a state makes choices to advance computer science education, it is critical to consider how these policies will broaden participation in computing (BPC). Many have indicated that only white and Asian males (who make up 30% of our population) currently have the opportunity/privilege to engage in computer science education. Therefore, as we implement state-level computer science education reform, it is critical that BPC remains as our guiding principle. Expanding Computing Education Pathways (ECEP) was created as an NSF national alliance to support state-level educational reform with regards to computer science. Over the past 6 years, this alliance of 22 states and Puerto Rico have worked together to share policies to advance BPC in each state. Through these experiences, ECEP has proposed that state change related to CS educational reform follows five stages: (1) Find your leader(s) and change agents; (2) understand the CS education landscape and identify the key issues/policies; (3) gather and organize your allies to establish goals and develop strategic plans and; (4) get initial funding to support change and; (5) building and utilizing data infrastructure that informs strategic BPC efforts. This study examined the ECEP alliance and the five-stage model through the 25,000+ documents and data sources over the past decade, specifically investigating how these five stages impacted states’ overall BPC efforts. Results indicated that these 5 stages seemed to support states’ BPC efforts.