<!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>Assistants to Formulate Subgoals for Program ming Tasks: Exploring the Potential for AI Teaching Assistants</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Changyoon Lee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Junho Myung</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jieun Han</string-name>
          <email>TU_han@kaist.ac.kr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jiho Jin</string-name>
          <email>jinjh0123@kaist.ac.kr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alice Oh</string-name>
          <email>alice.oh@kaist.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Generative AI, CS Education, Human-AI Interaction, Subgoal Learning</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Korea Advanced Institute of Science Technology (KAIST)</institution>
          ,
          <addr-line>291 Daehak-ro, Yuseong District, Daejeon</addr-line>
          ,
          <country country="KR">South Korea</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technologies Workshop Joint Proceedings</institution>
        </aff>
      </contrib-group>
      <fpage>2</fpage>
      <lpage>10</lpage>
      <abstract>
        <p>Active formulation of subgoals in problem-solving is an efective learning strategy for programming learners, allowing the transfer of knowledge across similar problems. Although proper guidance and feedback for learners are crucial to correct mistakes and misconceptions during subgoal formulation, providing them at scale is challenging and costly. With recent advances in generative AI, we investigate the practicality of using generative AI as TAs in programming education by examining their efectiveness in a subgoal learning environment. We explore whether programming learners can distinguish AI TAs from humans. In a long-term study, we explore whether the subgoal learning workflow with AI TAs yields learning gains and assess their capability to assist in coding the subgoals into executable programs. Our study shows that learners can distinguish AI TAs from human TAs based on response length and accuracy. Learners show learning gains over learning sessions with AI TAs in formulating subgoals and can produce code solutions faster with comparable satisfaction scores with AI TAs as human TAs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Students taking introductory programming courses are
