Educational Lesson Programs on Scratch

by 24viswanathanh in Circuits > Computers

2346 Views, 15 Favorites, 0 Comments

Educational Lesson Programs on Scratch

Screen Shot 2021-01-04 at 4.34.08 PM.png

Scratch is a great tool that can be used for many purposes, such as creating games, animations, and simulations. But one infrequently used purpose that has lots of potential is to make lessons to teach or explain concepts to a user. Scratch is very easy to learn, easy to use, and therefore great to make interactive lessons. Using scratch is better than making an article, video or slideshow because of its ability for the user to learn actively through interactivity, as well as ease of use and sharing.

These programs have the capability to really help people, as they have many applications. For example, teachers in classrooms might struggle to create lessons for students, especially for distance learning during Covid-19. Scratch is a creative way to give students a self paced, engaging lesson.

In this instructable, I will be teaching you how to utilize scratch to create engaging lessons to teach anyone about any idea or concept. I've created an example program explaining the basic trigonometric functions sine, cosine, and tangent, but these programs can be about anything, in any subject, such as a historical event, scientific process, grammar concept, or more.

I will walk through the method to make them, how I made mine, and general tips and tricks you can use to create your own. You can use my example as you create your own to see some of the code or get ideas. Enjoy!

Link to my example program:

https://scratch.mit.edu/projects/469039576

Supplies

- A Computer with Scratch

- A Basic Understanding of How to Program on Scratch (If you are unfamiliar with scratch, there are tutorials on YouTube to learn the basics)

Think of a Topic and Set Up the Program

Screen Shot 2021-01-04 at 3.50.25 PM.png
Screen Shot 2021-01-04 at 3.51.26 PM.png
Screen Shot 2021-01-04 at 3.53.31 PM.png
Screen Shot 2021-01-04 at 3.55.52 PM.png

The first thing to do is to decide on a concept or idea you want to explain. This can be almost anything, as long as you think you can realistically explain it in a program.
Once you have a topic, the first part of the program is the title screen. To make one, first create a new backdrop and call it "start screen." I recommend labeling everything in the program (sprites, backdrops, broadcasts, and costumes if there are multiple) with a descriptive name to keep the program organized. Then, use the text option to write the name of the topic you are explaining. Once you do this, you can decorate the backdrop however you want in the costume editor, such as adding a background color or image.

I set up my project by making each backdrop like a different slide and the user can navigate through them by pressing the right arrow. For this, on the code section of the backdrop, add the code in the images above, to make the backdrop change when the user presses the right arrow key. This is not the only way to set up the project, as you could have a home menu with different buttons to press, but I find this way the easiest to create.

The last thing on the title screen is a start button. Create a new sprite called start button, and draw a shape that says Start on it. Add the code in the image above which makes the button only appear on the title screen and no other backdrop. Then, add the code which switches to the next backdrop when the button is clicked. After this is done, the program is set up and the title screen is complete. Let's move on to the information in the program.

Add Information

Screen Shot 2021-01-04 at 3.57.42 PM.png

Now we can start explaining the topic. To do this, create a new backdrop and call it whatever you are explaining in that slide. On this backdrop, you can add text and images to explain a part of your topic. I like having a header at the top for the slide as well. You can include whatever information you like by using the text option in the backdrop editor and add images/diagrams by drawing them or uploading them from your computer. Try to keep the explanation simple and easy to understand. I recommend not having too much text on one slide, either.

For example, in my project, the first 3 backdrops after the title screen were informational. I added a header to the top (such as Right Triangles, for introducing the sides of a right triangle), and then added text and a diagram to explain the topic. Using this process, you can create as many backdrops/slides with information as you want to explain your concept, and you can add these slides wherever you want throughout the program. There is no code needed for this, just the backdrop editor.

Add Examples

Screen Shot 2021-01-04 at 4.04.10 PM.png

A great way to help the user learn about the topic is to add examples. This could be example problems, or anything that helps the user see what you are explaining in action. It is useful to have a separate slide just for this. Create a new backdrop called examples, and make a header at the top that says examples. On this slide, just like the informational ones, you can add text and images for examples. In my program, I added two example questions with solutions. This is almost exactly like the information, and there is no code needed.

Add Interactive Questions/Quizzes

Screen Shot 2021-01-04 at 4.10.11 PM.png
Screen Shot 2021-01-04 at 4.12.33 PM.png
Screen Shot 2021-01-04 at 4.17.57 PM.png
Screen Shot 2021-01-04 at 4.19.05 PM.png
Screen Shot 2021-01-04 at 4.14.22 PM.png
Screen Shot 2021-01-04 at 4.13.51 PM.png
Screen Shot 2021-01-04 at 4.14.28 PM.png
Screen Shot 2021-01-04 at 4.14.58 PM.png

