<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Human-AI Co-Creation of Worked Examples for Programming Classes</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Mohammad</forename><surname>Hassany</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Pittsburgh</orgName>
								<address>
									<postCode>15260</postCode>
									<settlement>Pittsburgh</settlement>
									<region>PA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Peter</forename><surname>Brusilovsky</surname></persName>
							<email>peterb@pitt.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">University of Pittsburgh</orgName>
								<address>
									<postCode>15260</postCode>
									<settlement>Pittsburgh</settlement>
									<region>PA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Jiaze</forename><surname>Ke</surname></persName>
							<email>jiazek@andrew.cmu.edu</email>
							<affiliation key="aff1">
								<orgName type="institution">Carnegie Mellon University</orgName>
								<address>
									<postCode>15213</postCode>
									<settlement>Pittsburgh</settlement>
									<region>PA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Kamil</forename><surname>Akhuseyinoglu</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Pittsburgh</orgName>
								<address>
									<postCode>15260</postCode>
									<settlement>Pittsburgh</settlement>
									<region>PA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Arun</forename><surname>Balajiee</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Lekshmi</forename><surname>Narayanan</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">University of Pittsburgh</orgName>
								<address>
									<postCode>15260</postCode>
									<settlement>Pittsburgh</settlement>
									<region>PA</region>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<address>
									<postCode>2024</postCode>
									<settlement>Greenville</settlement>
									<region>South Carolina</region>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Human-AI Co-Creation of Worked Examples for Programming Classes</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">C876B0E9590F546E41E18F46524D81E0</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T16:44+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>Code Examples, Authoring Tool, Human-AI Collaboration . Brusilovsky) 0009-0004-8893-8454 (M. Hassany)</term>
					<term>0000-0002-1902-1464 (P. Brusilovsky)</term>
					<term>0009-0003-3122-2298 (J. Ke)</term>
					<term>0000-0002-7761-9755 (K. Akhuseyinoglu)</term>
					<term>0000-0002-7735-5008 (A. B. L. Narayanan)</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Worked examples (solutions to typical programming problems presented as a source code in a certain language and are used to explain the topics from a programming class) are among the most popular types of learning content in programming classes. Most approaches and tools for presenting these examples to students are based on line-by-line explanations of the example code. However, instructors rarely have time to provide line-by-line explanations for a large number of examples typically used in a programming class. In this paper, we explore and assess a human-AI collaboration approach to authoring worked examples for Java programming. We introduce an authoring system for creating Java worked examples that generates a starting version of code explanations and presents it to the instructor to edit if necessary. We also present a study that assesses the quality of explanations created with this approach.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Program code examples play a crucial role in learning how to program <ref type="bibr" target="#b0">[1]</ref>. Instructors use examples extensively to demonstrate the semantics of the programming language being taught and to highlight the fundamental coding patterns. Programming textbooks also pay a lot of attention to examples, with a considerable textbook space allocated to program examples and associated comments <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b2">3]</ref>. A typical worked example presents a code for solving a specific programming problem and explains the role and function of code lines or code chunks. In textbooks, these explanations are usually presented as comments in the code or as explanations on the margins. While informative, this approach focused on passive learning, which is known for its low efficiency. Recognizing this problem, several research teams developed learning tools that offered more interactive and engaging ways to learn from examples <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b7">8]</ref>.</p><p>The example-focused learning tools demonstrated their effectiveness in classroom studies, but their use by programming instructors is still limited due to the insufficient number of worked examples offered by these tools. Although the authors of these tools usually provide a good set of worked examples that can be presented through their tools, many instructors prefer to use their own favorite code examples. The instructors are usually happy to broadly share the code of examples they created (usually providing it on the course web page), but they rarely have time or patience to augment examples with explanations and add their examples to an example-focused interactive system. Indeed, producing a single explained example could take 30 minutes or more, since it requires typing an explanation for each code line <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b7">8]</ref> or creating a screencast in a specific format <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b6">7]</ref>.</p><p>This issue has been recognized by several research teams that have offered several ways to address the lack of content. Among the approaches explored are learner-sourcing, that is, engaging students in creating and reviewing explanations for instructor-provided code <ref type="bibr" target="#b8">[9]</ref> and automatic extraction of information content from available sources, such as lecture recordings <ref type="bibr" target="#b5">[6]</ref>. In this paper, we present an alternative approach to address the lack of worked examples based on human-AI collaboration. With this approach, the instructor provides the code of one of their favorite examples along with the statement of the programming problem it is solving. The AI engine based on large language models (LLM) examines the code and generates explanations for each code line. The explanations could be reviewed and edited by the instructor. To support and explore this authoring approach, we created an authoring system, which radically decreases the time to create a new interactive worked example. The examples created by the system could be uploaded to an example-exploration system such as WebEx <ref type="bibr" target="#b3">[4]</ref> or PCEX <ref type="bibr" target="#b7">[8]</ref> or exported in a reusable format. To assess the quality of the resulting examples, we performed a user study in which TAs and students compared code explanations created by experts through a traditional process with examples created by AI to contribute to human-AI collaborative process.</p><p>The remainder of the paper is structured as following. We start by reviewing related work, introduce the example authoring system that implements the proposed collaborative approach, and explain how specific design decisions were made through several rounds of internal evaluation. Next, we explain the design of our user study and review its results. We conclude with a summary of the work and plans for future research.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">Related Work</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Worked Examples in Programming</head><p>Code examples are important pedagogical tools for learning programming. Not surprisingly, considerable efforts have been devoted to the development of learning materials and tools to support students in studying code examples. For many years, the state-of-the-art approach for presenting worked code examples in online tools was simply code text with comments <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b10">11]</ref>. More recently, this approach has been enhanced with multimedia by adding audio narrations to explain the code <ref type="bibr" target="#b11">[12]</ref> or by showing video fragments of code screencasts with the instructor's narration being heard while watching code in slides or an editor window <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b5">6]</ref>. Both ways, however, support passive learning, which is the least efficient approach from the prospect of the ICAP framework <ref type="bibr" target="#b12">[13]</ref>  <ref type="foot" target="#foot_0">1</ref>An attempt to make learning from program construction examples active was made in the WebEx system, which allowed students to interactively explore instructor-provided line-byline comments for program examples via a web-based interface <ref type="bibr" target="#b3">[4]</ref>. More recently, several projects <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b7">8]</ref> augmented examples with simple problems and other constructive activities to elevate the example study process to the interactive and constructive levels of the ICAP framework, known as the most pedagogically efficient.</p><p>A good example of a modern interactive tool for studying code examples is the PCEX system <ref type="bibr" target="#b7">[8]</ref>. PCEX (Program Construction EXamples) was created in the context of an NSF Infrastructure project (https://cssplice.org) with a focus on broad reuse and has been used by several universities in the US and Europe in the context of Java, Python, and SQL courses. PCEX interface (Figure <ref type="figure" target="#fig_0">1</ref>) provides interactive access to traditionally organized worked examples, i.e., code lines augmented with instructor's explanations. Separating explanations (Figure <ref type="figure" target="#fig_0">1</ref>-3) from the code (Figure <ref type="figure" target="#fig_0">1</ref>-2), allows students to selectively study explanations for code lines they want. Explanations are provided on several levels of detail, so more details could be requested if the brief explanation is not sufficient (Figure <ref type="figure" target="#fig_2">1-3</ref>).</p><p>Since line-by-line multi-level example explanations offered by PCEX is currently the most detailed approach for explaining worked examples, we selected the code example structure implemented by PCEX as the target model for our authoring tool presented in this paper. The tool produces code augmented with line-by-line explanations on several levels of detail. The resulting example could be directly uploaded to PCEX or exported in a system-independent format to be uploaded to other example exploration systems like WebEx <ref type="bibr" target="#b3">[4]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Use of LLMs for Code Explanations</head><p>Several research teams explored the use of LLM for code explanations using GPT-3 <ref type="bibr" target="#b13">[14,</ref><ref type="bibr" target="#b14">15,</ref><ref type="bibr" target="#b15">16]</ref>, GPT-3.5 <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b17">18]</ref>, GPT-4 <ref type="bibr" target="#b16">[17]</ref>, OpenAI Codex <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b14">15]</ref>, and GitHub Copilot <ref type="bibr" target="#b17">[18]</ref>. LLMs were used to generate explanations at different levels of abstraction (line-by-line, step-by-step, and high-level summary). Sarsa et al. <ref type="bibr" target="#b18">[19]</ref> observed that ChatGPT can generate better explanations at low-level (lines). Explanations and summaries generated by these LLMs were mostly evaluated by authors <ref type="bibr" target="#b18">[19]</ref>, students <ref type="bibr" target="#b14">[15,</ref><ref type="bibr" target="#b15">16]</ref>, and tool users <ref type="bibr" target="#b17">[18]</ref>. Sarsa et al. <ref type="bibr" target="#b18">[19]</ref> reported a high correct ratio for generated explanations with minor mistakes that can be resolved by the instructor or teaching assistant. Students rated LLM-generated explanations as being useful, easier, and more accurate than learner-sourced explanations <ref type="bibr" target="#b15">[16]</ref>.</p><p>Since prompts directly influence the LLM's performance, several studies focused on exploring different prompting strategies <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref>. Tian et al <ref type="bibr" target="#b19">[20]</ref> reported that a verbose prompt will limit the LLM's ability to utilize its knowledge <ref type="bibr" target="#b19">[20]</ref>. Iterative prompts are proven to perform well <ref type="bibr" target="#b13">[14]</ref>. Zamfirescu-Pereira et al. <ref type="bibr" target="#b13">[14]</ref> observed that non-experts have misconceptions about LLMs and struggle to come up with a well-formed prompt. Researchers believe that LLMs can be beneficial in environments where humans and AI can work together, where the human can perform the expert evaluation and tune the responses generated by the AI while the AI performs the time-consuming manual tasks <ref type="bibr" target="#b21">[22]</ref>. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">The Feasibility Studies</head><p>To assess the feasibility of Human-AI co-creation of worked examples, we performed three rounds of preliminary studies. The purpose of these studies was to develop an approach for producing LLM code explanations of reasonable quality, compare the explanations produced by LLMs with the explanations produced by humans, and assess whether the LLM explanations are considered satisfactory by instructors and students.</p><p>In the first study <ref type="bibr" target="#b22">[23]</ref> guided by earlier work on LLM code explanations reviewed above, we explored a range of prompts and performed an evaluation of the quality of explanations generated by the prompts to select the best-performing prompt for the next rounds of our work.</p><p>In the second study <ref type="bibr" target="#b23">[24]</ref>, we used a dataset of explanations produced by two experts and 60 students for the same four Java code examples with 33 explainable lines to compare ChatGPT explanations with explanations produced by experts and students using several formal metrics. To make this comparison, we generated ChatGPT explanations using our selected prompt for the 33 explainable lines four times, using temperature 0 once and temperature 1 three times. To calculate all comparison metrics, we merged all line explanations generated by each source (i.e, each expert, each student, and each round of ChatGPT generation) into a single source document. As the data shows (Table <ref type="table" target="#tab_0">1</ref>), the explanations produced by ChatGPT have comparable length (measured by the number of tokens) and lexical density with the explanations produced by experts, while the explanations produced by students were more than twice as short and more lexically dense than the explanations produced by the other two sources. Surprisingly (given the length difference) the readability of explanations produced by experts is very similar to the readability of student explanations, while ChatGPT explanations are much less readable. Expert explanations are also much more similar than ChatGPT explanations to the explanations produced by students (Table <ref type="table">2</ref>). This data could be partially explained by the considerably larger vocabulary used by ChatGPT even in comparison to experts. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Table 2</head><p>Assessing lexical and semantic alignment (larger is better) between sources of explanations.</p><p>In the third study <ref type="bibr" target="#b22">[23]</ref>, we conducted a comparative evaluation of explanations produced by experts and ChatGPT from the point of view of human users. We used two types of human users: authors (instructors and TAs) who are expected to use ChatGPT-generated explanations as the starting point in the co-creation process, and students who are the target users of the co-created product. Explanations were compared in pairs, each explanation in a pair has to be judged by completeness, and the best explanation in the pair has to be selected. A pair included an expert and a ChatGPT explanation, and the judges were not aware of which source produced each explanation. The study results indicated strong preferences for ChatGPT in both groups of judges (Table <ref type="table" target="#tab_1">3</ref>). In general, ChatGPT explanations were rated as more complete and judged to be better in the majority of cases. However, it was not a clear win. In a substantial number of cases (15.05% for students and 27.41% for authors), expert explanations were selected as the best option in a pair.</p><p>Taking the results of these two studies together, we could conclude that producing explanations for code examples is a promising application area for Human-AI co-creation. On the one hand, the LLM-generated explanations are lagging behind expert explanations in several aspects. ChatGPT explanations have higher reading difficulty than expert explanations, and they are further away from the students' own explanations, as measured by most similarity metrics. The vocabulary data hints that ChatGPT tends to use terms, which might not be easy for the students to understand, while experts have experience in phrasing their explanations closer to the students' active vocabulary. On the other hand, the explanations produced by ChatGPT were generally rated higher than the expert explanations by both instructors and students. These data hint that presenting ChatGPT explanations directly to students might not be a perfect solution, but they can serve as an excellent starting point for instructors in shaping </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">The Human-AI Co-Creation Interface Design</head><p>On the basis of our feasibility studies, we developed a Worked Example Authoring Tool (WEAT). WEAT enables instructors to create worked code examples for PCEX system, <ref type="bibr" target="#b7">[8]</ref> through the human-AI co-creation interface. In this co-creation process, the main task of a human author is to provide the code of the example and the statement of the problem that the code solves. The main task of ChatGPT is to generate the bulk of code line explanations on several levels of detail. As an option, a human author could edit and refine the text produced by ChatGPT to adapt it to the class goals and target students. As in any productive collaboration, each side does what it is best suited to do, leaving the rest to the partner.</p><p>In the main part of the WEAT interface, the problem (Figure <ref type="figure" target="#fig_1">2-1</ref>) and the code (Figure <ref type="figure" target="#fig_1">2</ref>-2) have to be provided by the instructor, while the explanations for each line (Figure <ref type="figure" target="#fig_2">2-3</ref>) can be created by the instructor or generated by ChatGPT. The generated explanations could be further edited by the instructor. While we expect that co-creation of code explanations will be the preferred way to use WEAT, the system supports the whole range of options from using AI explanations without human editing to creating the whole example from scratch, without the help of AI. Authors who want to start by creating explanations themselves could simply select a code line to explain (Figure <ref type="figure" target="#fig_1">2-2</ref>) and add one or more explanation fragments to this line (Figure <ref type="figure" target="#fig_2">2-3</ref>). The order of the fragments is important: the first fragment is displayed in PCEX when the line is clicked, while the remaining fragments can be accessed by clicking the "Additional Details" button (Figure <ref type="figure" target="#fig_2">1-3</ref>).</p><p>To generate ChatGPT explanations for the provided example code and problem description, the author has to click the "Generate Explanations" button to open the ChatGPT dialog (Figure <ref type="figure" target="#fig_2">3</ref>). In this dialog, the explanations could be generated by clicking "Generate" button and added to the example by clicking "Use Explanations" button. Experienced authors have the opportunity to tune the default prompt before generating explanations and review the generated explanations before using them. Reviewing the generated explanations can be done line by line: selecting one of the explained lines (marked by "?") in the code box (Figure <ref type="figure" target="#fig_2">3</ref>-3) will display all generated explanations for this line in the explanation box (Figure <ref type="figure" target="#fig_3">3-4</ref>). The explanation could be accepted or rejected by clicking the checkbox next to the "Include this line" prompt.</p><p>To support the review at the finer grain level, WEAT divides the explanations into fragments that can be independently accepted or rejected by clicking the small green check mark icon next to the fragment (Figure <ref type="figure" target="#fig_3">3-4a</ref>). The author can also click on the small gray thumb-up icon (Figure <ref type="figure" target="#fig_3">3-4b</ref>) to provide positive feedback on the explanation fragment. Once the "Use Explanations" button is clicked, all accepted explanation fragments are added to the corresponding example lines and can be further edited in the main interface (Figure <ref type="figure" target="#fig_1">2</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Evaluation</head><p>To assess how well WEAT supports co-creation of worked examples, we engaged five instructors (A1-A5) teaching Java of Python classes and asked them to create one or more worked examples for PCEX from real examples they use in their classes. To explain the tool to the instructor, we provided a video tutorial and integrated textual help into WEAT. Their interactions and usage of the tool were recorded through logs and used for the analysis presented below.</p><p>The instructors used the tool to create 12 examples in total (Table <ref type="table" target="#tab_2">4</ref>). The ChatGPT dialog was used 21 times, and in 13 cases (A1=6, A2=2, A3=3, A4=1, and A5=1), instructors added generated explanations to the example by clicking the "Use Explanations" button. As discovered from an interview with instructors, in several cases they closed and reopened the ChatGPT dialog to access the main interface blocked by the dialog. Analyzing the interaction logs, we observed this has been done at least 5 times (3 times with the close-reopen interval of 5 seconds and 2 with 12 seconds interval) leaving only 16 cases where explanations had a chance to be examined. In total, 269 explanation fragments were generated for 119 lines of code with an average of 2.26 fragments per line. In 13 cases where ChatGPT explanations were added to the example by instructors, ChatGPT generated 237 explanations for 99 lines of code (Table <ref type="table" target="#tab_2">4</ref>). We found no cases in which the entire set of explanations generated for the line was excluded by the instructors in its entirety, and among the 237 generated fragments, only 24 (10.12%) 237 were excluded. The interview revealed that in some cases the generated fragments were rejected not because they were unsatisfactory, but because they were incorrect (Figure <ref type="figure" target="#fig_3">4</ref>). On the other hand, instructors liked 15 (6.32%) explanations.</p><p>After adding explanations to the example, instructors still didn't remove the explanations for any line entirely, but removed 23 (9.7%) ChatGPT generated explanation fragments. Instructor A5 reported that he removed several fragments when merging two or more explanation fragments. Since the tool did not provide support for merging fragments, it did so by copying the explanation from one fragment to the end of the other fragment and removing the obsolete fragment. In only 10 cases, instructors attempted to create new explanations from scratch, but in the end these explanations were removed. In other words, all remaining explanation fragments were originally generated by ChatGPT with some of them being edited later by the instructors.</p><p>Apparently, the instructors preferred to edit the explanation fragments rather than create them from scratch. In total, the instructors edited 66 (27.84%) of ChatGPT generated explanation fragments, on average 1.4 times (stdev=0.55). Feedback from instructors indicated that most of their edits involved summarizing, adding missing details, or removing unnecessary parts. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Table 5</head><p>ChatGPT-generated explanations edits: Number of edits made by instructors to ChatGPT-generated explanations, along with a measure of similarity between the original and final edited version.</p><p>The average Levenshtein edit ratio for ChatGPT-generated explanations (edited and unedited) is 0.73 (Table <ref type="table">5</ref>), indicating a high acceptance rate for generated explanations. This indicator, however, is somewhat misleading since a portion of ChatGPT-generated explanations were edited because the first version of the tool evaluated in the study didn't provide direct support for reordering and merging the explanations, resulting in copy-pasting the explanations (as reported by A5 for whom the ratio dropped to 0.412). The table also points out that WEAT was able to support different editing approaches pursued by instructors. Some instructors spent more time reviewing the generated explanations before adding them to the example (A1), some prefer adding them to the examples and then evaluating and editing them (A3), while some used the generated explanations without changes. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusion</head><p>In this paper, we introduce a worked code example authoring tool WEAT that supports human-AI co-creation in the process of developing such examples. WEAT supports human authors by using ChatGPT for the generation of line-by-line code explanations and by providing an interface to integrate this functionality into a balanced authoring process. To the best of our knowledge, this is the first attempt to develop an authoring tool that produces worked examples through human-AI collaboration.</p><p>To develop WEAT, we performed several rounds of feasibility studies. These studies supported the need for a human-AI co-creation in authoring worked examples. As the studies showed, in the majority of cases, the explanations generated by ChatGPT with a carefully tuned prompt were positively evaluated by authors and students. However, in a good fraction of cases they were inferior to the explanations provided by experts. The study also revealed that on average experts can create explanations that are more easily readable and closer to the explanations generated by the students themselves. With this data, we hypothesized that human-AI cocreation could offer the "best of both worlds" solution where good explanations could be simply accepted by authors, while inferior or hard-to-understand explanations could be improved.</p><p>An evaluation of WEAT system with five course instructors supported these expectations and provided strong evidence in favor of co-creation. As the log analysis demonstrated, in many cases, instructors choose to accept generated explanations without changes, which should have decreased the time and effort required for example creation. Yet in other cases, the instructor rejected or edited the generated explanation to achieve the desired quality. In some cases, explanations were rejected by being simply incorrect, which stresses the importance of human presence in the authoring process. The interview with authors revealed several cases where authors acted inefficiently due to specific interface issues, such as blocking the main edit window by the generation dialog or the lack of tools to move or merge fragments. Now we are using these observations to develop an improved version of WEAT.</p><p>As the first step towards this important goal, our work has limitations. Most importantly, the scale of our evaluation is relatively small. Since we targeted real instructors as users in our evaluation process, we were able to recruit only five qualified subjects. Additionally, since the study was done at the beginning of the semester when instructors were busy setting up their classes, they created only 12 examples using this tool. To obtain more reliable data, we plan a larger-scale semester-long study by engaging instructors to create a variety of worked examples of varying difficulty and use them in their classes. Such a study will also enable us to</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Studying a code example in the PCEX system: 1) title and program description, 2) program source code with lines annotated with explanations, 3) explanations for the highlighted line, 4) link to a "challenge" -a small problem related to the example.</figDesc><graphic coords="4,89.29,84.19,416.68,239.52" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: WEAT Authoring, 1) program title and description, 2) program source code (lines with explanations are marked with a blue question mark next to the line number), 3) explanations for the selected line (the line with gray background -line 6 in the screenshot).</figDesc><graphic coords="7,89.29,84.19,416.70,209.14" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Human-AI Collaborative Worked Example Authoring, 1) "Generate Explanations" button, 2) default prompt (author can tune the prompt -optional), 3) program source preview, 4) generated explanations for the selected line.</figDesc><graphic coords="8,89.29,84.19,416.69,281.33" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 4 :</head><label>4</label><figDesc>Figure 4: An incorrect explanation fragment generated by ChatGPT and excluded by the author (line 3).</figDesc><graphic coords="10,89.29,84.19,416.69,86.11" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1</head><label>1</label><figDesc>Median lexical and readability metrics for different sources of explanations (FRE = Flesch-Reading Ease, FK = Flesch-Kincaid, GF = Gunning Fog). *refers to the prompt selected in the first study.</figDesc><table><row><cell>Source</cell><cell cols="5">N Vocabulary Lexical Density # of Tokens</cell><cell>GF</cell><cell>FRE</cell><cell>FK</cell></row><row><cell>Experts</cell><cell>2</cell><cell>209.0</cell><cell>0.48</cell><cell></cell><cell>690.0</cell><cell>8.46 78.45 6.18</cell></row><row><cell cols="2">ChatGPT* 4</cell><cell>238.0</cell><cell>0.49</cell><cell></cell><cell>769.5</cell><cell>11.09 69.64 7.83</cell></row><row><cell>Students</cell><cell>60</cell><cell>116.5</cell><cell>0.54</cell><cell></cell><cell>249.5</cell><cell>8.02 80.48 5.62</cell></row><row><cell></cell><cell>Reference</cell><cell>Source</cell><cell cols="4">chrF METEOR USE BERTScore</cell></row><row><cell></cell><cell>Expert</cell><cell>Student</cell><cell>0.33</cell><cell>0.144</cell><cell>0.33</cell><cell>0.63</cell></row><row><cell></cell><cell>ChatGPT</cell><cell>Student</cell><cell>0.18</cell><cell>0.151</cell><cell>0.255</cell><cell>0.458</cell></row><row><cell></cell><cell>Expert</cell><cell cols="2">ChatGPT 0.32</cell><cell>0.28</cell><cell>0.48</cell><cell>0.712</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 3</head><label>3</label><figDesc>Assessment of explanations generated by ChatGPT and experts by students and authors. For convenience, we do not count the cases in which the explanations in a pair were judged equally good. their own explanations. Following that, we decided to structure the Human-AI collaboration in creating working examples as follows. Instructors have the ultimate control over producing explanations. Depending on the context (such as example complexity), they can either choose to explain example lines themselves or request AI (LLM) help in producing explanations for specific lines. In the latter case, LLM generates the initial line explanations leaving it to the instructor to accept or reject it and, if accepted, to further edit the explanation text to satisfaction. The Human-AI co-creation interface presented in the next section is based on this model of collaboration.</figDesc><table><row><cell>Source</cell><cell cols="5">Judged by Not complete Complete Very complete "This source is better"</cell></row><row><cell cols="2">ChatGPT Students</cell><cell>0.00%</cell><cell>13.33%</cell><cell>86.67%</cell><cell>51.11%</cell></row><row><cell cols="2">ChatGPT Authors</cell><cell>1.48%</cell><cell>32.59%</cell><cell>65.93%</cell><cell>58.15%</cell></row><row><cell>Experts</cell><cell>Students</cell><cell>2.22%</cell><cell>55.56%</cell><cell>42.22%</cell><cell>16.05%*</cell></row><row><cell>Experts</cell><cell>Authors</cell><cell>14.07%</cell><cell>57.78%</cell><cell>28.15%</cell><cell>27.41%*</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 4</head><label>4</label><figDesc>Analysis of ChatGPT used explanations: Total count of generated, excluded, liked, and explained lines of code across 13 instances where the instructor added explanations to examples.</figDesc><table><row><cell>A1 A2 A3 A4 A5 Total</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head>Table 4</head><label>4</label><figDesc>shows that almost half of the generated fragments were used without being touched, saving a noticeable amount of instructor time.</figDesc><table><row><cell>A1</cell><cell>A2</cell><cell>A3</cell><cell>A4</cell><cell>A5</cell><cell>Total</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">The ICAP framework differentiates four modes of engagement, behaviorially exhibited by learners: passive, active, constructive and interactive.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>assess the quality of explanations produced through human-AI collaboration and their value for students in introductory programming classes.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The case for case studies of programming problems</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">C</forename><surname>Linn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Clancy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Commun. ACM</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<biblScope unit="page" from="121" to="132" />
			<date type="published" when="1992">1992</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">M</forename><surname>Deitel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">J</forename><surname>Deitel</surname></persName>
		</author>
		<title level="m">C How to Program</title>
				<meeting><address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<publisher>Prentice Hall</publisher>
			<date type="published" when="1994">1994</date>
		</imprint>
	</monogr>
	<note>2nd Edition</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">C by Dissection : The Essentials of C Programming</title>
		<author>
			<persName><forename type="first">A</forename><surname>Kelley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Pohl</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Problem solving examples as first class objects in educational digital libraries: Three obstacles to overcome</title>
		<author>
			<persName><forename type="first">P</forename><surname>Brusilovsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">V</forename><surname>Yudelson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I.-H</forename><surname>Hsiao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Educational Multimedia and Hypermedia</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="page" from="267" to="288" />
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Codecast: An innovative technology to facilitate teaching and learning computer programming in a c language online course</title>
		<author>
			<persName><forename type="first">R</forename><surname>Sharrock</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Hamonic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hiron</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Carlier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Fourth (2017) ACM Conference on Learning @ Scale</title>
				<meeting>the Fourth (2017) ACM Conference on Learning @ Scale</meeting>
		<imprint>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Codemotion: expanding the design space of learner interactions with computer programming tutorial videos</title>
		<author>
			<persName><forename type="first">K</forename><surname>Khandwala</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">J</forename><surname>Guo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Fifth Annual ACM Conference on Learning at Scale</title>
				<meeting>the Fifth Annual ACM Conference on Learning at Scale</meeting>
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Elicast: embedding interactive exercises in instructional programming screencasts</title>
		<author>
			<persName><forename type="first">J</forename><surname>Park</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><forename type="middle">H</forename><surname>Park</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Cha</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">H</forename><surname>Oh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Fifth Annual ACM Conference on Learning at Scale</title>
				<meeting>the Fifth Annual ACM Conference on Learning at Scale</meeting>
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Improving engagement in program construction examples for learning python programming</title>
		<author>
			<persName><forename type="first">R</forename><surname>Hosseini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Akhuseyinoglu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Brusilovsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Malmi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Pollari-Malmi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Schunn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Sirkiä</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">International Journal of Artificial Intelligence in Education</title>
		<imprint>
			<biblScope unit="volume">30</biblScope>
			<biblScope unit="page" from="299" to="336" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The role of community feedback in the student example authoring process: an evaluation of annotex</title>
		<author>
			<persName><forename type="first">I.-H</forename><surname>Hsiao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Brusilovsky</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">British Journal of Educational Technology</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="page" from="482" to="499" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Learning benefits of structural example-based adaptive tutoring systems</title>
		<author>
			<persName><forename type="first">A</forename><surname>Davidovic</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">R</forename><surname>Warren</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Trichina</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Trans. Educ</title>
		<imprint>
			<biblScope unit="volume">46</biblScope>
			<biblScope unit="page" from="241" to="251" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Subgoals help students solve parsons problems</title>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">B</forename><surname>Morrison</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">E</forename><surname>Margulieux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Ericson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 47th ACM Technical Symposium on Computing Science Education</title>
				<meeting>the 47th ACM Technical Symposium on Computing Science Education</meeting>
		<imprint>
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Analysis of interactive features designed to enhance learning in an ebook</title>
		<author>
			<persName><forename type="first">B</forename><surname>Ericson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Guzdial</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><forename type="middle">B</forename><surname>Morrison</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the eleventh annual International Conference on International Computing Education Research</title>
				<meeting>the eleventh annual International Conference on International Computing Education Research</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Translating the icap theory of cognitive engagement into practice</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T H</forename><surname>Chi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Adams</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">B</forename><surname>Bogusch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bruchok</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Lancaster</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Levy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">L</forename><surname>Mceldoon</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">S</forename><surname>Stump</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Wylie</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Xu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">L</forename><surname>Yaghmourian</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Cognitive Science</title>
		<imprint>
			<biblScope unit="volume">42</biblScope>
			<biblScope unit="page" from="1777" to="1832" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Why johnny can&apos;t prompt: How non-ai experts try (and fail) to design llm prompts</title>
		<author>
			<persName><forename type="first">J</forename><surname>Zamfirescu-Pereira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">Y</forename><surname>Wong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Hartmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Yang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems, CHI &apos;23</title>
				<meeting>the 2023 CHI Conference on Human Factors in Computing Systems, CHI &apos;23<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Experiences from using code explanations generated by large language models in a web software development e-book</title>
		<author>
			<persName><forename type="first">S</forename><surname>Macneil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hellas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sarsa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Denny</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bernstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Leinonen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1, SIGCSE 2023</title>
				<meeting>the 54th ACM Technical Symposium on Computer Science Education V. 1, SIGCSE 2023<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2023">2023</date>
			<biblScope unit="page" from="931" to="937" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<title level="m" type="main">Comparing code explanations created by students and large language models</title>
		<author>
			<persName><forename type="first">J</forename><surname>Leinonen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Denny</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Macneil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Sarsa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bernstein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Kim</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tran</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hellas</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">Explaining competitive-level programming solutions using llms</title>
		<author>
			<persName><forename type="first">J</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Tworkowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Wu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Mooney</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">Gptutor: A chatgpt-powered programming tool for code explanation</title>
		<author>
			<persName><forename type="first">E</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Huang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H.-S</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y.-H</forename><surname>Tseng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L.-Y</forename><surname>Li</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Artificial Intelligence in Education. Posters and Late Breaking Results, Workshops and Tutorials, Industry and Innovation Tracks, Practitioners, Doctoral Consortium and Blue Sky</title>
				<editor>
			<persName><forename type="first">N</forename><surname>Wang</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">G</forename><surname>Rebolledo-Mendez</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">V</forename><surname>Dimitrova</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">N</forename><surname>Matsuda</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">O</forename><forename type="middle">C</forename><surname>Santos</surname></persName>
		</editor>
		<meeting><address><addrLine>Nature Switzerland; Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2023">2023</date>
			<biblScope unit="page" from="321" to="327" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Automatic generation of programming exercises and code explanations using large language models</title>
		<author>
			<persName><forename type="first">S</forename><surname>Sarsa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Denny</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hellas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Leinonen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2022 ACM Conference on International Computing Education Research -Volume 1, ICER &apos;22</title>
				<meeting>the 2022 ACM Conference on International Computing Education Research -Volume 1, ICER &apos;22<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Association for Computing Machinery</publisher>
			<date type="published" when="2022">2022</date>
			<biblScope unit="page" from="27" to="43" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<monogr>
		<title level="m" type="main">Is chatgpt the ultimate programming assistant -how far is it?</title>
		<author>
			<persName><forename type="first">H</forename><surname>Tian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Lu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">O</forename><surname>Li</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Tang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S.-C</forename><surname>Cheung</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Klein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">F</forename><surname>Bissyandé</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">Least-to-most prompting enables complex reasoning in large language models</title>
		<author>
			<persName><forename type="first">D</forename><surname>Zhou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Scharli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Hou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Wei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Scales</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Schuurmans</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Bousquet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Le</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">H</forename><surname>Chi</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
	<note type="report_type">ArXiv</note>
