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.
January 1, 2017 by wendy
Hello Ruby is a colourful and playful children’s book that illustrates fundamental concepts behind computers, coding, and computational thinking. It centres on a young girl named Ruby, who loves asking questions and has a lively imagination. One day, Ruby’s father leaves her five gems for her to find. She sets off on an adventure to find these gems, deciphering clues, drawing maps, and making new friends. As children and parents follow along on Ruby’s adventure, they learn helpful strategies for problem solving that apply not only to coding but also to every day situations.
Through Ruby’s adventure, children and parents are gradually introduced to computational thinking concepts. The book doesn’t cover any specific programming languages. It isn’t intended to teach children how to code. More importantly, it teaches children strategies that will help them solve problems. These strategies are not only useful for computer programmers but for everyone.
The big ideas and key concepts include understanding that big problems can be broken down into smaller ones, making plans and working with others can be helpful, and it’s important for instructions to be clear so that the end result is what everyone expects.
The best feature of this book is that each chapter comes with unplugged activities to give readers a chance to apply the concepts introduced in the chapter. The activities encourage children to use their imagination, and children and parents can experience the activities together. For example, after Chapter 2, children can design their own keyboards to learn how computers store information. After Chapter 5, children can further explore the concept of algorithms and loops by creating their own dance routines. And at the very end of the book, children can put it all together by making their own board games.
Each chapter in the book includes a Toolbox section that gives additional information for parents about the key concepts in the chapter. Parents can also find more activities on the website at helloruby.com. Overall, Hello Ruby is a fantastic resource for children and grown-ups to explore and learn about computational thinking and coding together.
December 26, 2016 by wendy
As the founder of Marshmallow Coding, I’m excited to announce that Marshmallow Coding will be returning in 2017 with a new mission.
This past year, I had the honour of working with another non-profit organization called Kids Code Jeunesse. As their Western Regional Coordinator, I helped bring their coding programs and workshops to BC. I also had the amazing opportunity to work in partnership with the BC Ministry of Education and Lighthouse Labs to develop and deliver teacher training and student learning resources to support computational thinking and coding in BC’s new curriculum. Although this experience has been incredibly rewarding, I’m ready to return to Marshmallow Coding to renew our efforts in promoting accessible computer science education for all children.
Our new mission is to become the go-to website for teachers and parents who want to find the best coding resources for their students and children. We’ll start by gathering and reviewing the top children’s computer programming books. Eventually, we hope to curate other types of resources as well, including games, apps, and electronics and robotics kits.
I’d like to take a moment to thank Renee, a middle school teacher in Colorado, and her student, Brad, for sharing a coding resource with us a few weeks ago. They had been doing some research on Brad’s new interest in computer programming, and they found not only our website, but also the IT Hare website, which contained a very helpful Beginner’s Guide to Programming Languages. We encourage anyone who’s interested in getting an overview of various programming languages to check it out.
Lastly, I’d like to thank everyone who has continued to support us over the past year, especially our social media followers. We’re excited to be back in the community, and we look forward to engaging with everyone in conversations on education and technology!
February 5, 2016 by wendy
In Part 4 of our Coding Curriculums series, we focused on computer science concepts that students in key stage 3 should learn based on the National Curriculum in England and the unplugged activities suggested in their guide for secondary teachers. Unplugged activities are important for students to understand concepts, but plugged activities are equally important for students to apply these concepts and learn through experience. Today, we summarize the skills and knowledge that children from ages 11 to 14 should learn through plugged activities.
By programming in multiple languages, students learn how to apply concepts from one language to another. If they were previously using a visual or block-based language, such as Scratch, they should attempt to apply the same concepts to a textual language, such as Python. At the same time, they can experiment with more complex ideas:
To learn about how computers work, students should explore one or more of the following questions perhaps through an inquiry-based project:
Sound is converted from analog waves into digital files so that it can be stored, manipulated, and played on computers. Students should play with changing the sampling rate to observe the differences in sound quality and file size.
By this point, students have experience with multiple programming languages, tools, and technologies. This is a great time for them to design their own creative projects. They should be responsible for setting their own goals, evaluating processes, and reflecting on their results. They should use resources responsibly and safely, and respect copyright.
Students should continue practicing digital literacy, that is, using technology safely, responsibly, and securely. For example, they should know how to protect their online identity by using strong passwords and anti-virus software, how to be safe when visiting websites and opening emails, and what to do when they come across inappropriate content.
December 29, 2015 by wendy
The guide for secondary teachers suggests that in key stage 3, children from ages 11 to 14 should shift their focus towards computer science, but that doesn’t necessarily mean more coding. Computer science is primarily about computational thinking:
Strategies for computational thinking can be demonstrated through unplugged activities without computers.
Truly understanding a problem means that you can model it in different ways. Ask your students to create representations of real-world, physical systems. For example, they could model the solar system, draw a map, or create storyboards that describe a process. Afterwards, ask them to consider how closely their models match real life and how their models can be used to make predictions.
An algorithm is a precise list of instructions that solve a problem. You can design an algorithm in many ways, such as writing the steps down in English or drawing a flowchart. Have your students design algorithms to solve a specific problem and have them compare their solutions in terms of complexity and efficiency. They should see that multiple algorithms may solve the same problem, and that there are trade-offs with each solution, that is, there is no one right answer.
Searching and sorting algorithms are well understood in computer science and reflect key aspects of computational thinking, such as pattern generalization and abstraction. Have your students execute linear search and binary search algorithms. For example, they could search for a specific card in a deck of cards or for a letter in a set of alphabet tiles, and then record each step using pencil and paper. To study sorting algorithms, ask your students to try different sorting algorithms on the same set of objects. In both cases, ask your students to compare the algorithms they tried in terms of complexity and efficiency.
Binary arithmetic is another way to illustrate algorithms. Have your students convert binary numbers to decimal numbers and vice versa. Through this exercise, students learn that numbers can be represented in different ways as well as terminology, such as bit, byte, and nibble. You can also demonstrate how computers use numbers to store information. For example, a number can describe the colour of a pixel in an image. Have your students create bitmap images using squares to represent pixels and numbers to represent colours like colouring by numbers.
Even though many concepts in key stage 3 can be taught through unplugged activities, students should still have hands-on experience with programming and various technologies. In our next post, we’ll discuss what students in key stage 3 should learn when they have access to a computer.