expected to learn various programming concepts such as
debugging, designing algorithms, techniques in programming,
and computational thinking [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. Having to learn these
new concepts in a single course presents dificulties to the
learners [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and if they are not appropriately alleviated,
learners may lose motivation and even drop out of the course
[
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ]. Teaching assistants (TAs) play a crucial role in
alleviating these dificulties by correcting learners’
misconceptions and fixing errors in their code, enhancing their
overall learning gain [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6, 7, 8</xref>
        ]. With a suficient number of
TAs, learners can receive individual care by getting help
in solving programming tasks and clarifying programming
concepts [
        <xref ref-type="bibr" rid="ref10 ref9">9, 10</xref>
        ], but TAs are costly.
      </p>
      <p>
        With recent advances in generative AI and Large
Language Models (LLMs), the educational field has discovered
some exciting opportunities for assisting learners. In the
context of programming education, recent large generative
models such as ChatGPT1, LLaMA [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and Bard2 show
a remarkable ability to understand, generate, and explain
code, making them strong candidates for TAs in
programming courses [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. They can fix and explain errors present
in the code and discuss possible approaches to solve
various programming tasks. AI coding assistants have been
shown to relieve the cognitive load and struggles of
learners, allowing them to perform better and faster in solving
programming tasks [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        We introduce the concept of subgoal learning to novice
programming learners with the aid of AI TAs. Subgoal
learning is well known to be an efective learning strategy in
Educational Datamining ’24 Human-Centric eXplainable AI in Education
and Leveraging Large Language Models for Next-Generation Educational
∗Corresponding author.
†These authors contributed equally.
CEUR
Workshop
ISSN1613-0073
problems into smaller counterparts [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], which remains
important for a programmer even with the aid of generative
AI to code. Through a series of experiments, we observe
the efect of our learning workflow and investigate how
learners perceive and interact with the AI TAs.
      </p>
      <p>We first determine how learners embrace AI TAs when
they divide the task into subgoals, through which learners
are expected to develop computational thinking skills. We
observe learners’ expectations of AI and human TAs and
how learners diferentiate them. In a month-long study
where learners formulate subgoals for programming tasks
with the help of AI TAs, we investigate the learning efect
of AI TAs during the subgoal formulation exercise. Finally,
we compare the AI and human TAs in a between-subject
study with 20 novice programming learners. Learners solve
4 programming tasks with the aid of either an AI TA or a
human TA. We assess AI’s ability to help plan an algorithm
and write the code for it within our learning workflow. We
examine learners’ perceptions of conversation satisfaction
with the TA.</p>
      <p>Although learners’ expectations of the TAs’ response time
vary, they correctly anticipate that the AI may be
occasionally inaccurate and produce lengthy responses. This allows
nearly all learners to diferentiate between AI and human
TAs accurately. AI TAs show the capability to help learners
produce more accurate and detailed subgoals over time and
to review learner-generated subgoals in comparison to the
correct subgoals. Learners assisted by the AI TA
demonstrated faster problem-solving and attempted more tasks,
achieving comparable scores for the assigned tasks. In the
survey, learners reported that AI TA’s replies were prompt,
suficiently detailed, and helpful throughout the workflow.
Moreover, learners were satisfied with the conversation with
the AI and perceived that it was generally uncomplicated
and helpful for learning programming. However, the AI’s
tendency to ofer answers and occasionally break down calls
for careful consideration before its deployment.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Works</title>
      <sec id="sec-2-1">
        <title>2.1. Subgoal Learning</title>
        <p>
          Subgoal learning is a method designed to assist students in
breaking down complex problem-solving procedures into
smaller structural components within the STEM domain
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. In the context of programming education, subgoal
learning is known to help reduce the extraneous
cognitive load of the learners, thereby enhancing their
problemsolving performance [
          <xref ref-type="bibr" rid="ref15 ref16">15, 16</xref>
          ].
        </p>
        <p>
          The efectiveness of subgoal learning is further
ampliifed when implemented as an active learning strategy. The
passive learning approach was found to be less efective
compared to self-directed learning methods, which involve
self-reflection and explanation of the hierarchical structure
of the solutions [
          <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
          ]. Yet, proper guidance or feedback
is necessary to correct learners’ misconceptions of the
concept when creating subgoals by themselves [
          <xref ref-type="bibr" rid="ref18 ref19">18, 19</xref>
          ]. With
the advances of AI models, guiding learners in the process
of self-labeling subgoal tasks with AI has become possible.
However, no previous work has explored such applications.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Generative AI for Programming</title>
      </sec>
      <sec id="sec-2-3">
        <title>Education</title>
        <p>
          Generative AI exhibits remarkable performance in various
programming tasks, such as code summarization [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], code
generation [
          <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
          ], and even code explanation [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. This
recent advancement in generative AI opens up numerous
opportunities to support programming education. Novice
learners can gain a deeper understanding of basic
programming concepts with line-by-line code explanations
generated by LLMs [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. They can also receive feedback and
detect bugs before they submit their assignments for
grading [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. The nearly instantaneous provision of feedback
and explanations makes generative AIs more accessible and
convenient for learners than human instructors. Yet, to the
best of our knowledge, examining the performance of LLM
compared to human TA has been underexplored, and
existing literature exploring how to optimally leverage LLMs as
TAs is only emerging, especially in programming education.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Methods</title>
      <p>
        While generative AI can nearly produce perfect code for a
program given its descriptions [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ], learning
computational thinking, designing the solution, and understanding
and debugging code remain important for a programmer [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
Thus, we design a learning workflow that focuses on
helping learners practice computational thinking and planning
out the solution to a programming task with the help of an
AI TA.
      </p>
      <p>In our learning workflow, novice learners with little to no
programming experience break down a programming task
into smaller and more manageable subgoals with the aid of
a TA via a chatting interface. Learners are provided with the
task description that includes the task requirements, sample
inputs, and sample outputs. Learners converse freely with
the TA to develop subgoals for the task. After they
formulate the subgoals, they review their subgoals by comparing
them with the model answers for the subgoals. Within this
learning workflow, we conduct three sets of experiments to
answer three research questions:
1–9
1. How do learners embrace the AI TA and what are
their expectations of AI and human TAs?
2. Can the AI TA help learners achieve learning gains
in subgoal learning tasks?
3. How does the AI TA compare to the human TA in
helping to formulate subgoals and solve
programming tasks?</p>
      <sec id="sec-3-1">
        <title>3.1. Participants</title>
        <p>We recruited participants in their 20s and 30s who reside
in Korea with little to no experience in programming by
posting advertisements in online university communities.
Participants self-reported their proficiency in programming
on a 5-point Likert scale. We selected participants with
reported proficiency levels of 3 and below for our experiments
for research questions 2 and 3, which measure learners’
abilities in solving programming tasks. All participants used
Korean for communication.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Generative AI-powered TA</title>
        <p>
          We used the latest ChatGPT at the time of the experiment
(gpt-3.5-turbo-1106 for experiments 1 and 2, and
gpt-3.5turbo-0613 for experiment 3) as the model behind the AI
TA since ChatGPT can handle conversational text data and
performs better on programming when prompted in
nonEnglish language compared to other models such as Codex
[
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. The default temperature of 1.0 was used. In all the
experiments, the task description was provided to the model,
and the model was prompted not to directly provide answers,
i.e. the correct subgoals or code, as it can interfere with
learning by removing the opportunity for the learners to
practice producing the answers independently. The full
prompt texts can be found in Appendix ??
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Experiment 1: Learners’ Expectations of</title>
      </sec>
      <sec id="sec-3-4">
        <title>AI and Human TAs</title>
        <p>It is important to understand if learners can distinguish AI
TAs and how they respond diferently to TAs when using
AI TAs for education. We explore if learners can distinguish
between AI and human TA in the subgoal formulation
activity based on their expectations of each TA’s behavior, and if
they can, what characteristics separate the two. We recruit
12 learners who formulate subgoals for six programming
problems with the help of either a human or AI TA, unaware
of which TA is aiding them. Half of the learners are assigned
to AI TA, while the other half are assigned to human TA.
The recruited human TA has four years of experience as
TAs in computer science courses. The TAs are instructed
to help the learners create subgoals by providing hints,
reiterating the subgoals, and giving feedback on the subgoals.
To ensure the distinction between the AI and human TA
isn’t too obvious, we instruct the human TA to respond with
only one message at a time, and we add a 500-millisecond
delay per word for the AI TA’s response. The one-message
restriction is designed to impose as little restriction as
possible on the human TA while preventing the students from
distinguishing the two types of TAs simply by the number
of messages. After the subgoal formulation activity,
learners participate in a survey that asks which TA they think
helped them, which of the speed, length, accuracy, style of
the response, or another factor leads them to their choice,
and the explanation for their choice.</p>
        <sec id="sec-3-4-1">
          <title>Category (Score)</title>
          <p>Prestructural (1)
Unistructural (2)
Multistructural (3)</p>
        </sec>
        <sec id="sec-3-4-2">
          <title>Definition</title>
          <p>Subgoals are copies of the task description or represent incorrect interpretations of the task.
Subgoals represent the correct approach to the task, but include significant errors or major details are missing.
Subgoals can form correct solution to the task, but includes minor errors or unnecessary steps that disturbs
the program structure.</p>
          <p>Subgoals form nearly correct solution without error and the structure is solid, but small details are missing.</p>
          <p>Subgoals are perfect and detailed, and represents programming concepts such as loops and conditionals.</p>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>3.4. Experiment 2: Learning Gains from</title>
      </sec>
      <sec id="sec-3-6">
        <title>Subgoal Learning Workflow with AI TA</title>
        <p>We conduct a four-week experiment to assess the AI TA’s
eficacy in assisting learners to generate a more
comprehensive and accurate set of subgoals within our learning
workflow. We recruit 20 novice learners who are given
three programming tasks per session over 8 sessions. In
each session, learners formulate subgoals for the given task
with the aid of the AI TA. We design the experiment such
that the programming tasks extracted from a crowdsourcing
platform3 increase in dificulty from the first session to the
subsequent sessions to present challenges to the learners
over time.</p>
        <p>The AI TA is directed to ofer hints to the learner, compile
learner-generated subgoals in each response, and correct
inaccuracies until the subgoals are deemed suficient to solve
the task and meet the learner’s satisfaction. We create model
answers for the subgoals by instructing ChatGPT to
formulate the subgoals for the programming tasks. The authors
review and revise the generated subgoals to ensure
accuracy and consistent formatting. ChatGPT’s performance in
generating the subgoals is decent, and the authors mainly
only had to split long subgoals into smaller ones and add
subgoals that will benefit learning for 5 out of 24 problems.
These subgoals are provided to the AI TA in the second step,
where the AI TA reviews the learner-generated subgoals by
describing why subgoals in the answer are necessary and
comparing them to the learner-generated subgoals. The
second step shows the correct answers to the learners and
revise their own answers.</p>
        <p>
          Four authors grade all learner-generated subgoals on a
scale of 1 to 5 based on our adaptation of the SOLO
taxonomy for subgoal labels in CS1 which allows for a deeper
evaluation of the subgoals in terms of completeness and
understanding of the relevant concepts [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ]. The rubrics for
grading the subgoals are provided in Table 1. The scores for
the subgoals are compared as the learners progress through
the sessions.
        </p>
      </sec>
      <sec id="sec-3-7">
        <title>3.5. Experiment 3: Comparison between AI and Human TA for Solving</title>
      </sec>
      <sec id="sec-3-8">
        <title>Programming Tasks</title>
        <p>We conduct a between-subject experiment with novice
programming learners to compare the learning efects gained
with the AI TA and human TA. We recruit 20 learners of
which 10 participants have a self-reported proficiency of 1
and have not taken any computer science course (Group
1). The remaining 10 participants have a self-reported
proifciency of 2 and have taken only introductory courses in
computer science (Group 2).</p>
        <p>We randomly assign 5 participants in each proficiency
level to solve the programming tasks with the help of the</p>
        <p>AI TA and assign the remaining 5 participants to solve with
the help of a human TA. Four human TAs participate in the
experiment. Learners solve each programming task in three
steps: 1) Subgoal Formulation step, where learners break
down the task into smaller and more manageable goals, 2)
Subsolution Generation step, where learners tackle each
of the subgoals they have formulated and implement a
solution for them, and 3) Solution Generation step where
learners combine their subsolutions into a single code that
solves the programming task. The subgoal formulation step
drives learners to understand and organize the task and
devise a plan for the final solution. The subsolution
generation step helps learners focus on a subgoal at a time and
progressively write the program. The solution generation
step allows learners to review their subsolutions and debug
them.</p>
        <p>Out of all participants, 19 participants completed both
sessions. One participant who is assigned to the AI TA and
has a self-reported proficiency of 2 dropped out of the study
and only participated in the first session. We collect the time
learners take to complete each task, the number of tasks
they attempted, and the scores for the tasks. The scores are
calculated by counting the number of test cases the learner’s
code successfully passes.</p>
        <p>In an online survey, learners are asked to rate their
experience with the TA and the helpfulness of the learning
workflow and the system. All survey questions are rated
using a 7-point Likert scale (1: strongly disagree, 7: strongly
agree) followed by an open-ended question asking the
reason behind the choice.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Results</title>
      <sec id="sec-4-1">
        <title>4.1. Experiment 1</title>
        <p>Of the 12 learners, 11 correctly identified which TA helped
them in the subgoal formulation task. One learner mistook
the human TA for the AI TA and suspected a system where
the human TA and the AI TA take turns answering the
questions. All learners who correctly identified the human
TA picked the accuracy of the response as the deciding
factor of the TA’s identity. Learners expected the human
TA to always answer the learners’ questions accurately,
even when the question does not directly address the task.
This shows that learners expect human TAs to be able to
understand the learner’s status and respond in context. The
learner who mistook human TA as AI TA also thought so
because the learner thought the TA gave wrong feedback to
the learner’s subgoals. There was no significant diference
in the interaction and the conversation style for this learner,
possibly because the learner thought a human TA was taking
turns to reply.</p>
        <p>The main reason learners thought they were talking with
an AI TA was the tone of the TA’s responses. The AI TA’s
responses were generally longer and carefully formatted,
4.0
3.5
3.0
e
r
o
cS2.5
e
g
ra2.0
e
v
A
1.5
1.0
0.5
0.0
which learners expected as the characteristics of generative
AI. Additionally, the AI TA sometimes failed to catch the
intention of the learner’s question and responded out of
context. Learners expect AI TA to be imperfect and have
a formal tone in its response. Learners, on the other hand,
had a divided opinion on the response speed. One learner
assigned to the human TA and three learners assigned to the
AI TA identified the slow response time as a reason for their
choice. One other learner assigned to the AI TA identified
the AI TA based on its fast response time. This shows that
learners have varying expectations of the human and AI
TAs’ response speed.</p>
      </sec>
      <sec id="sec-4-2">
        <title>4.2. Experiment 2</title>
        <p>Among 20 learners, 18 participated in all eight sessions
in the experiment. We only report the scores for those
learners in the results. The authors underwent a grade
norming session for the subgoals learners generated in the
ifrst session to increase consistency in grading the subgoals.
The authors then independently graded all subgoals based
on our adaptation of the SOLO taxonomy. The mean value of
the scores authors gave for each set of subgoals was taken
as the final score for the task. Figure 1 shows the mean
scores of the subgoals each learner formulated for sessions
1 to 4 and sessions 5 to 8. The results show that all but three
learners had higher scores for the second half of the sessions
compared to the first half. The learners learned to formulate
more structured and detailed subgoals over time with the
AI TA, even when the dificulties of the programming tasks
increased across the session.</p>
        <p>In a post-experiment survey, learners also indicated an
average score of 5.7 on a 7-point Likert scale in response
to a question assessing the perceived helpfulness of the AI
TA in learning programming. Learners reported that the AI
TA’s hints and thorough explanations allowed them to get
used to the subgoal learning process and learn about new
approaches to solving the task.</p>
      </sec>
      <sec id="sec-4-3">
        <title>4.3. Experiment 3</title>
        <sec id="sec-4-3-1">
          <title>4.3.1. Performance Measures</title>
          <p>We first compare the task completion rate, which we define
as the percentage of tasks a learner attempted and produced
a code solution within 3 hours. The completion rates for
each task for Groups 1 and 2 are shown in Figure 2.</p>
          <p>Learners in both groups produced code solutions for most
of the programming tasks. Learners who solved the tasks
with the AI TA showed higher or equal completion rates for
all the tasks across the two groups, although there was no
statistical significance from an independent samples t-test
with an alpha level of 0.05. Learners who solved the tasks
with a human TA showed a sharp decrease in completion
rates for the later tasks in a session.</p>
          <p>We report the average time taken to finish each task in
Figure 3 for learners in Groups 1 and 2. Results show that
the learners completed the tasks faster with the AI TA than
with the human TA. The diference is more evident with
Group 1 learners who had no experience in programming
before. The average time taken to finish solving a task for
Group 1 learners was 31.5 minutes for those with AI TA
and 59.8 minutes for those with human TA. The time taken
for Group 2 learners to finish solving the tasks was 21.5
minutes for those with AI TA and 38.9 minutes for those
with human TA. The diference in the average time taken
between the two types of TAs in both Group 1 and Group
2 is statistically significant from a t-test, with P-values of
0.000096 and 0.0044, respectively.</p>
          <p>We test the correctness of the learners’ solution code for
each programming task by comparing its output for 10 test
cases with the correct answer. Figure 4 shows the average
score for each task in the percentage of test cases passed.</p>
          <p>Learners who solved the task with AI TA showed higher
or equal scores than those with human TA in the first
session of the user study for both proficiency groups, although
the diferences did not reach statistical significance. The
scores in the second session show mixed results. The
average score for all tasks for learners was 59.5 with the AI
TA and 50.25 with the human TA for Group 1. The
average score for all tasks for learners was 71 with the AI TA
and 53 with the human TA for Group 2. The diferences
did not reach statistical significance. Both the AI and the
human TAs helped the learners achieve similar scores for
the programming tasks over the two sessions of user study.</p>
        </sec>
        <sec id="sec-4-3-2">
          <title>4.3.2. Perception of the TAs</title>
          <p>The learners’ responses to the survey questions are
summarized in Figure 5 in the Appendix.
AI</p>
          <p>Human
P1</p>
          <p>P2</p>
          <p>P3</p>
          <p>P6</p>
          <p>P7
P4 P5
group1
P1</p>
          <p>P2</p>
          <p>P3</p>
          <p>P6</p>
          <p>P7</p>
          <p>P8
P4 P5
group2
)100
%
(
te 80
a
R
n 60
o
i
t
lep 40
m
oC 20</p>
          <p>0
100
) 80
n
i
(m60
e
iTm40
20
0
100
80
)
(%60
e
r
o
c 40
S
20
0
40
1–9</p>
          <p>Learners in both groups were generally satisfied with
the promptness of the TA’s replies regardless of the TA
type. There was no statistically significant diference in the
learners’ perception of TA’s promptness between the TA
types. However, one learner mentioned that the human
TA’s replies were too slow.</p>
          <p>Learners generally rated the usefulness of both TAs’
replies positively in all of the three steps of the user study.
However, some negative remarks in the subgoal formulation
stage mentioned that the AI TA did not provide detailed
explanations for the diference between the subgoals and
dismissed a subgoal that the learner felt was appropriate as
unnecessary.</p>
          <p>Learners perceived that the TAs efectively assisted them
group 1
group 2
Response time from TA was appropriate.</p>
          <p>TA's response was sufficiently specific.</p>
          <p>Conversation with TA regarding
subgoal formulation was useful.</p>
          <p>Conversation with TA regarding
subsolution generation was useful.</p>
          <p>Conversation with TA regarding
final solution generation was useful.</p>
          <p>I had difficulty communicating with TA. Human
AI
I was satisfied with overall communication with TA.</p>
          <p>TA was helpful in learning programming.</p>
          <p>I would use this platform again
when learning programming.</p>
          <p>Human
AI</p>
          <p>Human
AI
Human</p>
          <p>AI
Human</p>
          <p>AI
Human
AI
AI</p>
          <p>Human</p>
          <p>AI
Human
Human
AI
*
*
*
*</p>
          <p>Human
AI</p>
          <p>Human</p>
          <p>Human
Human
Human</p>
          <p>AI
Human</p>
          <p>AI
Human</p>
          <p>Human
Human</p>
          <p>AI
AI
AI
AI
AI
AI
in translating subgoals into subsolutions. Learners
mentioned that the AI TA explained the necessary functions
with examples thoroughly, provided detailed feedback, and
debugged the code even when the question was vague. The
human TA was also helpful for debugging.</p>
          <p>Interacting with TAs, whether AI or human, was
generally efortless for learners. However, some learners felt that
the conversation could be improved. Learners encountered
dificulty communicating with the human TA due to a lack
of familiarity with basic programming syntax. Some felt
intimidated, fearing they were posing what they perceived as
‘stupid’ questions. On the other hand, when talking to an AI
TA, the AI TA often produced unexpected responses
unrelated to the question, demonstrating a lack of understanding
of the learners’ inquiries.</p>
          <p>Group 1 learners with the AI TA reported that without
basic programming knowledge, the AI TA allowed the
learners to solve the tasks, but they were unsure whether they
had picked up knowledge in the process. Group 2 learners
felt that the AI TA was helpful, as the TA taught the learners
new ways to solve the problem and how to write concise
code. Some learners appreciated the freedom to learn
without time constraints when using AI. Others reported that
having a TA enhanced eficiency and made the learning
experience enjoyable.</p>
        </sec>
      </sec>
      <sec id="sec-4-4">
        <title>4.4. Chat Log Analysis</title>
        <p>There were slightly more learner utterances with the human
TA than with the AI TA. In experiment 3, learners had, on
average, 2.3 and 12.60 utterances with the human TA in
the subgoal formulation and subsolution generation steps,
respectively. Learners had, on average, 2.71 and 8.60
utterances with the AI TA in the same steps. Learners mostly
asked questions in the subsolution generation step where
they had to write working programs. In the subgoal
formulation step, learners mostly only clarified their subgoals
with the TAs.</p>
        <p>The ideal role of the TA in subgoal formulation involves
ofering feedback on the learner’s subgoals, including
reifning abstract subgoals into more concrete and executable
ones. We observed that the AI TA provides more feedback
for the subgoals with more detail to the learners. In contrast,
human TAs preferred allowing learners to formulate
subgoals independently, opting to provide feedback during the
subsolution generation step. The AI TA sometimes provided
the full set of subgoals voluntarily, while no such case was
observed for the human TAs.</p>
        <p>The AI TA also proactively ofers the answer code more
frequently than the human TA. In experiment 3, human TAs
provided answer codes on only 10 occasions, whereas the
AI TA provided answer codes on 40 occasions. Human TAs
provided the code voluntarily only when the learner was
stuck at a step for an extended duration. Also, they ofered
the code when the programming concept was dificult to
explain only in words, such as when explaining the formatted
printing statement.</p>
        <p>Learners asked for the code more often with the AI TA
(135 occasions) than with the human TA (46 occasions).
Human TAs often refused to provide the answer code directly
when the learner asked for help; they tried to explain the
syntax or algorithm in words first, allowing the learner to
develop the code independently. The AI TA, on the other
hand, provided the code nearly always on the learner’s
request. Therefore, learners with the AI TA might have been
more inclined to ask for the answer code to solve the tasks
faster.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Discussion</title>
      <sec id="sec-5-1">
        <title>5.1. Feasibility of Using Generative AI as a TA</title>
        <p>Our results show that generative AI is capable of assisting as
TAs in teaching introductory programming with subgoals.
Learners can discern when assisted by an AI TA, yet the
interaction with the AI TA is generally satisfactory for the
majority of learners. Learners demonstrate the ability to
formulate subgoals and write code for programming tasks
with comparable proficiency when assisted by the AI and
human TAs. Learners exhibit learning gains in subgoal
formulation when working with the AI TA, demonstrating
an improvement in the quality of their subgoals over a
4week period. Nearly all learners formulated higher-quality
subgoals in the second half of the experiment, even though
the tasks were more dificult.</p>
        <p>Learners’ perception of the AI TA is generally positive
and on par with that of the human TA in several aspects.
Learners feel that the AI TA’s responses are fast and detailed
enough to help them solve the programming tasks. Group 2
learners show a more positive perception of the AI TA
compared to Group 1 learners, even exceeding the perception
of the human TAs by the learners in the same group. This
shows that the AI TA is better suited for programming
learners who already possess some prior programming
knowledge, while absolute beginners find it more challenging to
communicate and learn with an AI TA.</p>
      </sec>
      <sec id="sec-5-2">
        <title>5.2. Strengths and Weaknesses of AI TA and</title>
      </sec>
      <sec id="sec-5-3">
        <title>Usage Guidelines</title>
        <p>An evident strength of the AI TA lies in its capacity to
furnish detailed responses to learners’ questions, ofering
a substantial amount of information when compared to
the human TA. The AI TA leaves thorough feedback on
individual subgoals, providing the reason why the subgoal is
essential within the context of the task. The AI TA’s replies
are more structured, reiterating the learner’s question and
providing the answer with an explanation for the answer.
Such structured replies can be beneficial for learning as the
learner is reminded of the full context of the problem and
how to solve it.</p>
        <p>However, the AI frequently fixates on a single mistake in
a conversation, persistently highlighting it even when the
learner addresses and corrects the error, leading to repeated
responses. This often made the learners frustrated and the
learners had to complete the task on their own.</p>
        <p>The main weakness of AI TA in the educational field lies
in providing excessive information to the learners. The AI
TA seems to be oriented to help the learner solve a task
rather than focus on the educational benefits of the learners.
While assistance is valuable, providing too many hints or
code can impede the learning process by depriving learners
of the opportunity to solve the problem on their own. This
aligns with the perception of Group 1 learners who find
the TA less helpful in learning programming; the AI TA’s
tendency to ofer the answer code too frequently may hinder
independent coding engagement for learners.</p>
        <p>This behavior could have influenced the learners’
interaction patterns with the TAs. With the human TA, learners
asked questions about the code indirectly by describing
issues in their code and stating their intentions. In contrast,
learners ask for code assistance from the AI TA directly by
asking for explanations about their code issues and how to
address them. As the AI TA provides more direct assistance
close to the answer, learners with the AI TA might have
completed the tasks faster, consequently resulting in higher
completion rates compared to the learners with the human
TA.</p>
        <p>One way to prevent this is to append an additional text at
the end of every learner’s prompt that explicitly requests
the AI not to provide the answer unless it is absolutely
1–9
necessary. However, completely prohibiting the AI TA from
providing some form of solution might lead to learner’s
frustration.</p>
        <p>For complete beginners in programming, human TAs can
be better suited to guide them in solving programming tasks.
The human TA is better able to understand the learner’s
struggles and is more attentive to the small details in
programming that beginners have to pay attention to. When
testing the code, human TAs are better at catching the edge
cases and removing rare errors in the code. In our
experiment, human TAs ensured that learners passed all the test
cases by guiding them attentively to produce the correct
solution and debugging the code. Although AI TAs could
help learners achieve high scores for most tasks, they were
insuficient to help learners achieve perfect scores.</p>
      </sec>
      <sec id="sec-5-4">
        <title>5.3. Ethical Considerations and Limitations</title>
        <p>All experiments involving human subjects were reviewed
and approved by the institute’s Institutional Review Board.
All participants in the experiment were paid a reasonable
amount meeting the minimum wage requirements as
compensation.</p>
        <p>Despite the authors’ best attempts to measure learning
gains with the AI TA by analyzing scores and survey
responses, the positive results might be a direct result of the
explicit help of the TAs and do not necessarily represent
longterm learning gains. Future work could explore whether
learners are able to solve new tasks without the help of the
TAs after the learning sessions.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>The advances in generative AI have opened the opportunity
for AIs to take the role of teaching assistants in
programming. We explore the potential for AI teaching assistants
in a subgoal-learning environment to teach computational
thinking and writing code to a programming novice and
how the learners interact and perceive the AI as teaching
assistants. Our findings indicate positive learning gains in
subgoal formulation when learners engage with AI TAs.
AI TAs can assist learners in achieving comparable
performance in scores and task completion time as human TAs by
ofering exceptionally detailed explanations. Learner’s
perception of the AI TA is positive, especially for learners with
some previous experience in programming. Nevertheless,
the AI TA’s tendency to readily provide answers may lead
to reduced educational benefits for learners. The AI also
occasionally becomes fixated on a specific point in the
conversation, entering an irrecoverable state and consequently
leaving the learner to struggle with the task in isolation.
While the AI TA demonstrates its value in programming
education, integrating it into a real-world educational setting
demands thoughtful consideration and control, extending
beyond its out-of-the-box application.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work was supported by Elice.
1–9</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Becker</surname>
          </string-name>
          , T. Fitzpatrick,
          <article-title>What do cs1 syllabi reveal about our expectations of introductory programming students?</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>1011</fpage>
          -
          <lpage>1017</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Wing</surname>
          </string-name>
          , Computational thinking,
          <source>Communications of the ACM</source>
          <volume>49</volume>
          (
          <year>2006</year>
          )
          <fpage>33</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Konecki</surname>
          </string-name>
          ,
          <article-title>Problems in programming education and means of their improvement</article-title>
          ,
          <source>DAAAM international scientific book</source>
          <year>2014</year>
          (
          <year>2014</year>
          )
          <fpage>459</fpage>
          -
          <lpage>470</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Rountree</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rountree</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Robins</surname>
          </string-name>
          ,
          <article-title>Predictors of success and failure in a cs1 course</article-title>
          ,
          <source>SIGCSE Bull</source>
          .
          <volume>34</volume>
          (
          <year>2002</year>
          )
          <fpage>121</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P.</given-names>
            <surname>Kinnunen</surname>
          </string-name>
          , L. Malmi,
          <article-title>Why students drop out cs1 course?</article-title>
          ,
          <source>ICER '06</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2006</year>
          , p.
          <fpage>97</fpage>
          -
          <lpage>108</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A. T.</given-names>
            <surname>Corbett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Anderson</surname>
          </string-name>
          ,
          <article-title>Locus of feedback control in computer-based tutoring: Impact on learning rate, achievement and attitudes</article-title>
          ,
          <source>in: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI '01</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2001</year>
          , p.
          <fpage>245</fpage>
          -
          <lpage>252</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>L.</given-names>
            <surname>Gusukuma</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Bart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kafura</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ernst</surname>
          </string-name>
          ,
          <article-title>Misconception-driven feedback: Results from an experimental study</article-title>
          ,
          <source>in: Proceedings of the 2018 ACM Conference on International Computing Education Research</source>
          , ICER '18,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2018</year>
          , p.
          <fpage>160</fpage>
          -
          <lpage>168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Marwan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Fisk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. W.</given-names>
            <surname>Price</surname>
          </string-name>
          , T. Barnes,
          <article-title>Adaptive immediate feedback can improve novice programming engagement and intention to persist in computer science</article-title>
          ,
          <source>in: Proceedings of the 2020 ACM Conference on International Computing Education Research</source>
          , ICER '20,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2020</year>
          , p.
          <fpage>194</fpage>
          -
          <lpage>203</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Mirza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. T.</given-names>
            <surname>Conrad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lloyd</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Matni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gatin</surname>
          </string-name>
          ,
          <article-title>Undergraduate teaching assistants in computer science: A systematic literature review</article-title>
          ,
          <source>in: Proceedings of the 2019 ACM Conference on International Computing Education Research</source>
          , ICER '19,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>31</fpage>
          -
          <lpage>40</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.</given-names>
            <surname>Riese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lorås</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ukrop</surname>
          </string-name>
          , T. Efenberger,
          <article-title>Challenges faced by teaching assistants in computer science education across europe</article-title>
          ,
          <source>in: Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1</source>
          ,
          <issue>ITiCSE</issue>
          '21,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2021</year>
          , p.
          <fpage>547</fpage>
          -
          <lpage>553</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Touvron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lavril</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Izacard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Martinet</surname>
          </string-name>
          , M.
          <article-title>-</article-title>
          <string-name>
            <surname>A. Lachaux</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Lacroix</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Rozière</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Goyal</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Hambro</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Azhar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Rodriguez</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Joulin</surname>
          </string-name>
          , E. Grave, G. Lample,
          <article-title>Llama: Open and eficient foundation language models</article-title>
          ,
          <year>2023</year>
          . arXiv:
          <volume>2302</volume>
          .
          <fpage>13971</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J.</given-names>
            <surname>Savelka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Agarwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>An</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bogart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sakr</surname>
          </string-name>
          ,
          <article-title>Thrilled by your progress! large language models (gpt4) no longer struggle to pass assessments in higher education programming courses</article-title>
          ,
          <source>arXiv preprint arXiv:2306.10073</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kazemitabaar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chow</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. K. T. Ma</surname>
            ,
            <given-names>B. J.</given-names>
          </string-name>
          <string-name>
            <surname>Ericson</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Weintrop</surname>
          </string-name>
          , T. Grossman,
          <article-title>Studying the efect of ai code generators on supporting novice learners in introductory programming</article-title>
          ,
          <source>in: Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, CHI '23</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2023</year>
          . doi:
          <volume>10</volume>
          .1145/3544548. 3580919.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R.</given-names>
            <surname>Catrambone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Holyoak</surname>
          </string-name>
          ,
          <article-title>Learning subgoals and methods for solving probability problems</article-title>
          ,
          <source>Memory &amp; cognition 18</source>
          (
          <year>1990</year>
          )
          <fpage>593</fpage>
          -
          <lpage>603</lpage>
          . doi:
          <volume>10</volume>
          .3758/ BF03197102.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>L. E.</given-names>
            <surname>Margulieux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Guzdial</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Catrambone</surname>
          </string-name>
          ,
          <article-title>Subgoallabeled instructional material improves performance and transfer in learning to develop mobile applications</article-title>
          , ICER '12,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2012</year>
          , p.
          <fpage>71</fpage>
          -
          <lpage>78</lpage>
          . doi:
          <volume>10</volume>
          .1145/2361276. 2361291.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>R. K.</given-names>
            <surname>Atkinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. J.</given-names>
            <surname>Derry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Renkl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wortham</surname>
          </string-name>
          ,
          <article-title>Learning from examples: Instructional principles from the worked examples research</article-title>
          ,
          <source>Review of educational research 70</source>
          (
          <year>2000</year>
          )
          <fpage>181</fpage>
          -
          <lpage>214</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>B. B.</given-names>
            <surname>Morrison</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. E.</given-names>
            <surname>Margulieux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Guzdial</surname>
          </string-name>
          , Subgoals, context, and
          <article-title>worked examples in learning computing problem solving</article-title>
          ,
          <source>in: Proceedings of the Eleventh Annual International Conference on International Computing Education Research</source>
          , ICER '15,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2015</year>
          , p.
          <fpage>21</fpage>
          -
          <lpage>29</lpage>
          . doi:
          <volume>10</volume>
          .1145/2787622.2787733.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>L. E.</given-names>
            <surname>Margulieux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Catrambone</surname>
          </string-name>
          ,
          <article-title>Finding the best types of guidance for constructing self-explanations of subgoals in programming</article-title>
          ,
          <source>Journal of the Learning Sciences</source>
          <volume>28</volume>
          (
          <year>2019</year>
          )
          <fpage>108</fpage>
          -
          <lpage>151</lpage>
          . doi:
          <volume>10</volume>
          .1080/10508406.
          <year>2018</year>
          .
          <volume>1491852</volume>
          . arXiv:https://doi.org/10.1080/10508406.
          <year>2018</year>
          .
          <volume>1491852</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>H.</given-names>
            <surname>Jin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <article-title>Solvedeep: A system for supporting subgoal learning in online math problem solving, in: Extended abstracts of the 2019 CHI conference on human factors in computing systems</article-title>
          ,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          ,
          <article-title>Few-shot training llms for project-specific code-summarization</article-title>
          ,
          <source>in: Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Chakraborty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. T.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ray</surname>
          </string-name>
          ,
          <article-title>Natgen: generative pre-training by “naturalizing” source code</article-title>
          ,
          <source>in: Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>18</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>S.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Guo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Svyatkovskiy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Blanco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Clement</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Drain</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jiang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Tang</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Codexglue</surname>
            <given-names>:</given-names>
          </string-name>
          <article-title>A machine learning benchmark dataset for code understanding and generation</article-title>
          ,
          <source>arXiv preprint arXiv:2102.04664</source>
          (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>E.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.-S.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.-H.</given-names>
            <surname>Tseng</surname>
          </string-name>
          , L.-
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <article-title>Gptutor: a chatgpt-powered programming tool for code explanation</article-title>
          ,
          <source>arXiv preprint arXiv:2305</source>
          .
          <year>01863</year>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>S.</given-names>
            <surname>MacNeil</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hellas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <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>S.</given-names>
            <surname>Bernstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Leinonen</surname>
          </string-name>
          ,
          <article-title>Experiences from using code explanations generated by large language models in a web software development e-book</article-title>
          ,
          <source>in: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1</source>
          ,
          <string-name>
            <surname>SIGCSE</surname>
          </string-name>
          <year>2023</year>
          ,
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA,
          <year>2023</year>
          , p.
          <fpage>931</fpage>
          -
          <lpage>937</lpage>
          . doi:
          <volume>10</volume>
          .1145/3545945.3569785.
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <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 - Volume 1</source>
          ,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          ,
          <year>2022</year>
          . URL: https://doi.org/10.1145%
          <fpage>2F3501385</fpage>
          .3543957. doi:
          <volume>10</volume>
          .1145/3501385.3543957.
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hellas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Leinonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sarsa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Koutcheme</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kujanpää</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sorva</surname>
          </string-name>
          ,
          <article-title>Exploring the responses of large language models to beginner programmers' help requests</article-title>
          ,
          <source>in: Proceedings of the 2023 ACM Conference on International Computing Education Research V.1</source>
          , ACM,
          <year>2023</year>
          . URL: https://doi.org/10.1145%
          <fpage>2F3568813</fpage>
          .3600139. doi:
          <volume>10</volume>
          .1145/3568813.3600139.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>A.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. E.</given-names>
            <surname>Margulieux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. B.</given-names>
            <surname>Morrison</surname>
          </string-name>
          ,
          <article-title>Using the solo taxonomy to understand subgoal labels effect in cs1</article-title>
          ,
          <source>in: Proceedings of the 2019 ACM Conference on International Computing Education Research</source>
          , ICER '19,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>209</fpage>
          -
          <lpage>217</lpage>
          . doi:
          <volume>10</volume>
          . 1145/3291279.3339405.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>