March 2, 2017 by wendy
Super Scratch Programming Adventure! as the title implies combines programming with adventure. It not only teaches the reader how to program in Scratch, but also engages the reader with an action-packed storyline.
Scratch is a graphical programming language that is designed for young people and other beginning programmers. Using Scratch, you can design and create interactive animations, stories, games, art, and music by simply dragging and dropping coloured blocks. You can even upload your projects to the Internet to share with friends, family, and people from all over the world.
A solar storm unleashes the Dark Wizard from the digital world. He and his Dark Minions attempt to take over the real world, but Scratchy, Mitch, and the Cosmic Defenders are determined to protect the universe from the Dark Wizard’s plans.
The story progresses through a series of stages, where each stage presents a challenge from the Dark Wizard. Scratchy, Mitch, and the Cosmic Defenders must solve each challenge using directions from a secret manual. The reader must follow the directions to help complete the programming missions, and protect the balance of the universe.
What I love most about this book is that it combines literacy with computing. I used this book with a class of 10 students between ages 8 and 10, and they were all captivated by the story. Because the story gave the programming projects purpose, my students were motivated to complete each mission, and they were excited to find out what would happen next.
The story also blends learning from other subject areas. In one stage, the Dark Wizard takes control of the Louvre museum and all of its art in Paris. To complete the programming challenge, my students created a quiz with questions about the Louvre and the Mona Lisa.
Each programming mission demonstrates a different type of Scratch project and comes with easy-to-follow, step-by-step instructions. In this way, the projects cover a wide range of concepts. They also introduce a variety of features and tricks in Scratch.
What I personally enjoyed when working through the programming projects with my students was the movie references. There are references to Indiana Jones, The Matrix, and Harry Potter. Although the book is designed for young learners and beginning programmers, I think everyone, from young to old, from beginner to expert, would have fun with this book.
My only concern is that there is a big leap in terms of length from the first project to the second. The first project can be completed in one sitting. My students between the ages of 8 and 10 completed the project in under an hour. All of the following projects, however, are longer, and may require two or more sittings.
There are two editions of the book. One is blue and covers Scratch 1.4, which is the older downloadable version of Scratch. The other is green and covers Scratch 2.0, which includes both the online and newer downloadable versions of Scratch. Even though the second edition is more up to date, I was able to use the first edition with my students, who completed the projects using Scratch 2.0 online.
You can download the projects for this book from No Starch Press, which includes complete working projects, blank projects, custom sprites, and a brief Getting Started with Scratch guide written by the Scratch team.
The reason why they provide both complete working projects and blank projects is to support different learning styles. The complete working projects allow young learners to explore and build on the projects while the blank projects allow students to add their own programming by following the instructions in the book. In both cases, students have the opportunity to improve the scripts, and customize and extend the projects.
The website also links to additional resources for educators:
Super Scratch Programming Adventure! is written by the Learning through Engineering, Art, and Design (LEAD) Project, which was founded in 2005 by the Hong Kong Federation of Youth Groups in partnership with the creators of Scratch at the MIT Media Lab and the Chinese University of Hong Kong.
September 30, 2015 by wendy
I recently came across a paper written by Mitchel Resnick, head of the Scratch team, and Eric Rosenbaum, co-creator of MaKeyMaKey, called “Designing for Tinkerability” that caught my attention. It made me wonder. What is tinkering? Why is it important? And are there tools that teach coding which promote tinkering? Let’s find out!
According to Resnick and Rosenbaum, tinkering is playful, experimental, and iterative. It allows the learner to constantly explore, try new ideas, and refine their work. Instead of starting at the top with a concrete goal and working their way down, tinkerers start at the bottom by experimenting with different possibilities and work their way up to their goal.
Tinkering is important because it promotes creative thinking and resilience. Tinkerers learn to iterate, adapt, and take risks. It may seem like tinkering is aimless and tinkerers don’t fully understand what’s happening, but as Resnick and Rosenbaum point out, they understand bits and pieces that will eventually fit into a bigger picture.
For a tool to be tinkerable, Resnick and Rosenbaum say that it must incorporate three key principles: immediate feedback, fluid experimentation, and open exploration. Here are a few websites that encourage tinkering for you to try.
September 8, 2015 by wendy
Congratulations! Today is Project Day! Your students have accomplished a lot over the last 9 sessions, and today is their chance to share what they’ve learned.
Project Day can take many forms. Students can share their projects by presenting them to the entire class, giving demos in small groups, or displaying them in a fair-like setting. Choose a method that works best for your class.
Before getting started, give all of your students a chance to reflect and celebrate their successes. Ask your students to think about their journey.
If needed, give your students time to put the finishing touches on their projects and upload them to the class studio. Suggest to students who are finished to ask others to test their projects, help others to complete their projects, or plan their presentations. Once everyone is ready, start the presentations.
Create a celebratory mood by incorporating decorations, music, snacks, and/or guests. After the presentations, present students with certificates to acknowledge their hard work and encourage them to keep on coding!
August 25, 2015 by wendy
Have you noticed that games and apps often track information as you use them? This week, we’re diving into variables, which allow us to store and modify data within our programs.
Why, as computer programmers, do we want to store information? Do your students have any ideas? Brainstorm things that we want to track in our projects. For example, a game might want to store the player’s name, the number of lives left, or the number of coins collected. All of these things are kept as variables.
A variable is like a jar. We can store anything inside of it and we can give it a label so that we know what’s inside. For instance, a variable called score can contain a number that represents how many points the player has earned.
Let’s see what a variable looks like in Scratch! Create a new Scratch project and under the “Scripts” tab, click on “Data”. From there, click on the “Make a Variable” button. Make up a label for the variable next to “Variable Name” and click “OK”.
Did your students notice all the new blocks that were created? Drag the circular block with the variable name into the scripts area. Click on it to demonstrate that we can use it to see its value similar to the answer block that we used for our quizzes last lesson. Drag out the remaining variable blocks and click on each one to demonstrate what they do.
Challenge your students to incorporate variables into an existing project. Maybe they can use variables to keep score in their quiz games from last lesson. Can they also think of ways to use variables in their mazes or design projects?
The remainder of the lesson is time for your students to complete their design projects. For those who are finished, encourage them to find others to test their projects and fix any glitches or bugs that they might find.
August 12, 2015 by wendy
What makes a game? Is it characters? Is it story? Interactivity? In this week’s lesson, we explore common elements of games and how we can design and build our own games in Scratch.
We’ve covered a lot of concepts over the last 7 lessons, including events, loops, timing, and messaging. All of them are important to making games, but today’s concept might be the most important.
In small groups, give your students a few minutes to brainstorm their favourite games and have each group choose one favourite game. Then come together as a class and create a list of favourite games. Discuss what these games have in common. What makes them games?
Almost all games have rules. Provide an example of a rule, like if the player touches a coin, then the player collects 5 points. See if your students can come up with a list of rules following the same sentence structure.
After listing a few examples, explain that in video games, these rules are called conditionals. A conditional starts with the word if followed by a condition, something that can be true or false. It ends with the word then, which is followed by an action, what to do if the condition is true. Revisit your list of rules. See if your students can identify the conditions and actions.
If-then-else works just like if-then except it has an extra action after the word else that describes what to do if the condition is false. For example, if I’m feeling tired, then I’ll take a nap, else I’ll play outside. Can your students think of other if-then-else examples?
To gain more experience with conditionals, have your students remix a starter project that contains conditionals like our Maze Starter Project or Quiz Starter Project above. Each project has an example of how to use conditionals and a chance for students to try it themselves!
Once your students feel more comfortable with conditionals, encourage them to add conditionals to their design projects. At the end of the lesson, ask for a few volunteers to share how they incorporated conditionals into their projects.