A great feature of using scratch is asking interactive questions where the user has to type the answer, and you can let them know if their answer was correct or incorrect. The question appears as a pop-up, and the user has to enter an answer to continue. This helps the user learn by testing their knowledge. You can have a large quiz at the end, or have practice questions throughout the slide.

To add a practice question, first create a new backdrop called "quiz." In the backdrop editor, type the question you want to ask the user at the top, and include a diagram if needed. Then, on the code section of the backdrop, follow the code shown above. When the backdrop switches to this slide, you ask the user for the answer and wait until they respond. When they do respond, if the answer is the right answer (you type the correct answer in the empty space in the code; for me, it's 0.8), then a correct answer message is broadcasted, and if the answer is anything else, then a wrong answer message is broadcasted.

After this, create two new sprites: one for the correct answer message, and one for the incorrect answer message. For the correct answer, create a new sprite called right answer and type a message in the editor for the user letting them know they are correct. It is also helpful to add the reasoning behind the question or an explanation. For the wrong answer, do the same thing, but call the sprite wrong answer and type a message telling the user they were incorrect, as well as an explanation. On the code section of these sprites, use the code above, that makes the message hide whenever the backdrop is not on the quiz slide, and appear whenever it is called for by the broadcast.

Another option is to create multiple-choice questions. You can do this by creating sprites for each option and adding code so that whenever the sprite is clicked, it broadcasts a right or wrong answer message depending on the answer choice.

You can add as many of these questions as you want. Create a new backdrop for every question, and repeat this process for each question. At the top of the screen, it is helpful to label the question with a number (like question #1, #2, etc.) to keep it organized. These questions are a great way to make sure the user is understanding the content, and helps them learn!

Add a Game

Screen Shot 2021-01-04 at 4.24.29 PM.png
Screen Shot 2021-01-04 at 4.27.03 PM.png

Games are one of the best things about scratch and a fun addition to a lesson!

First of all, making a game requires more advanced code, so if you are not familiar with scratch code required for games, here is a good tutorial:

To make an educational game, try to add things to help the user remember things you taught. The goal of the game is to have an interactive element to have the user make decisions so they can actively learn. The type of game is completely up to you, and it can be as simple or complex as you want. Some common types of simple games are avoidance, 2d platformers, or games where the user has to click on certain things in a sequence.

There are some general rules to follow when making a game. First, create a new backdrop called "game." Then, add the instructions to the top of the screen to tell the user how to play. You can do this by adding text to the backdrop. Now, you can make your game by creating new sprites, editing the sprites' code, and editing the backdrop. Make sure all new sprites created have the code shown above that says when the green flag is clicked (when the program starts), hide, and reappear on the game backdrop when called for, so that the game elements only show on the backdrop.

Here's how I made my game (you don't have to read unless you want an explanation of how my game works): In my example, I created a game where blocks with ratios fell slowly and the user controlled the blocks to make them fall into the correct name for the ratio (sin, cos, or tan). This made the user recall the ratios quickly and helps them to remember which ratio was which function. It also did this in a fun way, and gave the user a chance to have repetition. First, I created a new backdrop called game, and wrote the instructions at the top. I also wrote sin, cos, and tan at the bottom, signaling where the blocks should fall. After this, I craeted a new sprite called falling block. I gave this sprite 3 costumes, for the ratios for sin, cos, and tan. Then, in the code section of the sprite, I started by adding a statement that hid the sprite when green flag is clicked. The sprite then created a clone of itself every 4.5 seconds when the user came to the "game" backdrop. When the clones are created, the blocks appear, choose a random costume, then go to the top of the screen and start falling slowly. The user can control the blocks by pressing the a key to go left and the d key to go right. To figure out whether the block falls into the correct function, I added code to detect whether the block with the correct costume fell on the correct third of the screen. For example, if the costume was "opp/hyp," it had to fall into the left third of the screen, where it said "sin." If they were right, a 'correct' broadcast was sent out, and if they were wrong, an 'incorrect' broadcast was sent. The block is deleted when it reaches the bottom of the screen. Finally, I added a sprite to tell the user if they were right. I called it game indicator, and gave it two costumes, a check mark, and a red X. In the code, I made it hide when the green flag is clicked, and when it receives the 'correct' broadcast, it shows the check mark for 1 second, and if it receives the 'incorrect' broadcast, it displays the X.

My explanation for the game was long, but if you were confused by my game, don't worry. You don't have to understand all the code, and you can just play the game for yourself. The important thing is you know how to add a game and general rules to follow.

Add Anything Else You Want

Those are the basic parts of a lesson/educational program on Scratch. But scratch offers so much more than just questions and games, so if you are really creative, you can add much more, such as animations, simulations, or videos. Use my example as a guide and a source of inspiration, but you don't have to follow it exactly. Make your lesson your own! Hopefully, this Instrucatble showed you the basics of creating a lesson with Scratch and inspired you to create your own. I hope you enjoyed!