</biblStruct>

<biblStruct xml:id="b21">
	<monogr>
		<title level="m" type="main">A prompt pattern catalog to enhance prompt engineering with chatgpt</title>
		<author>
			<persName><forename type="first">J</forename><surname>White</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Fu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Hays</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sandborn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Olea</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Gilbert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Elnashar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Spencer-Smith</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">C</forename><surname>Schmidt</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Hassany</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Brusilovsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Akhuseyinoglu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">B</forename><surname>Lekshmi Narayanan</surname></persName>
		</author>
		<idno type="DOI">10.48550/arXiv.2312.02105</idno>
		<idno type="arXiv">arXiv:2312.02105</idno>
		<idno>arXiv, 2023</idno>
		<ptr target="https://doi.org/10.48550/arXiv.2312.02105" />
		<title level="m">Authoring Worked Examples for Java Programming with Human-AI Collaboration</title>
				<imprint/>
	</monogr>
	<note type="report_type">Report</note>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Explaining code examples in introductory programming courses: Llm vs humans</title>
		<author>
			<persName><forename type="first">A.-B</forename><surname>Lekshmi-Narayanan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Oli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Chapagain</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Hassany</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Banjade</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Brusilovsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Rus</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Workshop on AI for Education -Bridging Innovation and Responsibility at AAAI 2024</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
