Figure 2 - uploaded by Rui Zhi
Content may be subject to copyright.
A hint example: yellow highlights misplaced blocks or variables, blue shows input that needs a variable.

A hint example: yellow highlights misplaced blocks or variables, blue shows input that needs a variable.

Source publication
Conference Paper
Full-text available
Parsons problems are program puzzles, where students piece together code fragments to construct a program. Similar to block-based programming environments, Parsons problems eliminate the need to learn syntax. Parsons problems have been shown to improve learning efficiency when compared to writing code or fixing incorrect code in lab studies, or as...

Contexts in source publication

Context 1
... the current program is correct, the system will suggest submitting the assignment. Otherwise, the system will highlight any misplaced blocks in the programming area (Figure 2). Our Parsons problems may contain multiple solutions, and our system can highlight misplaced blocks based on placements that no known solutions would accept. ...
Context 2
... the current program is correct, the system will suggest submitting the assignment. Otherwise, the system will highlight any misplaced blocks in the programming area (Figure 2). Our Parsons problems may contain multiple solutions, and our system can highlight misplaced blocks based on placements that no known solutions would accept. ...

Citations

... The Computational Thinking Challenge (CTC) [13] was proposed in 2021 for students in grades 9-12. The test contains programming items in the form of Parsons problems [24], solution-finding multi-choice items, and general items on real-world problemsolving. The items in CTC also cover all cognitive levels except the Creating level. ...
... In 2006, Dale Parsons and Patricia Haden developed them for introductory programming courses to maximize engagement, help students learn syntax, introduce common errors, model well-written code, and provide instant feedback [45]. These types of problems enable learners to demonstrate semantic and strategic knowledge without having to generate syntax, although some students use syntactic clues within the blocks to piece together the solution without necessarily understanding the problem, which can lead to a trial-and-error problem-solving strategy [14,63]. These problems typically only have one correct solution, yet there are many ways to write code from scratch [45]. ...
... Most research on teaching programming to learners with cognitive disabilities has focused on block-based programming-a popular approach used to increase inclusion and equity in the classroom because it's an appealing activity [12,63]. Accessibility research on block-based programming has mostly focused on K-12 programmers with visual or motor impairments using the Scratch visual programming language [39,40] and promising new research using Quorum Blocks [56]. ...
Conference Paper
Full-text available
Parsons problems are computer programming puzzles that require learners to place code blocks in the correct order and sometimes indentation. Introductory computer programming instructors use them to teach novices how to code while optimizing problem-solving efficiency and cognitive load. While there is research on the design of Parsons problems for programmers without disabilities and programmers with visual or motor impairments, research regarding their accessibility for programmers with cognitive disabilities is scant. To identify the accessibility barriers and benefits of Parsons problems for neurodiverse programmers, an exploratory multiple-case study was conducted. Participants were asked to read eight chapters of an interactive eBook on Python and to solve Parsons problems. Within-case analyses of 15 retrospective think-aloud interviews with five novice programmers with disabilities led to four recommendations for improving the cognitive accessibility of Parsons problems. For example, programmers with seizure disorders may experience seizures when solving programming problems that require numeric calculations. Hence, creating a range of Parsons problems that do not require mental arithmetic could improve the learning experience for programmers with seizure disorders and those who struggle with mental calculations by lowering their cognitive load. Given this study's qualitative and exploratory approach, it does not offer conclusive, broadly generalizable results. Yet, it reveals detailed and promising avenues for exploration in computing education research that might elude many quantitative techniques.
... It is well known that writing code from scratch can be overwhelming for novices. Parsons problems [33,43] avoid some of the factors leading to this. These "mixed-up code problems" introduced by Parsons & Haden in 2006, require users to rearrange randomly ordered lines of a program into the correct order [34]. ...
... Since then, Parsons problems have received significant attention as an evidencebased pedagogical learning tool [7,9]. Parsons problems have been studied in motivating students to practice [34]; as summative assessments [5]; as a bridge between code tracing and code writing activities [12]; to catalog common student errors when problemsolving [21]; in helping students learn programming in block-based environments [43]; and even to scaffold the problem-solving process and encourage metacognition [17,35]. Although many variations of Parsons problems have been explored, a common feature is that the rearrangeable blocks represent syntactically correct source code. ...
... We iterated over the search results chronologically, identifying papers that provided concrete Parsons problem examples. We continued the search until we had a total of 10 papers with concrete examples [8,10,12,13,20,22,24,26,40,43], which we used as a starting set. ...
... Several approaches have been developed to reduce this cognitive load in introductory programming, such as the use of worked examples and similar practice problems [72,84], or mixed-up code (Parsons) problems [64], where learners are given mixed up fragments that must be placed in the correct order to solve a problem. Learner's typically complete Parsons problems significantly more quickly than fixing or writing code and have similar learning gains [24,25,91]. Similarly, AI code generators may reduce the cognitive load when learning to program, but its impact on the learning experience has not been studied. ...
Preprint
Full-text available
AI code generators like OpenAI Codex have the potential to assist novice programmers by generating code from natural language descriptions, however, over-reliance might negatively impact learning and retention. To explore the implications that AI code generators have on introductory programming, we conducted a controlled experiment with 69 novices (ages 10-17). Learners worked on 45 Python code-authoring tasks, for which half of the learners had access to Codex, each followed by a code-modification task. Our results show that using Codex significantly increased code-authoring performance (1.15x increased completion rate and 1.8x higher scores) while not decreasing performance on manual code-modification tasks. Additionally, learners with access to Codex during the training phase performed slightly better on the evaluation post-tests conducted one week later, although this difference did not reach statistical significance. Of interest, learners with higher Scratch pre-test scores performed significantly better on retention post-tests, if they had prior access to Codex.
... This seemed such an important use of Parsons problems that it earned its own own tag. An exemplar in this category is an article that evaluates the effectiveness of Parsons problems for block-based programming, finding that Parsons problems save students nearly half of total problem solving time [234]. Another exemplar in this category is an article that looks at Parsons problems as a design-based intervention as well as at how self-regulated learning strategies are applied by students when interacting with Parsons problems [82]. ...
... A paper with block-based programming [234] provides a check button with their Parsons problems only after student code has been run a few times. If code is not correct, then it will highlight misplaced code. ...
... We tagged 22 papers that presented evidence on learning gains with Parsons problems [6,20,31,40,59,61,62,68 , LP RSPF RSNPF SP SE IP PSSP PSS MD CL UI IS KT NNN PPSS LG EB EA GI GPP CSP LR SAS LP 134 60 54 28 14 13 10 11 11 10 9 8 8 6 6 5 3 3 2 3 2 1 2 RSPF 44.8% 64 0 16 2 5 11 5 7 7 7 7 3 3 5 1 2 4 0 3 0 0 2 RSNPF 40.3% 56 11 10 7 1 6 3 2 2 1 3 3 1 3 2 0 3 0 2 0 70,71,81,95,96,104,105,116,117,127,147,178,231,234]. Some papers compared learning gains from solving different types of Parsons problems such as Parsons problems with self-explanation versus not [70,71], with distractors versus without [95], and with motivational support and without [127]. ...
... Research indicates this structured approach to learning CT can lead to more efficient concept learning than alternatives such as learning by tutorial, or writing/fixing code (Ericson et al., 2017;Harms et al., 2015;Zhi et al., 2019). To measure efficiency, researchers often leverage cognitive load theory, which helps to distinguish between the complexity of the material, the instructional design, and the strategies used for knowledge construction. ...
... Since PPPs emerged in the CS literature as a new form of program completion problem in 2006, the community has investigated their strengths and weaknesses. Strengths include: scaffolded support of syntax and semantics learning; solvers with prior experience perform better and need less time ; quicker grading and less grading variability than code writing problems (Ericson et al., 2017); easier detection of learning differences between students compared to code writing and code fixing problems (Morrison et al., 2016); a moderate correlation between PPP proficiency and code writing proficiency in an exam setting (Denny et al., 2008); less completion time required than for code writing exercises with equivalent performance on transfer tasks (Ericson et al., 2017;Zhi et al., 2019); higher enjoyment and less completion time required than for tutorial users with better performance on transfer tasks ; and a lack of significant differences in performance across gender. Weaknesses include: constriction of puzzledesign surface to maintain single-solution structure (not strictly required, but commonly enforced to maintain strengths); the invitation of trial-and-error behavior in PPPs with excessive corrective feedback (Helminen et al., 2013); and a potential ceiling effect when feedback guides most learners to solve PPPs correctly, resulting in the need to evaluate learner process in addition to product when assessing Villamor, 2020). ...
... To investigate our research questions, we modified Scratch to facilitate the design, play, and assessment of PPPs. Aligned with the gamification strategy described in Tahir et al. (2020), in which the game elements were added to SQL-Tutor, and similar to recent iSnap integrations offering progress panels and adaptive messages (Marwan et al., 2020;Zhi et al., 2019), we augmented Scratch to influence the behavior of learners. As shown in Figure 1, we first established a design mode which enables content developers to assign points to individual blocks and select blocks for inclusion in a new PPP palette. ...
Article
Full-text available
A literature review revealed that students learning computational thinking (CT) via Scratch often require substantial teacher support. We surveyed grade 6-9 teachers to learn their perceptions of student engagement with CT and how well their needs are met by existing CT learning systems. The results led us to extend the trend of balancing Scratch’s agency with structure to better serve learners and reduce burden on teachers aiming to learn and teach CT. In this paper, we review architecture and implementation strategies developed to integrate Parsons Programming Puzzles (PPPs) with Scratch, and then analyze their effects on adults, who crucially influence the education of their children. The results from our pilot study suggest PPPs catalyze CT motivation, reduce extraneous cognitive load, and increase learning efficiency without jeopardizing performance on transfer tasks.
... To have an overview of what programming languages are used in assessments and where these assessments come from, we made Table III and Table IV. Scratch, Python, Java, C/C++, Pseudo-code were mentioned in the papers we reviewed, so we used them as programming language categories and related [38], [35], [44], [46] Array [4], [68] [8], [52], [14], [51], [30], [67], [28], [42] [29] ...
... [48] Assignment [4], [68], [58] [35], [45], [31], [5], [15] [48] Boolean operators [6], [35], [25], [14], [31], [5], [46] [12] Code Logic [4] [38], [17], [35], [56] [12] ...
... [39] Code Testing [38], [35], [44], [52], [14] Comparison [8], [13], [35], [45], [31] Computational Thinking [7] [16] Conditional statements [18], [4], [68], [58], [65] [54], [8], [53], [57], [13], [32], [16] [12] [48], [59] [39] [17], [19], [35], [44], [52], [14], [42] [31], [67], [28], [15], [50], [66] Data structure [54], [6], [35], [46], [41] [47] [12], [43] [59] ...
... Experiments in controlled settings have provided evidence that it takes significantly less time to solve two-dimensional Parsons problems (both adaptive and non-adaptive) with distractors than writing the equivalent code, with equivalent learning gains [16,18]. Parsons problems have also been found to be more efficient in a classroom lab using a blocks-based language, without reducing performance or increasing time on task for subsequent assignments [43]. However, it is important to test whether it is more efficient to solve adaptive Parsons problems than write the equivalent code in a typical lecture environment [13]. ...
... This study did not compare the learning gains from solving Parsons problems versus writing the equivalent code. However, prior research has shown no significant difference in learning gains [16,18,43]. Still, more research should test the learning gains. ...
... Many articles in CER cite CLT as a design inluence for a pedagogical decision or a learner-facing technology: for instance, block-based programming [77,82], Parsons problems [119], worked examples [62,108,110], audio explanations of code [21], and syntax exercises [98] have been justiied on grounds of cognitive load. Some of these mentions are not concerned with CLT as a whole but more with a particular CLT-related recommendation, such as the worked-example efect or the modality efect. ...
Article
Full-text available
One of the most commonly cited theories in computing education research is cognitive load theory (CLT), which explains how learning is affected by the bottleneck of human working memory and how teaching may work around that limitation. The theory has evolved over a number of decades, addressing shortcomings in earlier versions; other issues remain and are being debated by the CLT community. We conduct a systematic mapping review of how CLT has been used across a number of leading computing education research (CER) forums since 2010. We find that: the most common reason to cite CLT is to mention it briefly as a design influence; authors predominantly cite old versions of the theory; hypotheses phrased in terms of cognitive load components are rare; and only a small selection of cognitive load measures have been applied, sparsely. Overall, the theory’s evolution and recent themes in CLT appear to have had limited impact on CER so far. We recommend that studies in CER explain which version of the theory they use and why; clearly distinguish between load components (e.g., intrinsic and extraneous load); phrase hypotheses in terms of load components a priori ; look further into validating different measures of cognitive load; accompany cognitive load measures with complementary constructs, such as motivation; and explore themes such as collaborative CLT and individual differences in working-memory capacity.
... RBIE v.29 -2021 1340 Parsons problems are code-completion problems, which require students to rearrange mixed up blocks of code to create the correct solution to a programming problem. Zhi et al. (2019) presented a study that evaluates the effectiveness of Parsons problems for block-based programming. To investigate this impact, they designed and integrated Parsons problems into Snap! 1 . ...
Article
Full-text available
Blocks-based environments have been used to promote programming learning mostly in elementary and middle schools. In many countries, isolated initiatives have been launched to promote programming learning among children, but until now there is no evidence of widespread use of this type of environment in Brazil and Portugal. Consequently, it is common that many students reach higher education with little or no programming knowledge and skills. NoBug’s SnackBar is a game designed to help promote programming learning. This study examined students' behavior and attitudes when playing the game on their initiative. It used a sample of 33 undergraduate students enrolled in an introductory programming course. The variables studied were students' performance and engagement, satisfaction, and problem-solving strategies. The main findings were (1) better performing students had a high level of perceived learning, (2) all the students had similar perceptions about their fun while playing, (3) the leader board was the most used game element not directly related to learning and (4) the top-ranked students access previous solutions to help them solve a new mission, while the others often use a trial-and-error approach.