Difference between revisions of "WEAT"

From PAWS Lab
Jump to: navigation, search
(changed image sizes)
Line 1: Line 1:
 
The '''Worked Example Authoring Tool (WEAT)''' is an innovative tool designed to facilitate the creation of worked examples for programming education through a ''human-AI collaboration'' approach. By integrating ChatGPT, WEAT assists instructors in generating line-by-line explanations for code examples in Java and Python. Instructors can provide the code and problem statement, and WEAT uses ChatGPT to generate explanations for each line of code. These explanations can then be reviewed, edited, and added into the worked examples, streamlining the process of creating educational programming materials.
 
The '''Worked Example Authoring Tool (WEAT)''' is an innovative tool designed to facilitate the creation of worked examples for programming education through a ''human-AI collaboration'' approach. By integrating ChatGPT, WEAT assists instructors in generating line-by-line explanations for code examples in Java and Python. Instructors can provide the code and problem statement, and WEAT uses ChatGPT to generate explanations for each line of code. These explanations can then be reviewed, edited, and added into the worked examples, streamlining the process of creating educational programming materials.
  
This tool consists of three important pages:
+
[http://adapt2.sis.pitt.edu/pcex-authoring/ <u>Click here</u>] to access the '''WEAT''', use your account credentials and login into the tool or create an account if you don't have one (''please send an email to Mohammad Hassany [[mailto:moh70@pitt.edu moh70@pitt.edu]] to activate your account'').
  
<ol style="list-style-type: decimal;">
+
Please [https://youtu.be/IOfA0Ql3Zq0 <u>watch this video tutorial</u>] or read the [[WEAT_Tutorial|<u>user manual</u>]] to learn more about our tool.
<li>'''Sources''', a source is a [[PCEX]] example or challenge; which has a title, problem description, and line-by-line annotated source code.</li>
 
<li>'''Activities''', an activity is a bundle of multiple sources either as an example or challenge.</li>
 
<li>'''Hub''', is where all publicly available activities are listed which can be searched by title, used, or embedded within your tool (through iframe).</li>
 
</ol>
 
 
 
After opening the [http://adapt2.sis.pitt.edu/pcex-authoring/ <u>PCEX Authoring Tool</u>] ([https://youtu.be/IOfA0Ql3Zq0 Video Tutorial]), you will land on the ''Hub'' page. Click '''Login''', provide your account credentials and login into the tool. Then you will be redirected back to the ''Hub'' page.
 
 
 
[[File:weat_image8.png|768px]]
 
 
 
Fig 1) PCEX Authoring Tool: Hub Page.
 
 
 
<span id="sources"></span>
 
= Sources =
 
 
 
In the ''Hub'' page, click on the navbar, then click on &quot;Sources&quot; to navigate to ''Sources'' page.
 
 
 
[[File:weat_image21.png|768px]]
 
 
 
Fig 2) PCEX Authoring Tool: Hub Page - when user is logged in.
 
 
 
This page contains the list of sources you have created. Click &quot;'''New Source'''&quot; to create a new source.
 
 
 
[[File:weat_image18.png|768px]]
 
 
 
Fig 3) PCEX Authoring Tool: List of defined sources.
 
 
 
A source has a title, problem description, and line-by-line annotated source code. Problem description can have multilines. Each line in the source code can be annotated either by providing explanations for it and/or marked as blank line.
 
 
 
[[File:weat_image23.png|768px]]
 
 
 
Fig 4) PCEX Authoring Tool: Creating a source (e.g: Hello World!).
 
 
 
In a PCEX challenge, a blank line creates a parson-style problem that can be filled by the student with available distractors (check Figure 5). A distractor can be defined in the &quot;'''Distractors'''&quot; section when creating or editing a source.
 
 
 
[[File:weat_image1.png|768px]]
 
 
 
Fig 5) PCEX Authoring Tool: A PCEX challenge preview.
 
 
 
[[File:weat_image25.png|768px]]
 
 
 
Fig 6) PCEX Authoring Tool: Define distractors (bottom section) for blank lines.
 
 
 
Explanations for important lines of code can be generated using the ''gpt-3.5-turbo'' model. Clicking on the &quot;'''Generate Explanations'''&quot; button will generate explanations using the default prompt. Newly generated explanations will be appended to the line and are distinguished with orange border color (check Figure 7).
 
 
 
Next to the &quot;'''Generate Explanations'''&quot; button, there is the [[File:weat_image9.png|48x40px]]history and [[File:weat_image6.png|44x40px]] custom prompt toggle buttons. Clicking on the [[File:weat_image9.png|48x40px]] button will show the previously generated explanations (check Figure 7) for this source. While clicking on the [[File:weat_image6.png|44x40px]] provide the ability to customize the ChatGPT prompt (check Figure 7).
 
 
 
As described in the user interface, these explanations can be dragged by the bars into the Annotations panel to be used/added to the currently selected line (check Figure 8). By default, previously generated explanations for the currently selected line are shown; click the &quot;'''show all lines'''&quot; to show all generated explanations. In the history panel click on another date/time to load explanations specific to that generation session.
 
 
 
