<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Robosourcing Educational Resources - Leveraging Large Language Models for Learnersourcing</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Paul Denny</string-name>
          <email>paul@cs.auckland.ac.nz</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sami Sarsa</string-name>
          <email>sami.sarsa@aalto.fi</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Arto Hellas</string-name>
          <email>arto.hellas@aalto.fi</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Juho Leinonen</string-name>
          <email>juho.2.leinonen@aalto.fi</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Aalto University</institution>
          ,
          <addr-line>Espoo</addr-line>
          ,
          <country country="FI">Finland</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>The University of Auckland</institution>
          ,
          <addr-line>Auckland</addr-line>
          ,
          <country country="NZ">New Zealand</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>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 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 explore the feasibility of robosourcing in the context of education by conducting an evaluation of robosourced programming exercises, generated using OpenAI Codex. Our results suggest that robosourcing could significantly reduce human efort in creating diverse educational content while maintaining quality similar to human-created content. Thus, we argue that robosourcing has the potential to alleviate known issues around learner motivation and content quality that have been shown to limit the benefits of learnersourcing in practice.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;robosourcing</kwd>
        <kwd>learnersourcing</kwd>
        <kwd>educational resources</kwd>
        <kwd>large language models</kwd>
        <kwd>codex</kwd>
        <kwd>openai</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Learnersourcing is a broad term that is used to describe student-centered pedagogies that
