English
Related papers

Related papers: Model-Driven Synthesis for Programming Tutors

200 papers

Introductory programming courses often emphasize mastering syntax and basic constructs before progressing to more complex and interesting programs. This bottom-up approach can be frustrating for novices, shifting the focus away from problem…

Computers and Society · Computer Science 2024-10-07 Chris Kerslake , Paul Denny , David H Smith , James Prather , Juho Leinonen , Andrew Luxton-Reilly , Stephen MacNeil

An introductory programming course (CS1) is an integral part of any undergraduate curriculum. Due to large number and diverse programming background of students, providing timely and personalised feedback to individual students is a…

Computers and Society · Computer Science 2017-02-03 Rajdeep Das , Umair Z. Ahmed , Amey Karkare , Sumit Gulwani

The quality of software produced by students is often poor. How to teach students to develop good quality software has long been a topic in computer science education and research. We must conclude that we still do not have a good answer to…

Software Engineering · Computer Science 2023-09-06 Arno Broeders , Ruud Hermans , Sylvia Stuurman , Lex Bijlsma , Harrie Passier

*Data Synthesis* is a promising way to train a small model with very little labeled data. One approach for data synthesis is to leverage the rich knowledge from large language models to synthesize pseudo training examples for small models,…

Computation and Language · Computer Science 2023-10-23 Ruida Wang , Wangchunshu Zhou , Mrinmaya Sachan

This paper considers program synthesis in the context of computational hardness, asking the question: How hard is it to determine whether a given synthesis problem has a solution or not? To answer this question, this paper studies program…

Logic in Computer Science · Computer Science 2024-05-28 Jinwoo Kim

We present TEGCER, an automated feedback tool for novice programmers. TEGCER uses supervised classification to match compilation errors in new code submissions with relevant pre-existing errors, submitted by other students before. The dense…

Software Engineering · Computer Science 2019-10-28 Umair Z. Ahmed , Renuka Sindhgatta , Nisheeth Srivastava , Amey Karkare

Machine teaching studies the interaction between a teacher and a student/learner where the teacher selects training examples for the learner to learn a specific task. The typical assumption is that the teacher has perfect knowledge of the…

Machine Learning · Computer Science 2020-03-24 Rati Devidze , Farnam Mansouri , Luis Haug , Yuxin Chen , Adish Singla

A key challenge for reinforcement learning is solving long-horizon planning problems. Recent work has leveraged programs to guide reinforcement learning in these settings. However, these approaches impose a high manual burden on the user…

Artificial Intelligence · Computer Science 2021-11-03 Yichen David Yang , Jeevana Priya Inala , Osbert Bastani , Yewen Pu , Armando Solar-Lezama , Martin Rinard

We report on novel investigations into training models that make sentences concise. We define the task and show that it is different from related tasks such as summarization and simplification. For evaluation, we release two test sets,…

Computation and Language · Computer Science 2022-11-09 Felix Stahlberg , Aashish Kumar , Chris Alberti , Shankar Kumar

Program Synthesis is the task of generating a program from a provided specification. Traditionally, this has been treated as a search problem by the programming languages (PL) community and more recently as a supervised learning problem by…

Artificial Intelligence · Computer Science 2018-06-11 Riley Simmons-Edler , Anders Miltner , Sebastian Seung

Model collapse in synthetic data indicates that iterative training on self-generated data leads to a gradual decline in performance. With the proliferation of AI models, synthetic data will fundamentally reshape the web data ecosystem.…

Computation and Language · Computer Science 2025-05-29 Xuekai Zhu , Daixuan Cheng , Hengli Li , Kaiyan Zhang , Ermo Hua , Xingtai Lv , Ning Ding , Zhouhan Lin , Zilong Zheng , Bowen Zhou

We present the first technique to synthesize programs that compose side-effecting functions, pure functions, and control flow, from partial traces containing records of only the side-effecting functions. This technique can be applied to…

Programming Languages · Computer Science 2025-06-11 Margarida Ferreira , Victor Nicolet , Joey Dodds , Daniel Kroening

Providing examples is one of the most common way for end-users to interact with program synthesizers. However, program synthesis systems assume that examples consistent with the program are chosen at random, and do not exploit the fact that…

Artificial Intelligence · Computer Science 2022-04-07 Saujas Vaduguru , Kevin Ellis , Yewen Pu

In this paper, we consider the problem of iterative machine teaching, where a teacher provides examples sequentially based on the current iterative learner. In contrast to previous methods that have to scan over the entire pool and select…

Machine Learning · Computer Science 2023-01-27 Weiyang Liu , Zhen Liu , Hanchen Wang , Liam Paull , Bernhard Schölkopf , Adrian Weller

Generative neural models hold great promise in enhancing programming education by synthesizing new content. We seek to design neural models that can automatically generate programming tasks for a given specification in the context of visual…

Machine Learning · Computer Science 2024-01-17 Victor-Alexandru Pădurean , Georgios Tzannetos , Adish Singla

Large language models (LLMs) present an exciting opportunity for generating synthetic classroom data. Such data could include code containing a typical distribution of errors, simulated student behaviour to address the cold start problem…

Computers and Society · Computer Science 2024-10-15 Stephen MacNeil , Magdalena Rogalska , Juho Leinonen , Paul Denny , Arto Hellas , Xandria Crosland

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

In recent years, deep learning techniques have been developed to improve the performance of program synthesis from input-output examples. Albeit its significant progress, the programs that can be synthesized by state-of-the-art approaches…

Machine Learning · Computer Science 2018-03-09 Xinyun Chen , Chang Liu , Dawn Song

How students utilize immediate tutoring feedback in programming education depends on various factors. Among them are the feedback quality, but also students' engagement, i.e., their perception, interpretation, and use of feedback. However,…

Computers and Society · Computer Science 2025-11-19 Sven Jacobs , Jan Haas , Natalie Kiesler

This article presents resource-guided synthesis, a technique for synthesizing recursive programs that satisfy both a functional specification and a symbolic resource bound. The technique is type-directed and rests upon a novel type system…

Programming Languages · Computer Science 2019-04-19 Tristan Knoth , Di Wang , Nadia Polikarpova , Jan Hoffmann