CreatiCode XO (AI Assistant) - Automatic Feedback
-
Introduction
This tutorial is designed primarily for K-12 educators, though students may also find it insightful.
As educators, one of our key goals is to provide students with constructive feedback that acknowledges their efforts and guides them towards improvement. Effective formative assessment is crucial in this process, as it helps highlight both strengths and areas for growth.
Nevertheless, crafting thoughtful and comprehensive feedback can be quite demanding. It requires a careful review of each element of a student’s work and a considered choice of words to ensure the message is both encouraging and instructive.
To address this challenge, XO has been developed to provide feedback on any given project when we provide it with a rubric. Here is how it works:
- Teachers draft a rubric as part of the assignment, a common practice already in place.
- Students, as they progress with their project, can request XO to assess their work according to the specified rubric. They can continue to seek feedback and make improvements until they are satisfied with their project.
- Students submit the final project to their teachers for evaluation.
- Teachers can review the log of XO conversations for each student and can also utilize XO to evaluate student submissions.
The key advantage of this approach is that it offers students instant, personalized feedback, significantly enhancing both the efficiency and engagement of the learning process.
Example Step 1 - Teacher Creates an Assignment
Let’s consider a scenario where a teacher has recently introduced the concept of the “broadcast message” block in class. Here’s an example of how an assignment using this concept might be structured along with its rubric:
Create a project that effectively demonstrates the use of message broadcasting between sprites. Rubric: 1. The project must include at least two sprites, each with appropriately descriptive names. 2. At least one sprite should broadcast a message that another sprite receives and responds to. 3. All message names used should be clear and meaningful. 4. The project should narrate a coherent story, such as a dialogue between two people or an interaction between two animals. 5. [Extra credit] Implement a broadcast message that triggers simultaneous actions in two or more sprites.
Example Step 2 - Student Buiids Initial Project
Suppose a student creates an initial version of the project with 2 sprites like this:
Sprite “Sprite1”:
Sprite “Crab”:
Note that the Sprite1 is missing the “broadcast” block.
Example Step 3 - Student Gets Initial Feedback
Now, suppose the student asks XO for feedback. He/she needs to ask XO to “review the project for the given assignment”, then paste the assignment/rubric into the chat. Don’t worry about the format, as XO will still understand the request even if it is all in one line:
Note that XO has gone through every requirement in the rubric thoroughly, and it has correctly pointed out some issues, especially that “message1” is not sent out.
Example Step 4 - Student Improves Program
Next, suppose the student has updated the program to broadcast the message, and also renamed the message name like this:
Sprite1:
Crab:
Example Step 5 - Student Asks for Feedback Again
Now, the student can ask for another review by saying “review again” or “how about now”:
Note that the review has been updated to confirm the changes the student has made, and also encourage student to focus on the remaining issues.The student can keep improving the project continuously until he/she is happy about it.
Notes on Writing Rubrics for XO
It’s important to understand that XO is capable of evaluating only the code blocks within each sprite. This means that XO is unable to assess several aspects of the project:
- Aesthetics: XO cannot “see” or evaluate the visual elements like costumes or backdrops on the stage.
- Runtime Issues: XO does not run the projects, so it cannot detect certain bugs or issues that only appear during execution.
- Project Description or Comments: XO is unable to read and interpret any written project descriptions or embedded comments.
Given these limitations, XO is best utilized for static analysis of the programming elements of a project.
Use XO to Write Rubrics
If you’re uncertain about how to write effective rubrics for XO, you’ll be pleased to know that XO can assist in writing the rubrics itself. Who doesn’t love an AI that can write instructions for itself?
For best results, here are some tips for asking XO to write rubrics:
- Provide as much details about the student and the assignment as possible;
- Include all key points you want to include
- If you already have a sample project, open it and ask XO to use this project as a reference
- Ask XO to improve until you are satisfied
Here is an example request:I'm teaching fifth grade students how to use repeat loops in combination with variables. Write an assignment with rubric. It should cover variable initialization and variable updates inside the loop.
And here is an example output from XO: -