English
Related papers

Related papers: A Block-Based Testing Framework for Scratch

200 papers

This paper describes the design and evaluation of DSAScratch, an extension to Scratch, a widely used block-based programming language. The DSAScratch framework implements advanced data structures such as arrays, sets, dictionaries, and…

Human-Computer Interaction · Computer Science 2023-02-28 Ashwin Jagadeesha , Pranathi Rayavaram , Justin Marward , Sashank Narain , Claire Seungeun Lee

In this paper, we present Scratch Community Blocks, a new system that enables children to programmatically access, analyze, and visualize data about their participation in Scratch, an online community for learning computer programming. At…

Human-Computer Interaction · Computer Science 2017-02-03 Sayamindu Dasgupta , Benjamin Mako Hill

Programming is increasingly taught using block-based languages like Scratch. While the use of blocks prevents syntax errors, learners can still make semantic mistakes, requiring feedback and help. As teachers may be overwhelmed by help…

Software Engineering · Computer Science 2025-04-18 Sebastian Schweikl , Gordon Fraser

Proof Blocks is a software tool that allows students to practice writing mathematical proofs by dragging and dropping lines instead of writing proofs from scratch. Proof Blocks offers the capability of assigning partial credit and providing…

Artificial Intelligence · Computer Science 2023-05-10 Seth Poulsen , Shubhang Kulkarni , Geoffrey Herman , Matthew West

LLMs have achieved strong performance on text-based programming tasks, yet they remain unreliable for block-based languages such as Scratch. Scratch programs exhibit deeply nested, non-linear structures, event-driven concurrency across…

Software Engineering · Computer Science 2026-02-03 Yuan Si , Simeng Han , Daming Li , Hanyuan Shi , Jialu Zhang

Data-driven programming feedback systems can help novices to program in the absence of a human tutor. Prior evaluations showed that these systems improve learning in terms of test scores, or task completion efficiency. However, crucial…

Computers and Society · Computer Science 2022-08-11 Preya Shabrina , Samiha Marwan , Andrew Bennison , Min Chi , Thomas Price , Tiffany Barnes

Monitoring in-class programming exercises can help instructors identify struggling students and common challenges. However, understanding students' progress can be prohibitively difficult, particularly for multi-faceted problems that…

Human-Computer Interaction · Computer Science 2026-02-02 Yinuo Yang , Ashley Ge Zhang , Steve Oney , April Yi Wang

Promoting creativity is considered an important goal of education, but creativity is notoriously hard to measure.In this paper, we make the journey fromdefining a formal measure of creativity that is efficientlycomputable to applying the…

Human-Computer Interaction · Computer Science 2022-11-11 Anastasia Kovalkov , Benjamin Paaßen , Avi Segal , Niels Pinkwart , Kobi Gal

Block-Based Programming (BBP) platforms, such as Snap!, have become increasingly prominent in K-12 computer science education due to their ability to simplify programming concepts and foster computational thinking from an early age. While…

Computers and Society · Computer Science 2025-12-19 Bahare Riahi , Xiaoyi Tian , Ally Limke , Viktoriia Storozhevykh , Veronica Catete , Tiffany Barnes , Nicholas Lytle , Khushbu Singh

Proof Blocks is a software tool that provides students with a scaffolded proof-writing experience, allowing them to drag and drop prewritten proof lines into the correct order instead of starting from scratch. In this paper we describe a…

Computers and Society · Computer Science 2022-12-20 Seth Poulsen , Yael Gertner , Benjamin Cosman , Matthew West , Geoffrey L. Herman

There is an increasing imperative to integrate programming platforms within AI frameworks to enhance educational tasks for both teachers and students. However, commonly used platforms such as Code.org, Scratch, and Snap fall short of…

Computers and Society · Computer Science 2025-09-23 Bahare Riahi , Veronica Catete

Within PCB design, the reuse of circuit design blocks is a major preventing factor inhibiting beginners from reusing designs made by experts, a common practice in software but non-existent in circuit design at large. Despite efforts to…

Human-Computer Interaction · Computer Science 2025-09-19 Jorge Garza , Steven Swanson

As part of formative and summative assessments in programming courses, students work on developing programming artifacts following a given specification. These artifacts are evaluated by the teachers. At the end of this evaluation, the…

Software Engineering · Computer Science 2020-08-17 Manuel Maarek , Léon McGregor

A blockchain-based framework for distributed agile software testing life cycle is an innovative approach that uses blockchain technology to optimize the software testing process. Previously, various methods were employed to address…

Software Engineering · Computer Science 2023-07-17 Muhammad Shoaib Farooq , Fatima Ahmed

Transitioning from block-based programming to text-based programming environments can be challenging as it requires students to learn new programming language concepts. In this paper, we identify and classify the issues encountered when…

Human-Computer Interaction · Computer Science 2023-02-14 Majeed Kazemitabaar , Viktar Chyhir , David Weintrop , Tovi Grossman

AI-based chatbots have the potential to accelerate learning and teaching, but may also have counterproductive consequences without thoughtful design and scaffolding. To better understand teachers' perspectives on large language model…

Bugs in learners' programs are often the result of fundamental misconceptions. Teachers frequently face the challenge of first having to understand such bugs, and then suggest ways to fix them. In order to enable teachers to do so…

Software Engineering · Computer Science 2021-08-17 Luisa Greifenstein , Florian Obermüller , Ewald Wasmeier , Ute Heuer , Gordon Fraser

Scratch is the most popular programming environment for novices, with over 1.15 billion projects created worldwide. Unlike traditional languages, correctness in Scratch is defined by visible behavior on the stage rather than by code…

Software Engineering · Computer Science 2026-04-01 Yuan Si , Ming Wang , Daming Li , Hanyuan Shi , Jialu Zhang

Context. Code smells, which are recurring anomalies in design or style, have been extensively researched in professional code. However, their significance in block-based projects created by novices is still largely unknown. Block-based…

Software Engineering · Computer Science 2025-07-24 Ricardo Hidalgo Aragón , Jesús M. González-Barahona , Gregorio Robles

Providing feedback on programming assignments manually is a tedious, error prone, and time-consuming task. In this paper, we motivate and address the problem of generating feedback on performance aspects in introductory programming…

Programming Languages · Computer Science 2014-09-18 Sumit Gulwani , Ivan Radiček , Florian Zuleger