Can you please ask your friend to email his/her email login to info@creaticode.com? We will check why.
CreatiCode
paying users from China
Can you please ask your friend to email his/her email login to info@creaticode.com? We will check why.
CreatiCode
To most people, quizzes are not fun: they can be too easy or too hard, and we may have to take them before we are ready. However, quizzes are one of the most effective tools for reinforcing what we have learned and identifying gaps in our understanding.
With XO, you can get quizzes that are much more fun: you can customize the theme of the quizzes and choose the difficulty level.
If you are a teacher, you can also use XO to generate quizzes for your entire class.
For an important note: XO can not accurate evaluate all quizzes yet, especially coding challenges. That is because currently, XO can not run the program, so it has to rely on reviewing the code. Also, XO is not smart enough to recognize all coding issues yet (though it is catching up fast!). To be safe, teachers may still need to review the final answers.
In the most basic format, you can ask XO to generate a random quiz by saying “give me a quiz on [TOPIC] with difficulty [LEVEL]”. The LEVEL can be 1, 2, 3 or 4, with 1 being the easiest. For example, when you say “give me a quiz on variables with difficulty 1”, you may get a response like this:
Now you can simply answer the quiz in the chat and get the result:
By default, XO will randomly select from these 3 formats: coding challenge, multiple-choice question and short-answer question. However, you can specify the format if you have a preference. For example, you can ask “give me a coding challenge on variables with difficulty 2”:
After implementing the solution, we can ask XO to check out solution by saying “check my code” or “check my answer”. If there is an issue, XO will point it out:
After fixing the issue, we can ask XO to check again by saying “check again” or “how about this new answer”:
Quizzes can be made fun when we add some “flavors” to them. Specifically, we can ask XO to generate quizzes with a given background story, character or theme. XO will be happy to do so. For example, you can pretend to be any character, like an Alien:
Below are some more examples that you can try:
XO can follow our instructions very well, so we can feel free to add more details to our request. Here are 2 examples.
Since XO may not know which blocks we already know, it may generate a quiz that uses some blocks that we are unfamiliar with. To avoid this issue, we can specify which blocks can be used like this: give me a coding challenge on clones. difficulty 1. note that I am new to Scratch and I can only use motion and event blocks
Since XO can read the code in the playground, you can ask Xo to use that as a reference when creating the quiz. For example, you can open the Explore page and find an interesting game, then ask XO this: I’m a 5th grade teacher. I just explained this project to my class, and now I hope to test their understanding. Give me a multi-choice question of level 1 about how this project works.
If you have found any interesting way to prompt XO to generate quizzes, please feel free to reply to this post below with the request you used and XO’s response.
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:
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.
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.
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.
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.
Next, suppose the student has updated the program to broadcast the message, and also renamed the message name like this:
Sprite1:
Crab:
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.
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:
Given these limitations, XO is best utilized for static analysis of the programming elements of a project.
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:
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:
CreatiCode extends MIT Scratch by introducing a variety of new block categories including 3D game engines with physics capabilities, 2D physics, artificial intelligence, app widgets, multiplayer online games, augmented reality, and table variables. These additions allow for the creation of a much broader range of projects beyond what is possible with standard MIT Scratch.
Starting a new project can sometimes be daunting if you’re unsure of where to begin. This is when you can ask XO for help. XO has seen many different types of projects, so it can often make some suggestions on how to design a new project.
It’s important to remember that XO is primarily an assistant. While it can provide helpful tips and guidance, it cannot create an entire project on its own. XO is optimized for short, specific responses, and its performance may decline when tasked with generating lengthy replies. Moreover, as a coding learning tool, XO aims to enhance learning by encouraging students to engage more deeply with the programming process. Providing full code solutions would be counterproductive to this educational goal.
Also, XO can not generate original ideas: everything XO says is a response to your idea based on other existing projects that XO has seen before. For a project to truly stand out, your own creativity and vision are key. XO’s role is to assist in bringing your unique ideas to life, offering support and suggestions based on its vast database of project insights.
In this tutorial, you will learn how to use XO to design new projects.
Whenever you come up with an idea, you can ask XO how to build it. XO would give you an outline of the project. You are use this as a baseline to estimate the complexity of the project, and whether you are ready for it.
For example, you can ask, “how to build a 3D platformer game?”, and here is an example response:
It typically follows this format:
If you simply provide a few words for your project idea, XO will respond with a fairly generic outline. To get more original results, you would have to provide more details. As a basic rule, as you provide more details, XO’s response will also become more unique.
For example, here is an updated request:
Tell me how to design a 3D platformer game, where the player controls an Alien that can both jump and change direction in the air, and the platforms are moving themselves, and there are enemies that fire lasers at the Alien. The Alien can also pick up awards to run faster or jump higher.
Here is what XO says about it. As explained before, the originality has to come from your input.
Since XO can generate outlines for any project idea, it’s easy to be ambitious and aim for a project that might be too complex to manage effectively. For instance, numerous students have contemplated building “Minecraft in 3D” only to realize that such a project exceeds the typical scope of school assignments.
A key principle to follow is “don’t bite off more than you can chew.” This means you should aim for projects that are challenging yet still within your capabilities. As you develop your coding skills through continuous practice, you’ll be equipped to tackle increasingly complex projects over time.
Sometimes you run out of ideas on what to build, you can also ask XO to give you some suggestions. For example, you can say: I want to build a project to practice how to use ChatGPT blocks, can you give me some ideas for small projects?
You will get a list like below, which may inspire you to find your own idea:
After getting a project outline, most people are tempted to say this: “give me all the code!”. However, XO can’t simply convert the project design to a fully working project. Most likely, you will get a “disappointing” response like this:
So, what’s the right way to proceed? We simply need to focus on individual steps/features. For example, if we focus on the first step to set up the 3D scene, XO will be happily working with us again:
One area where every Scratch programmer needs help is debugging. When we say a Scratch program has a “bug”, we are really saying the program is doing something unexpected. This usually happens because what you expected to see isn’t what actually appears on the screen. Most of the time, the project is doing exactly what you told it to do through your code—it’s just not what you wanted.
Think of debugging as being a detective in your own computer game. Your mission is to find the clue—a specific part of your code or a single piece of information you’ve entered—that’s causing the unexpected behavior. You can look at each part of your code closely, or you can play detective by watching what the project does and making smart guesses about what might be wrong.
Now, you might be wondering, how does XO fit into all of this? Think of XO as your trusty sidekick in this detective game. In this tutorial, you’ll discover several strategies for debugging with XO’s support.
Important Note: Do not rely solely on XO to detect all problems in your code. XO does not execute your code but reviews it statically, which is challenging even for experienced programmers. Additionally, XO’s capabilities in logical reasoning and error detection are limited. Consequently, the primary responsibility for identifying issues rests with you, and XO should serve merely as a supporting tool.
The biggest mistake in using XO for debugging is asking questions that do not clearly explain the problem, such as “it is not working!”, “what’s wrong?” or “help me debug!”.
XO doesn’t know what you are expecting to see. Also, XO can only look at your code, and it can not run it, so it does not know what you observe when the program runs. When it is not clear what’s the issue, XO will ask for clarification:
The recommended format to ask XO to debug is to include these 2 parts:
Here are some good examples:
Sometimes, the expected behavior is obvious from the description, so you may omit it. For example:
For commonly made coding errors, XO can spot them right away. It will only report one or two such problems each time to avoid overwhelming you. Also, the problem it reports may not directly resolve the issue you are facing. Yet, you should still fix the reported problem first, then ask XO for more suggestions.
For example, here is a simple program with a variable initialization bug. XO can not only point out the issue, but also suggest how to fix it.
Note that XO understands all the new blocks used in CreatiCode, and can point out issues associated with their usage. For example, here is a common issue in 3D programs about initializing 3D scenes:
For more complex issues and larger projects, XO may not have the immediate answer. In these situations, it’s important to first figure out where the problem might be coming from by focusing on specific parts of your project. You can often determine the most important parts to look at by thinking about how your program is supposed to work. For instance, if your character isn’t moving when you press a button, you should check the parts of your code that are supposed to respond to button presses and make your character move.
If you’re not sure which parts of your code to look at first, you can get XO’s help. If you explain the problem well, XO can help figure out the best place to start looking.
As a practice, please open the following project and remix it:
https://play.creaticode.com/projects/6616a1a7564fc287b0e9b879
Next, modify this block to set the y speed to -450 instead of 450, which will be the bug we try to find.
Then you can ask XO to help locate the issue, and it will suggest a few relevant places:
Another commonly used debugging technique is called “Rubber Duck Debugging”. The idea is to describe your code to a rubber duck toy that will listen to you. This process often helps us rethink the logic of the program and identify flaws. In addition, it forces us to pay attention to every block and every input as we describe the code. It sometimes helps us spot small mistakes we have overlooked.
XO can serve a similar role as a rubber duck. You can simply tell XO to serve as your rubber duck, or you can click the question mark button directly:
After this, XO will enter a special mode: it will respond with short sentences, assist you in walking through your code, and point out any potential mistakes as you talk.
For example, with the issue of wong y speed above, XO will suggest that issue as we discuss with it:
To exit this “rubber duck” mode, you can simply clear the chat to restart the conversation:
Yes, please feel free to post in the tutorial category: https://www.forum.creaticode.com/category/17/tutorials
Thank you
It should be able to write code for you and display them visually. As shown above, when you ask “how to use the ‘for’ block”, it would show you an example program as visual blocks, and you can directly copy that into your playground.
If that doesn’t work for you, please share the prompt you are using, and we will investigate why.
Thank you
Bin