[[File:weat_image26.jpg|768px]]
 
 
 
Fig 7) Source Editor: ChatGPT Generated-Explanations (History).
 
 
 
[[File:weat_image22.png|768px]]
 
 
 
Fig 8) Source Editor: Dragging previously generated explanations from history into the Annotations panel.
 
 
 
In Figure 7, the ChatGPT prompt can be viewed. This is the default prompt used by the tool when &quot;'''Generate Explanations'''&quot; is clicked. If by any reason, it requires any change, you can change the color-marked sections. After customizing the prompt, click &quot;'''Generate Explanations'''&quot; to generate the explanations.
 
 
 
In the Annotations panel, explanations can be dragged by the bars. Drag and drop an explanation on another explanation to change their order, or hold &quot;'''alt'''&quot; key while dropping to append/merge them together, or drop the explanation on to the red trash can area to remove it (you will be asked to confirm this action since it is irreversible).
 
 
 
[[File:weat_image20.png|768px]]
 
 
 
Fig 9) Source Editor: Drag explanations to reorder, merge or remove.
 
 
 
In case you want to merge, cut, copy, or delete multiple explanations, click on the [[File:weat_image12.png|33x30px]] button to see more actions. Select explanations by clicking either the &quot;'''Select'''&quot; (to start the selection, then click on the[[File:weat_image15.png|22x20px]]checkboxes next to explanations to select), or &quot;'''Select all'''&quot; to select all the explanations. Then you can cut, copy, and delete the selected explanations.
 
 
 
[[File:weat_image19.png|768px]]
 
 
 
Fig 10) Source Editor: Annotations panel more actions.
 
 
 
<span id="activities"></span>
 
= Activities =
 
 
 
This page contains the list of activities you have created. Click &quot;'''New Activity'''&quot; to create a new activity.
 
 
 
[[File:weat_image7.png|768px]]
 
 
 
Fig 11) PCEX Authoring Tool: List of defined activities.
 
 
 
An activity contains one or more sources, either as an example or challenge.
 
 
 
After creating/updating a source or activity, click the preview button to ensure the activity is processed (/cached) and can be previewed by students later.
 
 
 
[[File:weat_image16.png|768px]]
 
 
 
Fig 12) PCEX Authoring Tool: Creating an activity(e.g: HelloWorld!).
 
 
 
<span id="hub"></span>
 
= Hub =
 
 
 
This page lists all publicly shared activities by different authors. You can click on the title to preview the activity, or click the open-in-new-tab icon next to the title to open it in a new tab (this url can be embedded in an iframe within your tools)
 
  
 
[[File:weat_image8.png|768px]]
 
[[File:weat_image8.png|768px]]
  
Fig 13) PCEX Authoring Tool: Hub Page.
+
Worked Example Authoring Tool: Hub Page.
 
 
[[File:weat_image4.png|768px]]
 
 
 
Fig 14) PCEX Authoring Tool: Activity Preview.
 
 
 
<span id="icons-and-symbols"></span>
 
= Icons and Symbols =
 
 
 
The following icons are used within this tool, and you need to familiarize yourself with them.
 
 
 
{|
 
| [[File:weat_image2.png|49x48px]]
 
| In the source editor, this question mark marks the lines that have at least one explanation.
 
|-
 
| [[File:weat_image14.png|54x47px]]
 
| In the source editors, this blue-empty square marks the lines that are marked as blank.
 
|-
 
| [[File:weat_image11.png|54x51px]]
 
| In the source editors, this symbol marks the lines that are marked as blank and also have at least one explanation.
 
|-
 
| [[File:weat_image3.png|48x45px]]
 
| In the source editor, this symbol can be used to drag explanations for reordering, or merging.
 
|-
 
| [[File:weat_image10.png|49x44px]]
 
| Clicking on this icon in the activities and sources listings will toggle the item's archiving status.
 
|-
 
| [[File:weat_image13.png|43x37px]]
 
| Clicking on this icon in the activities and sources listings will preview the item.
 
|-
 
| [[File:weat_image17.png|44x45px]]
 
| Clicking on this icon in the activities listing will toggle the item's publicity status (in the Hub page).
 
|}
 

Revision as of 14:31, 4 April 2024

The Worked Example Authoring Tool (WEAT) is an innovative tool designed to facilitate the creation of worked examples for programming education through a human-AI collaboration approach. By integrating ChatGPT, WEAT assists instructors in generating line-by-line explanations for code examples in Java and Python. Instructors can provide the code and problem statement, and WEAT uses ChatGPT to generate explanations for each line of code. These explanations can then be reviewed, edited, and added into the worked examples, streamlining the process of creating educational programming materials.

Click here to access the WEAT, use your account credentials and login into the tool or create an account if you don't have one (please send an email to Mohammad Hassany [moh70@pitt.edu] to activate your account).

Please watch this video tutorial or read the user manual to learn more about our tool.

Weat image8.png

Worked Example Authoring Tool: Hub Page.