English
Related papers

Related papers: Adaptive Scaffolding in Block-Based Programming vi…

200 papers

Program synthesis is challenging largely because of the difficulty of search in a large space of programs. Human programmers routinely tackle the task of writing complex programs by writing sub-programs and then analyzing their intermediate…

Programming Languages · Computer Science 2023-10-31 Augustus Odena , Kensen Shi , David Bieber , Rishabh Singh , Charles Sutton , Hanjun Dai

Block-based programming languages like Scratch have become increasingly popular as introductory languages for novices. These languages are intended to be used with a "tinkering" approach which allows learners and teachers to quickly…

Continual learning algorithms which keep the parameters of new tasks close to that of previous tasks, are popular in preventing catastrophic forgetting in sequential task learning settings. However, 1) the performance for the new continual…

Machine Learning · Computer Science 2023-07-21 Wei Cong , Yang Cong , Gan Sun , Yuyang Liu , Jiahua Dong

Understanding students' misconceptions is important for effective teaching and assessment. However, discovering such misconceptions manually can be time-consuming and laborious. Automated misconception discovery can address these challenges…

Machine Learning · Computer Science 2021-03-09 Yang Shi , Krupal Shah , Wengran Wang , Samiha Marwan , Poorvaja Penmetsa , Thomas W. Price

The importance of programming education has lead to dedicated educational programming environments, where users visually arrange block-based programming constructs that typically control graphical, interactive game-like programs. The…

Software Engineering · Computer Science 2022-08-24 Adina Deiner , Patric Feldmeier , Gordon Fraser , Sebastian Schweikl , Wengran Wang

Program synthesis aims to automatically construct human-readable programs that satisfy given task specifications, such as input/output pairs or demonstrations. Recent works have demonstrated encouraging results in a variety of domains, such…

Software Engineering · Computer Science 2023-03-13 Linghan Zhong , Ryan Lindeborg , Jesse Zhang , Joseph J. Lim , Shao-Hua Sun

We introduce the Adaptive Skills, Adaptive Partitions (ASAP) framework that (1) learns skills (i.e., temporally extended actions or options) as well as (2) where to apply them. We believe that both (1) and (2) are necessary for a truly…

Machine Learning · Computer Science 2016-06-08 Daniel J. Mankowitz , Timothy A. Mann , Shie Mannor

Task-based programming models have proven to be a robust and versatile way to approach development of applications for distributed environments. They provide natural programming patterns with high performance. However, execution on this…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-08-08 Alex Barcelo , Anna Queralt , Toni Cortes

With the increasing popularity of online learning, intelligent tutoring systems are regaining increased attention. In this paper, we introduce adaptive algorithms for personalized assignment of learning tasks to student so that to improve…

Artificial Intelligence · Computer Science 2016-06-24 Per-Arne Andersen , Christian Kråkevik , Morten Goodwin , Anis Yazidi

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

Several recent advances in AI systems solve problems by providing a "scaffolding" program that structures multiple calls to language models (LMs) to generate better outputs. A scaffolding program is written in a programming language such as…

Computation and Language · Computer Science 2024-08-19 Eric Zelikman , Eliana Lorch , Lester Mackey , Adam Tauman Kalai

Adaptive Computing is an application-agnostic outer loop framework to strategically deploy simulations and experiments to guide decision making for scale-up analysis. Resources are allocated over successive batches, which makes the…

Computer programming represents a rapidly evolving and sought-after career path in the 21st century. Nevertheless, novice learners may find the process intimidating for several reasons, such as limited and highly competitive career…

Human-Computer Interaction · Computer Science 2025-03-24 M. A. F. Aamina , V. Kavishcan , W. M. P. B. B. Jayaratne , K. K. D. S. N. Kannangara , A. A. Aamil , Achini Adikari

This paper describes how to adapt a static code analyzer to help novice programmers. Current analyzers have been built to give feedback to experienced programmers who build new applications or systems. The type of feedback and the type of…

Software Engineering · Computer Science 2017-10-03 Tim Blok , Ansgar Fehnker

This paper extends the functionality of block ordering problems (such as Parsons problems and Proof Blocks) to include optional blocks. We detail the algorithms used to implement the optional block feature and present usage experiences from…

Human-Computer Interaction · Computer Science 2025-10-15 Skyler Oakeson , David H. Smith , Jaxton Winder , Seth Poulsen

Design skills are increasingly recognized as a core competency for software professionals. Unfortunately, these skills are difficult to teach because design requires freedom and open-ended thinking, but new designers require a structured…

Computers and Society · Computer Science 2024-10-17 Christopher William Schankula , Habib Ghaffari Hadigheh , Spencer Smith , Christopher Kumar Anand

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

In many MOOCs, whenever a student completes a programming task, they can see previous solutions of other students to find potentially different ways of solving the problem and to learn new coding constructs. However, a lot of MOOCs simply…

Software Engineering · Computer Science 2024-10-15 Elizaveta Artser , Anastasiia Birillo , Yaroslav Golubev , Maria Tigina , Hieke Keuning , Nikolay Vyahhi , Timofey Bryksin

Convexity, though extremely important in mathematical programming, has not drawn enough attention in the field of dynamic programming. This paper gives conditions for verifying convexity of the cost-to-go functions, and introduces an…

Optimization and Control · Mathematics 2011-11-14 Sheng Yu , Enrique Campos-Nanez

Programming skills are rapidly becoming essential for many educational paths and career opportunities. Yet, for many international students, the traditional approach to teaching introductory programming courses can be a significant…

Human-Computer Interaction · Computer Science 2023-02-28 Chen Cao