involve learners in the creation and evaluation of educational resources. In contrast to more
traditional models of teaching, where expert instructors assume the responsibility for producing
the resources that are subsequently used by students, learnersourcing leverages the creativity
and energy of a cohort of students in order to produce large repositories of useful learning
content. Khosravi et al. describe learnersourcing as a form of crowdsourcing that mobilizes
students as “experts-in-training to contribute to teaching or learning while being engaged in a
meaningful learning experience themselves” [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>As highlighted by the previous definition, learnersourcing activities ofer several benefits
to students. Broadly speaking, these benefits relate to the two primary activities underlying
learnersourcing – the generation of content, and the use of content generated by others. When
producing novel learning content, students must engage with and understand the concepts
they are targeting. The act of creating content leads to more robust recall of information when
compared to passive engagement with content produced by others [2, 3]. Generating model
answers or solutions as part of this process prompts self-explanation which is also known to be
beneficial to learning [ 4, 5]. When using content produced by other learners, there are benefits
relating to the ways in which that content is presented and the quantity of resources available.
Learners appreciate the dificulties that their peers face and do not sufer from the phenomenon
of expert blind spots which can make expert-generated resources challenging for novices to
understand [6]. Learnersourced repositories also scale with the size of the cohort, and thus
provide a wide variety of content suitable for the needs of individual learners [7, 8].</p>
      <p>
        However, despite the potential benefits ofered by learnersourcing, in practice there are
several challenges to successful implementation. With respect to creating content, issues of
low motivation can prevent learners from properly engaging with the generative aspects of
learnersourcing. Indeed, prior research has shown that students tend to be much more inclined
to use and evaluate resources created by others than they are to create resources themselves
[9, 10, 11]. With respect to utilising the resources produced by other learners, one of the widely
cited issues with learnersourcing is the low quality of some of the content generated by novices
[12, 13, 14]. Low quality resources are of limited use for learning. Eforts to train novices to
produce higher quality resources can help, but these can be time consuming and limit the
scalability of learnersourcing in very large classes [
        <xref ref-type="bibr" rid="ref2">15</xref>
        ].
      </p>
      <p>
        The recent emergence of large language models (LLMs) presents the possibility to scafold
learnersourcing activities in a way that may address, to some extent, the challenges relating to
low student motivation and low quality content. LLMs have proven to be remarkably adept
at generating realistic human-like content of various types including text, images and source
code. Widely known models such as GPT-3 [
        <xref ref-type="bibr" rid="ref3">16</xref>
        ], OpenAI Codex [
        <xref ref-type="bibr" rid="ref4">17</xref>
        ], AlphaCode [
        <xref ref-type="bibr" rid="ref5">18</xref>
        ] and
DALL· E [
        <xref ref-type="bibr" rid="ref6">19</xref>
        ] have received a great deal of attention, and can produce novel content from a
small number of contextual input examples [
        <xref ref-type="bibr" rid="ref7">20</xref>
        ]. The usage of large language models has grown
dramatically in the last few years, following increases in the size of training data sets and the
number of parameters used in the models. They have been applied to a wide range of tasks and
generated enormous quantities of new content, yet their potential impact on learners and on
pedagogy remains to be fully explored.
      </p>
      <p>
        In this work, we propose ‘robosourcing’ as a model to scafold the creation of educational
content. Robosourcing combines large language models and learnersourcing by utilizing the
large language models to facilitate the creation of content. A human (i.e. the learner) is involved
in the robosourcing process as the initiator providing input to the models (e.g. content and topic
priming) as well as evaluating and curating the content generated by the models. Robosourcing
shifts the primary focus of learners from content creation to content evaluation – thus more
accurately reflecting professional practice. We evaluate preliminary evidence 1 highlighting the
potential of robosourcing and argue that it may be an efective strategy for improving learner
productivity and the quality of the content they generate when engaging in learnersourcing
activities.
1Full evaluation to appear in [
        <xref ref-type="bibr" rid="ref8">21</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Background</title>
      <sec id="sec-2-1">
        <title>2.1. Practice testing</title>
        <p>
          A common type of learnersourcing task involves students creating practice questions which can
then be used for drill and practice learning. Across a wide range of educational contexts, drill
and practice activities are both popular and highly efective [
          <xref ref-type="bibr" rid="ref9">22</xref>
          ]. The testing efect is a robust
phenomenon which states that being tested on previously studied material is more efective for
learning than repeated episodes of studying [
          <xref ref-type="bibr" rid="ref10 ref11">23, 24</xref>
          ]. This efect has been well established both
in controlled laboratory environments and in the classroom, with clear evidence that frequent
testing yields positive efects on both perceived and actual learning outcomes [
          <xref ref-type="bibr" rid="ref12">25</xref>
          ].
        </p>
        <p>
          A primary challenge of supporting practice testing at scale is the human efort associated
with generating questions and associated solutions. Large repositories of questions that cover
all relevant concepts are required in order to support efective practice [
          <xref ref-type="bibr" rid="ref13">26</xref>
          ]. Given the critical
role that feedback plays in learning [
          <xref ref-type="bibr" rid="ref14 ref15">27, 28</xref>
          ], the presence of model solutions is also important
for providing immediate feedback to learners which can prompt reflection and promote
selfregulated learning behaviours [
          <xref ref-type="bibr" rid="ref16">29</xref>
          ]. Furthermore, research on the problem description efect has
shown that the presence of relevant contextual information in the wording of a question can
impact cognitive load and have a positive efect on problem success [
          <xref ref-type="bibr" rid="ref17 ref18">30, 31</xref>
          ]. The manual
generation of suitable practice testing repositories, with comprehensive concept coverage, appropriate
contextual information and model solutions, places a significant burden on instructors.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Scalable problem generation</title>
        <p>
          A number of automated approaches have been explored for the generation of questions that
could be used for practice testing. These approaches commonly involve the use of question
templates [
          <xref ref-type="bibr" rid="ref19 ref20">32, 33</xref>
          ] or parameterized questions [
          <xref ref-type="bibr" rid="ref21">34</xref>
          ]. In such cases, experts carefully design
templates with selected elements that can be randomly generated or drawn from a pool of
candidates. Although such approaches can be used to generate a large number of questions, there
remains significant human efort in constructing the templates and challenges in generating
questions of equivalent dificulty when that is required [
          <xref ref-type="bibr" rid="ref22">35</xref>
          ].
        </p>
        <p>
          In certain domains, such as computer science and mathematics, specialized techniques can
be employed to generate relevant problems. For example, to generate code-tracing practice
questions for computing students, Thomas et al. use a stochastic tree-based generation algorithm
[
          <xref ref-type="bibr" rid="ref23">36</xref>
          ]. This approach is efective at generating multiple-choice questions with good distractors,
but the range of problems produced is very narrow. Fowler and Zilles produce large pools of
programming questions through a permutation strategy which makes superficial changes to the
wording of the problem statement [
          <xref ref-type="bibr" rid="ref24">37</xref>
          ]. Generating good base questions for permutation still
requires manual human efort, and the number of permutations possible per base question is
ifxed. In mathematics education, the use of word problems where numerical data is embedded in
a natural language description of a scenario is ubiquitous [
          <xref ref-type="bibr" rid="ref25">38</xref>
          ]. Many template-based approaches
for generating such word problems have been explored, including manually defined templates
with rules [
          <xref ref-type="bibr" rid="ref26">39</xref>
          ] and templates where nouns and verbs are replaced with appropriate words from
a desired topic [
          <xref ref-type="bibr" rid="ref27">40</xref>
          ]. As with any template-based approach however, significant manual efort is
required to generate new domain-specific templates of high quality.
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Large language models</title>
        <p>
          Recently, there has been great progress on generative NLP methods (such as OpenAI’s
GPT3 [
          <xref ref-type="bibr" rid="ref3">16</xref>
          ]) that are capable of generating text that can be hard to distinguish from text written
by humans [
          <xref ref-type="bibr" rid="ref3">16</xref>
          ]. These are deep learning models and their performance relies on both a vast
number of parameters for the models (175 billion in the case of GPT-3) as well as an extensive
corpus of text for training (570GB of text for GPT-3). Codex [
          <xref ref-type="bibr" rid="ref4">17</xref>
          ], also by OpenAI, is similar
to GPT-3, but has been trained with a very large number of public source code repositories
from GitHub. While GPT-3 is primarily used to create novel content based on existing content,
the goal of Codex is to both translate natural language to source code and vice versa, and to
generate/auto-complete source code from given source code.
        </p>
        <p>
          Both GPT-3 and Codex have been previously used to solve math and programming exercises
respectively. For math word problems, Cobbe et al. [
          <xref ref-type="bibr" rid="ref28">41</xref>
          ] observed that while GPT-3 was relatively
poor at solving primary school math problems, the performance could be improved by separately
training verifiers that rank outputs from the large language model and using the best option as
the solution. In the context of solving programming exercises, Finnie-Ansley et al. [42] observed
that Codex was able to correctly answer most introductory programming problems and that
when given typical introductory programming exam questions, Codex performed better than
the average student. Another LLM for code generation, AlphaCode [
          <xref ref-type="bibr" rid="ref5">18</xref>
          ] by DeepMind, was
trained to solve competitive programming problems and managed roughly as well as an average
competitive programmer on 10 Codeforces problems.
        </p>
        <p>In this work, we explore the potential of such models for the scalable generation of practice
questions as part of a learnersourcing activity. Learners can leverage the computational efort
of large language models to produce content quickly, which they can then evaluate and modify
before sharing with others. They can also provide basic priming information to the large
language models, such as initial example problems and desired contextual information in the
output. We use the term robosourcing to describe this new approach.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. A Robosourcing model</title>
      <p>A schematic view of the robosourcing model is shown in Figure 1; first, a learner provides a
priming exercise that includes a problem statement, a sample solution, and any expected themes
and concepts (for programming exercises, automated tests can also be included). Once the
priming exercise has been provided, the system automatically generates a pool of exercises for
evaluation. This is followed by a filtering phase where the system first automatically filters
generated exercises, after which the learner can perform additional filtering. The filtered
exercises can then be edited, if necessary, and added to an exercise database. In a typical
learnersourcing environment, students are involved in both creating and evaluating content.
This robosourcing model leverages the power of large language models for content creation,
shifting the primary role of the learner towards evaluation.</p>
      <p>In the first stage of the model, a learner provides a priming exercise as input to a large
language model. Consider the priming exercise for a programming problem, as shown below.
In this case, the format of the priming exercise consists of a label (i.e. Exercise 1) followed
by keywords for both the contextual themes and the programming-related concepts within
exercise
Problem statement</p>
      <p>Sample solution
Themes and concepts</p>
      <sec id="sec-3-1">
        <title>Generated</title>
        <p>exercises</p>
      </sec>
      <sec id="sec-3-2">
        <title>Exercise database</title>
        <p>RobSys
creates</p>
        <p>RobSys
and human
filters
creating exercises, which the system then uses to create an exercise pool. The exercise pool is filtered
initially by the system based on options given by the user, after which the user can also filter out
exercises. The exercises that are not filtered out are added to an exercise database.
the exercise (i.e. donuts, function, conditional), a natural language problem statement and a
solution (in the form of a Python function). For space reasons, we omit a list of test cases but
these can also be included for programming problems. The priming input ends with the explicit
prompt for a new exercise to be generated (i.e. Exercise 2), along with the desired concepts and
themes that it should target which are expressed as keywords (i.e. basketball, function, list and
for loop).</p>
        <p>"""Exercise 1
--Keywords-donuts
function
conditional
--Problem
statement-Write a function called donut_cost that takes three inputs: the price of a
˓→ donut, the number of donuts bought, and whether or not it is the weekend.
˓→ The function should return the total cost of the donuts. If it is the
˓→ weekend, the donuts cost twice as much.
--Sample
solution-def donut_cost(price, number, is_weekend):
if is_weekend:</p>
        <p>return price * number * 2
else:</p>
        <p>return price * number
"""Exercise 2
--Keywords-basketball
function
list
for loop
--Problem
statement-</p>
        <p>
          If this input is provided, verbatim, to the Davinci-2 model from OpenAI Codex [
          <xref ref-type="bibr" rid="ref4">17</xref>
          ], which is
ifne-tuned to generate code, one possible output is the following (note, in this case, the problem
statement is related to basketball and the model solution consists of a function that involves a
list and a for loop, as requested by the keyword information provided in the input):
Write a function called count_rebounds that takes a list of basketball players
˓→ as an input. The function should return the total number of rebounds for
˓→ the entire team. Each element in the list is itself a list containing the
˓→ player's name, their points, and their rebounds.
--Sample
solution-def count_rebounds(players):
total = 0
for player in players:
        </p>
        <p>total = total + player[2]
return total</p>
        <p>In the second phase of the model, the learner then evaluates this output and makes a decision
about whether it should be shared to a database of filtered problems, which can later be used
for practice. Some of this filtering can be performed automatically – for example, in the case
of programming problems, the generated code can be executed and tested against a suite of
test cases (which can be also generated by the model, but were omitted for space reasons in
this example). Any generated problems for which the code cannot be executed, or for which
the test cases do not pass, can also be automatically filtered out. Finally, although in the
example above we used the Davinci-2 model, the underlying generative model can be switched
to something more appropriate for the problem type (such as GPT-3 or similar for contexts
other than programming).</p>
        <sec id="sec-3-2-1">
          <title>3.1. Preliminary evaluation</title>
          <p>
            To assess the feasibility of robosourcing, we use OpenAI Codex to generate a corpus of practice
exercises suitable for university level introductory programming. The goal of this evaluation is
to determine whether the automatically generated exercises are of suficient quality that they
could be evaluated and modified with little efort by learners. For more details on the evaluation,
please see [
            <xref ref-type="bibr" rid="ref8">21</xref>
            ].
3.1.1. Exercise generation
To prime the exercises – in other words, as input to the OpenAI Codex model – we used a
variant of the speeding problem presented in [43] and a currency converter program. These
two priming exercises are listed in Appendix 6.1. To explore the generation of varied and novel
problems, we manipulate both the programming-related concepts and the contextual themes
that are provided as part of the priming information as keywords. We defined a total of nine
contextual themes (e.g. hiking, music) and two distinct sets of programming-related concepts
(e.g. set 2: class, list, conditional). The full list of themes and concepts is provided in Table 1. As
shown in Appendix 6.1, the input to the Codex model was the stop sequence ("""), followed
by the label Exercise 1 and then the complete priming exercise (the keywords, problem
statement, sample solution and tests), followed by the stop sequence again. The priming then
continued with the label Exercise 2, the desired keywords selected from our themes and sets
of programming concepts, and finally the label Problem statement. The output from the
model followed this label. In this preliminary evaluation, we used the “code-davinci-001” model
version of Codex.
          </p>
          <p>We generated a total of 240 programming exercises. These were a combination of the two
programming exercises (see Appendix 6.1), a total of nine themes (and an extra for leaving out
the contextual concept) and two programming-related concept sets (and an extra for leaving out
the programming-related concepts). This resulted in 10 × 3 × 2 = 60 diferent combinations
of inputs (themes × programming-related concept sets × exercise primings). In addition, we
explored two values for Codex’s temperature parameter (0 and 0.75) and created two exercises
for each parameter combination. In total, this led to a sample of 60 × 2 × 2 = 240 programming
exercises. We conducted the evaluation qualitatively and quantitatively. For the qualitative
evaluation, we assessed a random sample of 120 of these exercises.
3.1.2. Exercise evaluation
For the qualitative part of the evaluation, we assessed the sensibleness, novelty, topicality, and
readiness for use of the 120 randomly sampled exercises. For sensibleness, we inspect whether
the problem statement contains a sensible and practical problem that students might be expected
to solve. For novelty, we use Google search (on phrases contained within the problem statement)
to see if we can find the exercise or a similar one online. For topicality of the exercises, we
analyse whether the generated problem incorporates the provided theme and concepts from
the required sets.</p>
          <p>We also evaluate the readiness for use of the exercises that were deemed to be sensible. This
category involved both a qualitative and a quantitative aspect. For the qualitative piece, we
evaluate whether the generated sample solution matches the problem description. For the
quantitative analysis, we examine the complete corpus of 240 programming exercises and assess
three aspects. We explore; 1) can the sample solution be executed/run, 2) does the sample
solution pass the automated tests that are generated, and 3) what is the statement coverage of
the automated tests when the code runs. These analyses were conducted programmatically2.</p>
          <p>The qualitative analysis was conducted by four researchers. Each researcher worked on a
subsample of the exercises. The researchers assessed the items with Yes / No / Maybe statements,
adding qualitative notes for the latter category. All the Maybe answers were then discussed by
at least two researchers to determine the consensus label (Yes or No). We tallied the Yes / No
answers to provide quantitative results.
2Analysis of statement coverage used Coverage.py version 6.3.2 (https://coverage.readthedocs.io/)</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Preliminary Findings</title>
      <p>The statistics for sensibleness, novelty, readiness for use and topicality of the evaluated
programming exercises are presented in Table 2. Out of the evaluated programming exercises,
75.0% were sensible, 81.8% were novel, and 76.7% had a matching sample solution. In addition,
79.2% of the exercises matched the priming theme, and more than three-quarters had the desired
programming concepts present. The most common reason for a programming exercise not
being sensible was the problem statement asking for the calculation of some sort of a value that
required another value that was not available (e.g. amount of tax but missing price). In terms
of the programming concepts, ‘arithmetic’ was missing relatively often despite the programs
featuring a ‘+’-symbol; in these cases, ‘+’ was used for concatenating strings.</p>
      <p>
        The statistics for the programmatic analysis of all 240 generated exercises are presented in
Table 3. Out of the 240 programming exercises, 203 had a sample solution (84.6%). From the 203
sample solutions, 182 (89.7%) could be executed (i.e. running the code did not produce any errors).
A total of 170 programming exercises had automated tests, while 165 programming exercises
had both a sample solution and automated tests. From these 165 programming exercises, 51 had
a sample solution that passed the automated tests. Out of the 51 programming exercises with
a working sample solution and automated tests, 48 exhibited 100% statement coverage. The
statement coverage averaged over all of the 51 programming exercises was 98.0%. We observed
that the most common issue preventing exercises from passing the tests was not related to the
code logic, but in how the outputs were handled. In those cases, the sample solution printed
a value, while the automated tests expected that the sample solution would return a value
(e.g. the tests called a function and expected that the function would return a value, but the
function printed a value). We note, of course, that a confusion between printing and returning
values is a commonly cited error made by novices [44, 45]. Another common issue was that the
tests expected specific numbers that were not possible with the inputs (e.g. checking whether a
program correctly extracted and returned a list of even values from a list received as a parameter,
a test provided the list [
        <xref ref-type="bibr" rid="ref1">1, 2, 3</xref>
        ] as an input to the function and expected that the function
would return the list [2, 4]).
      </p>
      <p>Overall, most generated exercises satisfied most of the criteria. We noted that in multiple
cases, only minor tweaks would have been necessary to transform failing tests into passing ones.
In the cases where tests were missing, we could simply add the generated exercise to the initial
priming and the tests would likely be generated on a “second” run (we tested this behavior
directly when exploring the output). The results of this preliminary evaluation provide some
support for our hypothesis that these automatically generated exercises could serve as useful
starting materials for learners within a learnersourcing activity. Learners could quickly evaluate
the potential of a given exercise, and generate new ones if necessary. With reasonably little
efort, and certainly with less efort than producing an exercise from scratch, such exercises
could be edited or modified and then contributed to a shared learning resource.
1Five of the exercises contained --Tests-- but not --Sample solution-- (needed for content extraction)
2The n out of N for test coverage is counted as the number of full coverage (100%) cases out of the number
of all test suites that did not fail (i.e. when coverage can be computed)</p>
      <p>Below, we show a verbatim example of a well formed programming exercise generated by
OpenAI Codex that received a positive score on our evaluation criteria. It is generated using
the “speeding” priming example exercise (in Appendix 6.1), theme “music”, and concept set of
“class”, “list” and “conditional”.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusions</title>
      <p>These preliminary results demonstrate that robosourcing is indeed a feasible approach for the
scalable generation of practice questions as part of a learnersourcing activity. The computational
power of large language models (LLMs) can be utilised to generate artefacts that are of suficient
quality that they can be reviewed quickly, thus shifting the focus of learners from content
creation towards content evaluation. Robosourcing may help to address the issues relating to low
learner motivation and low quality content which are known to negatively afect learnersourcing
activities in practice.</p>
      <p>We observed that approximately one third of the generated programming exercises would be
directly usable for teaching, and certainly suitable as a starting point for learners to evaluate and
modify. The robosourced exercises were predominantly novel as they could not be found via
Google search, and the themes and domain-specific concepts can be easily adjusted to influence
the output. At least from this initial exploration, LLMs such as OpenAI Codex appear to be
useful tools for robosourcing a diverse and large pool of exercises. The possibility for learners
themselves to influence and customize the content through appropriate choice of keywords
may also increase motivation. Exploring student perceptions of the use of such models as part
of a robosourcing activity would be a fascinating avenue for future work.</p>
      <p>Although these results are promising, there is still need for caution. Prior work on LLMs has
found that they can contain biases, for example, towards minorities [46, 47]. Indeed, we did
observe that the exercises generated during our evaluation did seem to more commonly involve
men in problem descriptions. However, we did not observe any ofensive content. A similar
concern is that LLMs might leak personally identifiable information present in the training
data [48], although we did not observe any such data in our evaluation. In addition, recent work
in the programming education literature has found that LLMs can be used to solve introductory
programming exercises [42]. Thus, familiarizing students with these technologies could increase
their use for plagiarism – and it is potentially even more likely that exercises created by LLMs
can be solved by LLMs compared to exercises created by teachers.</p>
      <p>Overall, while our results suggest robosourcing is feasible already, the performance of the
underlying generative models is almost certain to improve over time, and will thus likely also
lead to improved performance when these models are used for robosourcing. For example,
newer LLMs such as Gopher [49] by DeepMind outperform GPT-3 (which Codex is based on).
Similarly, we used Codex without any fine-tuning: future work should explore fine-tuning LLMs
specifically for robosourcing, which is likely to lead to further improvements in performance.
Lastly, the LLMs used in robosourcing could themselves be improved by feedback from
humanin-the-loop evaluations, increasing their performance for robosourcing tasks.
[2] R. J. Crutcher, A. F. Healy, Cognitive operations and the generation efect., Journal of</p>
      <p>Experimental Psychology: Learning, Memory, and Cognition 15 (1989) 669.
[3] P. A. DeWinstanley, E. L. Bjork, Processing strategies and the generation efect:
Implications for making a better reader, Memory &amp; cognition 32 (2004) 945–955.
[4] K. VanLehn, R. M. Jones, M. T. Chi, A model of the self-explanation efect, The journal of
the learning sciences 2 (1992) 1–59.
[5] M. T. Chi, M. Bassok, M. W. Lewis, P. Reimann, R. Glaser, Self-explanations: How students
study and use examples in learning to solve problems, Cognitive science 13 (1989) 145–182.
[6] P. J. Guo, J. M. Markel, X. Zhang, Learnersourcing at scale to overcome expert blind
spots for introductory programming: A three-year deployment study on the python tutor
website, in: Proceedings of the Seventh ACM Conference on Learning @ Scale, L@S
’20, Association for Computing Machinery, New York, NY, USA, 2020, p. 301–304. URL:
https://doi.org/10.1145/3386527.3406733. doi:10.1145/3386527.3406733.
[7] N. T. Hefernan, K. S. Ostrow, K. Kelly, D. Selent, E. G. Van Inwegen, X. Xiong, J. J. Williams,
The future of adaptive learning: does the crowd hold the key?, International Journal of
Artificial Intelligence in Education 26 (2016) 615–644.
[8] E. L. Glassman, A. Lin, C. J. Cai, R. C. Miller, Learnersourcing personalized hints, in:
Proceedings of the 19th ACM Conference on Computer-Supported Cooperative Work;
Social Computing, CSCW ’16, Association for Computing Machinery, New York, NY, USA,
2016, p. 1626–1636. URL: https://doi.org/10.1145/2818048.2820011. doi:10.1145/2818048.
2820011.
[9] A. Singh, C. Brooks, Y. Lin, W. Li, What’s in it for the learners? evidence from a randomized
ifeld experiment on learnersourcing questions in a mooc, in: Proceedings of the Eighth
ACM Conference on Learning @ Scale, L@S ’21, Association for Computing Machinery,
New York, NY, USA, 2021, p. 221–233. URL: https://doi.org/10.1145/3430895.3460142. doi:10.
1145/3430895.3460142.
[10] N. Pirttinen, J. Leinonen, Can students review their peers? comparison of peer and
instructor reviews, in: Proceedings of the 27th ACM Conference on Innovation and
Technology in Computer Science Education Vol 1, 2022, p. 12–18. doi:10.1145/3502718.
3524762.
[11] P. Denny, F. McDonald, R. Empson, P. Kelly, A. Petersen, Empirical support for a causal
relationship between gamification and learning outcomes, in: Proceedings of the 2018 CHI
Conference on Human Factors in Computing Systems, CHI ’18, Association for Computing
Machinery, New York, NY, USA, 2018, p. 1–13. doi:10.1145/3173574.3173885.
[12] X. Yang, X. Guo, S. Yu, Student-generated content in college teaching:
content quality, behavioural pattern and learning performance, Journal of
Computer Assisted Learning 32 (2016) 1–15. URL: https://onlinelibrary.wiley.com/
doi/abs/10.1111/jcal.12111. doi:https://doi.org/10.1111/jcal.12111.
arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/jcal.12111.
[13] S. Abdi, H. Khosravi, S. Sadiq, G. Demartini, Evaluating the quality of learning resources:
A learnersourcing approach, IEEE Transactions on Learning Technologies 14 (2021) 81–92.
doi:10.1109/TLT.2021.3058644.
[14] H. Purchase, J. Hamer, P. Denny, A. Luxton-Reilly, The quality of a peerwise mcq repository,
in: Proceedings of the Twelfth Australasian Conference on Computing Education - Volume
[42] J. Finnie-Ansley, P. Denny, B. A. Becker, A. Luxton-Reilly, J. Prather, The robots are coming:
Exploring the implications of openai codex on introductory programming, in: Australasian
Computing Education Conference, 2022, pp. 10–19.
[43] A. Venables, G. Tan, R. Lister, A closer look at tracing, explaining and code writing skills in
the novice programmer, in: Proceedings of the Fifth International Workshop on Computing
Education Research Workshop, ICER ’09, Association for Computing Machinery, New
York, NY, USA, 2009, p. 117–128. URL: https://doi.org/10.1145/1584322.1584336. doi:10.
1145/1584322.1584336.
[44] A. Ettles, A. Luxton-Reilly, P. Denny, Common logic errors made by novice programmers,
in: Proceedings of the 20th Australasian Computing Education Conference, ACE ’18,
Association for Computing Machinery, New York, NY, USA, 2018, p. 83–89. URL: https:
//doi.org/10.1145/3160489.3160493. doi:10.1145/3160489.3160493.
[45] C. Izu, P. Dinh, Can novice programmers write c functions?, in: 2018 IEEE International
Conference on Teaching, Assessment, and Learning for Engineering (TALE), 2018, pp.
965–970. doi:10.1109/TALE.2018.8615375.
[46] I. Solaiman, C. Dennison, Process for adapting language models to society (palms) with
values-targeted datasets, Advances in Neural Information Processing Systems 34 (2021).
[47] A. Xu, E. Pathak, E. Wallace, S. Gururangan, M. Sap, D. Klein, Detoxifying language models
risks marginalizing minority voices, arXiv preprint arXiv:2104.06390 (2021).
[48] N. Carlini, F. Tramer, E. Wallace, M. Jagielski, A. Herbert-Voss, K. Lee, A. Roberts, T. Brown,
D. Song, U. Erlingsson, et al., Extracting training data from large language models, in:
30th USENIX Security Symposium (USENIX Security 21), 2021, pp. 2633–2650.
[49] J. W. Rae, S. Borgeaud, T. Cai, K. Millican, J. Hofmann, F. Song, J. Aslanides, S. Henderson,
R. Ring, S. Young, et al., Scaling language models: Methods, analysis &amp; insights from
training gopher, arXiv preprint arXiv:2112.11446 (2021).</p>
    </sec>
    <sec id="sec-6">
      <title>6. Appendix</title>
      <sec id="sec-6-1">
        <title>6.1. Priming exercises for programming problems</title>
        <p>The following two snippets were used as the priming exercises for robosourcing programming
exercises. The keywords encompass the themes and concepts, which are followed by the
problem statement and the sample solution. The place marked with ‘(themes and concepts
are entered here)’ is filled by the robosourcing system, while the used large language model
generates content starting at ‘(generation starts here)’.
"""Exercise 1
--Keywords-currency
class
function
parameters
dictionary
arithmetics
--Problem
statement-Write a class called Converter that is initialized with
a dictionary of exchange rates for currencies against the USD, e.g. {"USD": 1,
˓→ "EUR": 0.9, "GBP": 0.75}.</p>
        <p>The class should have a method called convert, which takes in three parameters:
from_currency, to_currency, and amount.</p>
        <p>The function should return the given amount converted from the first currency
˓→ (first parameter)
to the second currency (second parameter) using the exchange rate dictionary
˓→ given in the class constructor.
def convert(self, from_currency, to_currency, amount):
amount_in_usd = amount / self.exchange_rates[from_currency]
return amount_in_usd * self.exchange_rates[to_currency]
--Tests-class TestConverter(unittest.TestCase):
def test_converter(self):
converter = Converter({"USD": 1, "EUR": 0.8})
self.assertEquals(converter.convert("USD", "EUR", 100), 80)
def test_converter2(self):
converter = Converter({"USD": 1, "EUR": 0.9, "GBP": 0.75, "SEK": 9.71})
self.assertEquals(converter.convert("USD", "USD", 100), 100)
self.assertEquals(converter.convert("USD", "EUR", 100), 90)
self.assertEquals(converter.convert("GBP", "EUR", 10), 12)
self.assertEquals(converter.convert("EUR", "GBP", 10), 8.333333333333332)
"""Exercise 2
--Keywords-(themes and concepts are entered here)
--Problem
statement-(generation starts here)</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>H.</given-names>
            <surname>Khosravi</surname>
          </string-name>
          , G. Demartini,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sadiq</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gasevic</surname>
          </string-name>
          ,
          <article-title>Charting the design and analytics agenda of learnersourcing systems</article-title>
          ,
          <source>in: LAK21: 11th International Learning Analytics and Knowledge Conference</source>
          , LAK21, Association for Computing Machinery, New York, NY, USA,
          <year>2021</year>
          , p.
          <fpage>32</fpage>
          -
          <lpage>42</lpage>
          . URL: https://doi.org/10.1145/3448139.3448143. doi:
          <volume>10</volume>
          .1145/3448139.3448143. 103, ACE '10,
          <string-name>
            <surname>Australian</surname>
            <given-names>Computer Society</given-names>
          </string-name>
          , Inc.,
          <string-name>
            <surname>AUS</surname>
          </string-name>
          ,
          <year>2010</year>
          , p.
          <fpage>137</fpage>
          -
          <lpage>146</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>S. P.</given-names>
            <surname>Bates</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. K.</given-names>
            <surname>Galloway</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Riise</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Homer</surname>
          </string-name>
          ,
          <article-title>Assessing the quality of a student-generated question repository</article-title>
          ,
          <source>Phys. Rev. ST Phys. Educ. Res</source>
          <volume>10</volume>
          (
          <year>2014</year>
          )
          <fpage>020105</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [16]
          <string-name>
            <surname>T. B. Brown</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Mann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Ryder</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Subbiah</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Kaplan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Dhariwal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Neelakantan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Shyam</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <string-name>
            <surname>Sastry</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Askell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Agarwal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Herbert-Voss</surname>
            , G. Krueger,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Henighan</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Child</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Ramesh</surname>
            ,
            <given-names>D. M.</given-names>
          </string-name>
          <string-name>
            <surname>Ziegler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Winter</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Hesse</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Chen</surname>
            , E. Sigler,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Litwin</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Gray</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Chess</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Clark</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Berner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>McCandlish</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Radford</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Sutskever</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Amodei</surname>
          </string-name>
          ,
          <article-title>Language models are few-shot learners (</article-title>
          <year>2020</year>
          ). arXiv:
          <year>2005</year>
          .14165.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tworek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Jun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Yuan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. P. d. O.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kaplan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Edwards</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Burda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Joseph</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Brockman</surname>
          </string-name>
          , et al.,
          <source>Evaluating large language models trained on code, arXiv preprint arXiv:2107.03374</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Kushman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schrittwieser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Leblond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eccles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Keeling</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gimeno</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Lago</surname>
          </string-name>
          , et al.,
          <article-title>Competition-level code generation with alphacode</article-title>
          ,
          <source>arXiv preprint arXiv:2203.07814</source>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ramesh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Dhariwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nichol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <article-title>Hierarchical text-conditional image generation with clip latents</article-title>
          ,
          <source>arXiv preprint arXiv:2204.06125</source>
          (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [20]
          <string-name>
            <surname>A. K. Lampinen</surname>
            , I. Dasgupta,
            <given-names>S. C. Y.</given-names>
          </string-name>
          <string-name>
            <surname>Chan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Matthewson</surname>
            ,
            <given-names>M. H.</given-names>
          </string-name>
          <string-name>
            <surname>Tessler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Creswell</surname>
            ,
            <given-names>J. L.</given-names>
          </string-name>
          <string-name>
            <surname>McClelland</surname>
            ,
            <given-names>J. X.</given-names>
          </string-name>
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Hill</surname>
          </string-name>
          ,
          <article-title>Can language models learn from explanations in context</article-title>
          ?,
          <year>2022</year>
          . URL: https://arxiv.org/abs/2204.02329. doi:
          <volume>10</volume>
          .48550/ARXIV.2204.02329.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Sarsa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Denny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hellas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Leinonen</surname>
          </string-name>
          ,
          <article-title>Automatic generation of programming exercises and code explanations using large language models</article-title>
          ,
          <source>in: Proceedings of the 2022 ACM Conference on International Computing Education Research V.1 (ICER</source>
          <year>2022</year>
          ),
          <year>2022</year>
          , p.
          <fpage>27</fpage>
          -
          <lpage>43</lpage>
          . doi:
          <volume>10</volume>
          .1145/3501385.3543957.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>J.</given-names>
            <surname>Dunlosky</surname>
          </string-name>
          ,
          <article-title>Strengthening the student toolbox: Study strategies to boost learning</article-title>
          ,
          <source>American Educator</source>
          <volume>37</volume>
          (
          <year>2013</year>
          )
          <fpage>12</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [23]
          <string-name>
            <surname>H. L. Roediger</surname>
            <given-names>III</given-names>
          </string-name>
          ,
          <string-name>
            <surname>J. D. Karpicke</surname>
          </string-name>
          ,
          <article-title>Test-enhanced learning: Taking memory tests improves long-term retention</article-title>
          ,
          <source>Psychological science 17</source>
          (
          <year>2006</year>
          )
          <fpage>249</fpage>
          -
          <lpage>255</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>H. L.</given-names>
            <surname>Roediger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Butler</surname>
          </string-name>
          ,
          <article-title>Retrieval practice (testing) efect</article-title>
          , In H. L.
          <string-name>
            <surname>Pashler</surname>
          </string-name>
          (Ed.),
          <source>Encyclopedia of the Mind</source>
          , Sage Publishing Co.
          <article-title>(</article-title>
          <year>2013</year>
          )
          <fpage>660</fpage>
          -
          <lpage>661</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>R. L.</given-names>
            <surname>Bangert-Drowns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Kulik</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.-L. C.</surname>
          </string-name>
          <article-title>Kulik, Efects of frequent classroom testing</article-title>
          ,
          <source>The Journal of Educational Research</source>
          <volume>85</volume>
          (
          <year>1991</year>
          )
          <fpage>89</fpage>
          -
          <lpage>99</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>K. A.</given-names>
            <surname>Ericsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Hofman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kozbelt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Williams</surname>
          </string-name>
          ,
          <source>The Cambridge handbook of expertise and expert performance</source>
          , Cambridge University Press,
          <year>2018</year>
          . doi:
          <volume>10</volume>
          .1017/ 9781316480748.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>J.</given-names>
            <surname>Hattie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Timperley</surname>
          </string-name>
          ,
          <article-title>The power of feedback</article-title>
          ,
          <source>Review of educational research 77</source>
          (
          <year>2007</year>
          )
          <fpage>81</fpage>
          -
          <lpage>112</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>R.</given-names>
            <surname>Vollmeyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rheinberg</surname>
          </string-name>
          ,
          <article-title>A surprising efect of feedback on learning</article-title>
          ,
          <source>Learning and instruction 15</source>
          (
          <year>2005</year>
          )
          <fpage>589</fpage>
          -
          <lpage>602</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>V. J.</given-names>
            <surname>Shute</surname>
          </string-name>
          , Focus on formative feedback,
          <source>Review of educational research 78</source>
          (
          <year>2008</year>
          )
          <fpage>153</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>J.</given-names>
            <surname>Leinonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Denny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Whalley</surname>
          </string-name>
          ,
          <article-title>Exploring the efects of contextualized problem descriptions on problem solving</article-title>
          ,
          <source>in: Australasian Computing Education Conference</source>
          , ACE '21,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2021</year>
          , p.
          <fpage>30</fpage>
          -
          <lpage>39</lpage>
          . URL: https://doi.org/10.1145/3441636.3442302. doi:
          <volume>10</volume>
          .1145/3441636.3442302.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bouvier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Lovellette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Matta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Alshaigy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Craig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jackova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>McCartney</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sanders</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zarb</surname>
          </string-name>
          ,
          <article-title>Novice programmers and the problem description efect</article-title>
          ,
          <source>in: Proceedings of the 2016</source>
          ITiCSE Working Group Reports, ITiCSE '16,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2016</year>
          , p.
          <fpage>103</fpage>
          -
          <lpage>118</lpage>
          . URL: https://doi.org/10.1145/3024906.3024912. doi:
          <volume>10</volume>
          .1145/3024906.3024912.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>L.</given-names>
            <surname>Zavala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mendoza</surname>
          </string-name>
          ,
          <article-title>On the use of semantic-based aig to automatically generate programming exercises</article-title>
          ,
          <source>in: Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE '18</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2018</year>
          , p.
          <fpage>14</fpage>
          -
          <lpage>19</lpage>
          . URL: https://doi.org/10.1145/3159450.3159608. doi:
          <volume>10</volume>
          .1145/ 3159450.3159608.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>T.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Wei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Sui</surname>
          </string-name>
          ,
          <article-title>Large-scale simple question generation by template-based seq2seq learning</article-title>
          , in: X.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Jiang</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Feng</surname>
          </string-name>
          , Y. Hong (Eds.),
          <source>Natural Language Processing and Chinese Computing</source>
          , Springer International Publishing, Cham,
          <year>2018</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>I.-H.</given-names>
            <surname>Hsiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sosnovsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Brusilovsky</surname>
          </string-name>
          ,
          <article-title>Adaptive navigation support for parameterized questions in object-oriented programming</article-title>
          , in: U.
          <string-name>
            <surname>Cress</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Dimitrova</surname>
          </string-name>
          , M. Specht (Eds.),
          <source>Learning in the Synergy of Multiple Disciplines</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2009</year>
          , pp.
          <fpage>88</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>P.</given-names>
            <surname>Denny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Manoharan</surname>
          </string-name>
          , U. Speidel,
          <string-name>
            <given-names>G.</given-names>
            <surname>Russello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <article-title>On the fairness of multiplevariant multiple-choice examinations</article-title>
          ,
          <source>in: Proceedings of the 50th ACM Technical Symposium on Computer Science Education, SIGCSE '19</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>462</fpage>
          -
          <lpage>468</lpage>
          . URL: https://doi.org/10.1145/3287324.3287357. doi:
          <volume>10</volume>
          .1145/3287324.3287357.
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>A.</given-names>
            <surname>Thomas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Stopera</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Frank-Bolton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Simha</surname>
          </string-name>
          ,
          <article-title>Stochastic tree-based generation of program-tracing practice questions</article-title>
          ,
          <source>in: Proceedings of the 50th ACM Technical Symposium on Computer Science Education, SIGCSE '19</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>91</fpage>
          -
          <lpage>97</lpage>
          . URL: https://doi.org/10.1145/3287324.3287492. doi:
          <volume>10</volume>
          .1145/ 3287324.3287492.
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>M.</given-names>
            <surname>Fowler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zilles</surname>
          </string-name>
          ,
          <article-title>Superficial code-guise: Investigating the impact of surface feature changes on students' programming question scores</article-title>
          ,
          <source>in: Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, SIGCSE '21</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2021</year>
          , p.
          <fpage>3</fpage>
          -
          <lpage>9</lpage>
          . URL: https://doi.org/10.1145/3408877.3432413. doi:
          <volume>10</volume>
          .1145/3408877.3432413.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>L.</given-names>
            <surname>Verschafel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schukajlow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Star</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. Van Dooren</surname>
          </string-name>
          ,
          <article-title>Word problems in mathematics education: a survey</article-title>
          ,
          <source>ZDM</source>
          <volume>52</volume>
          (
          <year>2020</year>
          )
          <fpage>1</fpage>
          -
          <lpage>16</lpage>
          . doi:
          <volume>10</volume>
          .1007/s11858-020-01130-4.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>O.</given-names>
            <surname>Polozov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. O</given-names>
            <surname>'Rourke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. M.</given-names>
            <surname>Smith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zettlemoyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gulwani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Popović</surname>
          </string-name>
          ,
          <article-title>Personalized mathematical word problem generation</article-title>
          ,
          <source>in: IJCAI</source>
          <year>2015</year>
          ,
          <year>2015</year>
          . URL: https://www.microsoft. com/en-us/research/publication/personalized-mathematical
          <article-title>-word-problem-generation/.</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [40]
          <string-name>
            <given-names>R.</given-names>
            <surname>Koncel-Kedziorski</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Konstas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zettlemoyer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hajishirzi</surname>
          </string-name>
          ,
          <article-title>A theme-rewriting approach for generating algebra word problems</article-title>
          ,
          <source>in: Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing</source>
          , Association for Computational Linguistics, Austin, Texas,
          <year>2016</year>
          , pp.
          <fpage>1617</fpage>
          -
          <lpage>1628</lpage>
          . URL: https://aclanthology.org/D16-1168. doi:
          <volume>10</volume>
          .18653/v1/
          <fpage>D16</fpage>
          -1168.
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [41]
          <string-name>
            <given-names>K.</given-names>
            <surname>Cobbe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Kosaraju</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bavarian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Hilton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Nakano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hesse</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Schulman</surname>
          </string-name>
          , Training verifiers to solve math word problems, arXiv preprint arXiv:
          <volume>2110</volume>
          .14168 (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>