Welcome to 2020! New year, new decade, and for many of us a time to set new goals. As I’ve been teaching coding through ThoughtSTEM programs, I’ve had many kids and parents ask me for tips and resources to learn and practice even more coding at home. Learning to code is a great goal for 2020 and because I embrace the saying that “a goal without a plan is just a wish,” I have compiled (I couldn’t resist the pun!) a list of free resources to get your kids coding in the new year. Keep in mind that the best way to reach a goal is to have a SMART plan (Specific, Measurable, Actionable, Reasonable, Timely) so establish a regular block of time each week to have your child play one of these games and recognize milestones along the way - hopefully your child’s passion and skill level for coding will continue to grow throughout the year!
1. Scratch Jr.
ScratchJr is a free app available for Apple and Android tablets. Children snap together graphical programming blocks to create interactive stories and games. As children piece the blocks together, they are in effect “coding” characters to move, jump, dance, and sing. ScratchJr was inspired by the popular Scratch programming language developed by MIT (for children 8 and up to learn to code). ScratchJr has a simplified graphical design that does not require reading skills - engaging the youngest children. ScratchJr also offers suggested online activities and projects to help parents guide children to learn and discover the power and joy of coding.
2. Blockly Games
Blockly Games is a series of block-based interactive games in which students drag and drop blocks of customizable instruction to implement a sequence of commands. As students piece together their commands, they are effectively writing code - a set of instructions for their character to reach an intended goal such as completing a maze, helping a bird gather worms, or composing music. The instructions given are followed precisely - allowing students to see exactly what their code produced and make needed adjustments to reach their goal. There are multiple games with 10 levels each, allowing kids to progress their coding skills and achieve different types of output, including animation and music.
3. Code Monster (and Code Maven)
Code Monster features an animated monster who guides students to alter written code. Below the monster are two adjacent boxes, one displaying lines of code (input), the other displaying the code’s result (output). The monster’s text box will prompt the student to change elements of the input code. As students change the code, they immediately see the result of the change in the output box and begin to internalize coding logic. The monster’s text box then offers an explanation as to what the code change affected, reinforcing the meaning and logic behind each line of code. Exercises are progressive and as children move through the games, they will understand more challenging concepts and build more complex output.
For children who are not into monsters, there is also a Code Maven version of the game with the same coding exercises.
Scratch is an easy-to-use programming language designed by MIT’s Media Lab. Children can choose from a variety of backgrounds and characters, referred to as “sprites,” to develop animations, games, and stories. Using snap together and customizable “Scratch blocks,” children can organize a sequence of commands to add additional sprites, move sprites, change backgrounds, and add sound. With nearly 100 backgrounds, hundreds of sprites, and customizable blocks, the possibilities are endless. The code blocks are written in everyday language, such as “turn left” and “move forward”; Scratch is available in over 150 countries and 40 languages and will run on desktop, laptop, and tablet web browsers.
5. Code Combat
6. Swift Playgrounds
Swift Playgrounds is an iPad-only app that allows children to write code in Swift, an intuitive open source programming language created by Apple for building apps on iOS, Mac, Apple TV, and Apple Watch. Challenges require children to write Swift code logically to navigate an alien-like character through a 3D world to reach his goal. Kids will work through challenges that include more advanced concepts and skills - like loops, if/then statements, and repeats - required to write real apps.
Codecademy is an online catalog of courses to teach and practice coding. Courses cover a variety of curriculum- including foundational topics like computer science history and computer science career paths. There are also curriculums to learn languages such as Python, Java, and SQL, courses in Web Design using HTML and CSS, and courses in Game Design using Phaser. Many courses are free, although there is a PRO version to allow the student to access more advanced content.