This month we’re focusing on coding. On our booklist, coding includes how to program computers, careers as a coder/programmer, and cryptography or secret codes.
This week is Computer Science Education Week, so it’s a great time to explore ways to incorporate coding ideas into lesson plans, scouting activities, and home learning. (Plus, it’s really fun.)
I tried to read the books like a codes and coding novice. This was a bit of a challenge. Prior to writing children’s books, I spent 15 years programming embedded computers (the microchips that go inside things like phones), often working with elements of cryptography.
Coding Games in Scratch
by Jon Woodcock (2019)
You don’t approach this like a typical book. Rather, you work your way through it, alternating between reading and coding. It’s very easy to follow, providing a great introduction to MIT’s fabulous free coding system, Scratch. This book doesn’t just cover coding, though. It includes ideas behind game design like themes, difficulty, and playability.
Video Game Coding
by Janet Slingerland (2019)
The title of this book may be a little misleading. It doesn’t teach readers how to code video games. Its purpose is to introduce readers to careers in video game coding. It looks at how many people work on a game, what kind of code they use, and a what the general process is.
Can You Crack the Code?: A Fascinating History of Ciphers and Cryptography
by Ella Schwartz, illustrated by Lily Williams (2019)
I love this book. It follows the history of secret codes, from Julius Caesar to modern day internet encryption. I found the explanations easy to understand, and there are lots of examples to put your understanding to the test.
As always, I have way more ideas on this subject than I have time and space to provide them. I’m going to restrain myself and give you a few things to explore and consider here.
For additional resources and ideas, you can check out the coding page on my website (http://janetsbooks.com/my-books/coding) and my STEM for Kids Pinterest board (https://www.pinterest.com/janetslingerlan/stem-for-kids).
Hour of Code
Hour of Code activities are generally designed for beginner coders. They cover a variety of coding languages and platforms.
The activities are searchable by many different variables: grade, time to complete, topics (including social studies and language arts), and available technology.
There are even activities that require no computers or other devices, just filter on “No computers or devices”.
If you want to host an Hour of Code event, you can find help to do so here: https://hourofcode.com/us/how-to.
Many of the books on this month’s list use Scratch. There are several reasons for this.
Scratch is free language, provided and managed by MIT (Massachusetts Institute of Technology). If you need to work offline, you can download a Scratch program. But if you have a reliable internet connection, you can work solely online – no program download needed.
Scratch is a block-coding language. Coders choose blocks of code they customize to create a program. The blocks are designed to fit together like puzzle pieces. This takes away the syntax errors that programmers of text-based languages run into.
It’s designed as a sharing platform, so Scratch coders can learn from and be inspired by other coders. They can also easily share their coded creations with other Scratch users.
Many of the Scratch resources online encourage users to explore Scratch in a freeform manner. This can be rather intimidating for some new coders. Following the projects in one of this month’s books introduces users to Scratch. Once they get comfortable with Scratch, they are more likely to explore new ways of using the platform.
Like Hour of Code, Scratch has project ideas that focus on different areas like art, music, and stories: https://scratch.mit.edu/starter-projects.
Escape Room Challenge
As the current state of things has moved much of our lives online, virtual Escape Rooms have become very popular. There are many escape rooms out there to try. But how about challenging young readers and coders to create their own?
Designing an escape room can put into use computer coding ideas, game design elements, development processes, and cryptography skills. The experience will give young developers a taste of life as a video game designer/coder.
There at least 2 free platforms that could be used to develop an escape room – Google Forms and Scratch. Here are helpful resources for these.
Google Form: https://www.bespokeclassroom.com/blog/2019/10/4/how-to-build-a-digital-escape-room-using-google-forms
Developers will follow the basic process described on page 29 of Video Game Coding. They can use the secret codes described in Can You Crack the Code? and consider the game elements discussed in Chapter 1 of Coding Games in Scratch.
Plan out the stages of the escape room, including the puzzles and/or challenges players will face. This is the pre-production or design stage of video game coding. The platform will determine the level of design required.
The first decision is what theme to use. The escape room could be based on a favorite book, character, or fictional world – like Harry Potter, Pete the Cat, or Star Wars. This could also be an opportunity to create new characters, stories, and worlds.
How many levels will there be? What are the challenges players will face? Make sure each challenge makes sense to get the player from one level to the next.
This is a creative process that mirrors fictional story writing. Characters need to be developed and worlds built. The progression through the levels is the plot. Challenges should work with the chosen world, character(s), and plot.
How are players working through the escape room – individually or in teams? Does that change what the challenges look like?
If coding in Scratch, are players represented on the screen? If so, what do they look like and what are they able to do?
Once the overall story and challenges are planned out, it’s time to move on to the production stage. This is where designers create the art, puzzles, and code needed to turn the escape room into reality.
In Coding Games in Scratch, readers learn to code a little then test a little. Build a part of the game, then try it out to make sure it works correctly. This is a great way to develop a game or program. It helps identify where problems are by keeping the testing area small. It also helps ensure programmers don’t incorrectly use a coding element throughout an entire program.
Once the initial escape room is put together, it’s time to move on to the post-production phase.
The escape room needs to be tested. Each path through needs to be checked for errors. This is often one of the most tedious portions of coding and game development. Once the designers have done their testing, it’s time to get a beta tester.
Beta testers are new to the game. Can they understand how to start and how to progress through the challenges? If not, the designers may need to add additional instructions or learning steps.
Beta testers may move through the escape room in a way the designers didn’t anticipate. This can highlight other errors or omissions that need to be corrected.
Each time a designer makes a change, they’ll need to test out everything to make sure they’ve solved the problem without introducing any new ones.
Once designers are confident their escape room is working the way they want, it’s time to release it to a broader audience. Invite classmates, friends, and family to try out them out.
This would be an excellent time to have a celebration. Developing something like this is a lot more work than people realize. Finishing is a huge accomplishment.
I hope this has given you some ideas for exploring coding. There are so many more out there. I hope you take the time to explore and code.
Janet Slingerland has written more than 20 books for children, including several about coding. To find out more about Janet and her books, check out her website – http://janetsbooks.com – or visit her on Facebook, Twitter, or Instagram.