16 research outputs found
Synthesizing Imperative Programs from Examples Guided by Static Analysis
We present a novel algorithm that synthesizes imperative programs for
introductory programming courses. Given a set of input-output examples and a
partial program, our algorithm generates a complete program that is consistent
with every example. Our key idea is to combine enumerative program synthesis
and static analysis, which aggressively prunes out a large search space while
guaranteeing to find, if any, a correct solution. We have implemented our
algorithm in a tool, called SIMPL, and evaluated it on 30 problems used in
introductory programming courses. The results show that SIMPL is able to solve
the benchmark problems in 6.6 seconds on average.Comment: The paper is accepted in Static Analysis Symposium (SAS) '17. The
submission version is somewhat different from the version in arxiv. The final
version will be uploaded after the camera-ready version is read
A Theme-Rewriting Approach for Generating Algebra Word Problems
Texts present coherent stories that have a particular theme or overall
setting, for example science fiction or western. In this paper, we present a
text generation method called {\it rewriting} that edits existing
human-authored narratives to change their theme without changing the underlying
story. We apply the approach to math word problems, where it might help
students stay more engaged by quickly transforming all of their homework
assignments to the theme of their favorite movie without changing the math
concepts that are being taught. Our rewriting method uses a two-stage decoding
process, which proposes new words from the target theme and scores the
resulting stories according to a number of factors defining aspects of
syntactic, semantic, and thematic coherence. Experiments demonstrate that the
final stories typically represent the new theme well while still testing the
original math concepts, outperforming a number of baselines. We also release a
new dataset of human-authored rewrites of math word problems in several themes.Comment: To appear EMNLP 201
Attend to You: Personalized Image Captioning with Context Sequence Memory Networks
We address personalization issues of image captioning, which have not been
discussed yet in previous research. For a query image, we aim to generate a
descriptive sentence, accounting for prior knowledge such as the user's active
vocabularies in previous documents. As applications of personalized image
captioning, we tackle two post automation tasks: hashtag prediction and post
generation, on our newly collected Instagram dataset, consisting of 1.1M posts
from 6.3K users. We propose a novel captioning model named Context Sequence
Memory Network (CSMN). Its unique updates over previous memory network models
include (i) exploiting memory as a repository for multiple types of context
information, (ii) appending previously generated words into memory to capture
long-term information without suffering from the vanishing gradient problem,
and (iii) adopting CNN memory structure to jointly represent nearby ordered
memory slots for better context understanding. With quantitative evaluation and
user studies via Amazon Mechanical Turk, we show the effectiveness of the three
novel features of CSMN and its performance enhancement for personalized image
captioning over state-of-the-art captioning models.Comment: Accepted paper at CVPR 201
Adaptive Scaffolding in Block-Based Programming via Synthesizing New Tasks as Pop Quizzes
Block-based programming environments are increasingly used to introduce
computing concepts to beginners. However, novice students often struggle in
these environments, given the conceptual and open-ended nature of programming
tasks. To effectively support a student struggling to solve a given task, it is
important to provide adaptive scaffolding that guides the student towards a
solution. We introduce a scaffolding framework based on pop quizzes presented
as multi-choice programming tasks. To automatically generate these pop quizzes,
we propose a novel algorithm, PQuizSyn. More formally, given a reference task
with a solution code and the student's current attempt, PQuizSyn synthesizes
new tasks for pop quizzes with the following features: (a) Adaptive (i.e.,
individualized to the student's current attempt), (b) Comprehensible (i.e.,
easy to comprehend and solve), and (c) Concealing (i.e., do not reveal the
solution code). Our algorithm synthesizes these tasks using techniques based on
symbolic reasoning and graph-based code representations. We show that our
algorithm can generate hundreds of pop quizzes for different student attempts
on reference tasks from Hour of Code: Maze Challenge and Karel. We assess the
quality of these pop quizzes through expert ratings using an evaluation rubric.
Further, we have built an online platform for practicing block-based
programming tasks empowered via pop quiz based feedback, and report results
from an initial user study.Comment: Preprint. Accepted as a paper at the AIED'22 conferenc
Robosourcing Educational Resources -- Leveraging Large Language Models for Learnersourcing
In this article, we introduce and evaluate the concept of robosourcing for
creating educational content. Robosourcing lies in the intersection of
crowdsourcing and large language models, where instead of a crowd of humans,
requests to large language models replace some of the work traditionally
performed by the crowd. Robosourcing includes a human-in-the-loop to provide
priming (input) as well as to evaluate and potentially adjust the generated
artefacts; these evaluations could also be used to improve the large language
models. We propose a system to outline the robosourcing process. We further
study the feasibility of robosourcing in the context of education by conducting
an evaluation of robosourced and programming exercises, generated using OpenAI
Codex. Our results suggest that robosourcing could significantly reduce human
effort in creating diverse educational content while maintaining quality
similar to human-created content