Helping Kids With Coding For Dummies Cheat Sheet
Helping Kids With Coding For Dummies Cheat Sheet
Helping Kids With Coding For Dummies Cheat Sheet
Coding is fast becoming a skill that every child needs to be educated for in the 21st Century. But
coding is taught at only a small fraction of schools, and often only at the high school level. Helping
kids learn how to code also means you’re assisting them in developing a skill that is highly
marketable and sets them apart from peers at school and later, in their careers. The topics in this
cheat sheet can assist you on getting started when your kid expresses an interest in learning how to
code.
When we were growing up, there weren’t as many applications and languages targeting novices.
Logo and Basic were the main choices! Luckily, in the past decade, programmers and educators
from around the world have developed so many languages and environments for coders of all ages
and levels of expertise! This is a short list of programming languages, applications, and
environments by age.
Ages 4–7
The general goal for coding with children as young as age 4 is to help them develop logical thinking
and “computational thinking.” Basically, this is understanding how to break apart problems and
formulate a set of clearly defined steps to solve the problem in such a way that a computer could
carry out the steps.
The Foos
ScratchJr
Kodable
Light Bot
MicroWorlds JR
Ages 8–12
Children in the 8–12 age range really rev up their coding as they advance their math skills and
improve their abilities in creating long and more complex sequences of code. At this point your goals
in guiding them are helping them expand their understanding of how code is used (apps, electronics,
and others), fostering their creativity, and building their persistence in sticking-to-it when they
encounter challenges — including debugging. Help them realize that they can build almost anything
they can imagine!
Scratch
App Lab
Hopscotch
Kodu
micro:bit
Make Code
Arduino
MicroWorlds EX
Tynker
Ages 13+
Coding with teens introduces a whole new world of making! This is usually when youth start working
in text-based languages and therefore engage in industry-standard languages and high-level
concepts. At this point, you should be motivating your young coders to think about how they might
apply what they are learning to future careers, advising them to really plan their programs, and
encouraging them to determine what languages would be best for what they want to build.
Alice
Python
JavaScript
Java
Cue
Game Salad
(Note: Alice is a teaching language, and Cue is a robot that uses both tile-based code and
JavaScript.)
Coding is a life-long journey, and Sarah has still been surprised and inspired by the programs she
can write in Scratch, even being a professional software engineer! So if you have an older coder,
don’t be afraid to challenge them with applications to build in “younger” languages. Scratch is the
first language used at Berkeley for students who might be interested in computer science —
undergraduate students! Exposure, creativity, and exploration is what matters; don’t feel the need to
force kids to move onto “real” languages too quickly — let it be a journey!
The really neat thing about learning to code is that you can literally apply it to pretty much any other
passion in life, and any other field. Our biggest piece of advice for coders in high school and college
who are considering computer science as their career path is to first choose a passion outside of
coding, and then figure out a way to apply coding to that passion. This doesn’t have to be a
requirement, but it’s a lot of fun and really inspiring to have older kids discover that they can mix their
love of rap music to their new-found excitement of computer science and make a career out of it.
One of Camille’s former students, Sean, is finishing a degree in both electrical engineering and
Computer Science at the University of Texas at Austin — he’s found his passion building more
“socially intelligent” robots.
Software companies
The most commonly talked about career path for someone interested in coding is to work for a
software company — such as Google, Microsoft, or Facebook. These companies typically hire folks
who have degrees in computer science (Bachelor’s through PhD), although have been known to hire
from bootcamps and people who are self-taught. Camille had a fabulous student, Ellie, who recently
earned a physics degree and then attended a coding bootcamp. . . and she just landed a position as
a front-end engineer at Swift Navigation! For many companies, though, the degree isn’t what
matters, only the skill set coders possess. GitHub, for example, is a company that doesn’t require
candidates to even list what school they went to, instead asking for a technical portfolio. These
companies typically provide a lot of benefits, such as high-paying jobs, good benefits, and flexibility
in schedule. Coders are usually the focus of the company, and employees can work on cutting edge
technology.
Freelance coding
One of the really neat things about the computer science industry is that you do not have to join a
large tech company to be a part of the field! People all around the world with varying levels of formal
education, from being self-taught to having PhDs in computer science, become freelance coders.
Sites, such as Upwork, help coders find people who need code written for them! A lot of freelance
coders will work on web development or mobile development, because those projects tend to be
more contained and have clearer cut lines regarding ownership. This is a great career especially for
those who want to live in places where fewer technical jobs are available. One of Sarah’s cousins
does this so they can live right next to Yosemite Park in California!
Entertainment companies
Most forms of entertainment these days involve an incredible amount of coding. For example, most
movies have huge teams of software engineers for special effects and animation. A few of Sarah’s
friends from school joined companies such as Pixar and Disney to help create some of the most
amazing features — such as the hair on Rapunzel in the movie Tangled! Aside from movies, video
games are huge efforts by hundreds and thousands of software engineers over year; for example
World of Warcraft took nearly five years to make! Companies such as Blizzard (creator of World of
Warcraft) and Riot Games (creator of League of Legends — a favorite of Camille’s son, Carson!)
employ thousands of artists and engineers to produce games. Even the music industry has software
engineers, creating soundboards, using algorithms to create new music, and discovering new ways
to engage with their audience. One of Sarah’s favorite concerts was a Taylor Swift concert where
wristbands were left on the seats in the stadium and lit up according to the music and where you
were sitting, creating an incredible light show within the audience during the performance! Finally,
entertainment parks are filled with software engineers; most notably Disney’s Imagineers are some
of the most innovative when it comes to in-person customer experience.
The really neat thing about knowing how to code is that it can be useful in pretty much any other
industry and context, without it being the main focus of your career. Camille teaches her high school
statistics students how to adjust their code on a Sushi Slots app in GameSalad to incorporate
expected value computations so that it “pays back” at rates favorable to both the players and
theoretical casino. One of Sarah’s high schoolers asked why she should learn how to code, when
her dream was to be a preschool teacher. In this situation, Sarah recommended that the future
teacher might want to create an app for her preschool students to learn their colors. Sure, there are
apps out there that probably do this, but maybe you might want to include pictures of items within the
classroom, to help reinforce the concepts even more. In any case, having the ability to code could
give you the power to enhance and improve your job in ways you didn’t expect. Furthermore, even if
you don’t code within your job, you will most likely interact with some kind of software, and that
software will most likely have a problem. At this point, you will most likely have to interact with the IT
department, and the more you understand about computers and coding, the more likely you are able
to explain and help IT resolve your issue.
As a summary from the book, here are some ideas for programs you and your young coder can
write, separated by programming language. Although these are the ones presented in this book, you
can also imagine creating almost any of these in the other languages too. When in doubt, search the
Internet for examples of programs you want to build in the languages you want to build them in—
luckily there is almost always a near-example that can help guide you!
Scratch
Helicopter Flying
Crypto Code Breaker
Rock-Paper-Scissors
Random Art Maker 1
Race
Greeter
Micro:bit
Stock Ticker
Face Maker
Greeter
Note: Be sure you have a file called “puppy.jpg” in the same folder as your HTML file so that the
image actually appears.
Picture Hider
Note: Be sure you have files called “puppy.jpg” and “kitten.jpeg” in the same folder as your HTML file
so that the images actually appears.
Webpage
Note: Be sure you have files called “winston.jpg,” “princess.jpg,” and “luke.jpg” in the same folder as
your HTML file so that the images actually appear!
Python
Number Guesser
Greeter
Art Maker
Fibonacci Printer
Java
Pizza Divider
The Pizza Divider is a BlueJ program that you can download and run inside of the BlueJ code editor.
Greeter
The Greeter is a BlueJ program that you can download and run inside of the BlueJ code editor.
Number Sorter
The Number Sorter is a BlueJ program that you can download and run inside of the BlueJ code
editor.
Phone Number Finder
The Phone Number Finder is a BlueJ program that you can download and run inside of the BlueJ
code editor.
10 Ways to Invest in a Kid’s Coding Future
There are so many ways to invest in your young coders coding future. Though a computer with an
Internet connection and time and dedication are some of the best ways to invest, this list gives an
overview of some of the ways parents we know have dedicated time or money to support their
children in their coding adventures.
Coding workshops: Coding workshops are often 1-2 hours and are often held at community
centers or libraries. They vary in price, but provide novice coders with a sense of community and an
easy-to-finish project that they can feel proud of.
Coding camps: Camps are typically more expensive but offer full- or half-day’s for at least one
week. These are great for school breaks and students often finish the camp having completed a
larger project and having a sense of what to do next, on their own.
Coding classes (in person): In person coding classes are typically once per week and can happen
during the school year (after school or on weekends). Students are often learning something specific
and there is a guided curriculum, but they still gain a sense of community and growth.
Private tutors: For your budding coder who really wants to build something specific, a private tutor
can help get your young coder ready for a high school or college class, support them outside of a
class they are already taking, or help them create a very specific project that they have in mind.
Coding classes (online): Online classes are great for asynchronously learning; with the ability to
watch videos, pause them, and re-watch them, students are able to learn a variety of things without
the hassle of leaving their home. Sometimes you can still get a sense of community, depending on
the platform.
Lego Mindstorms: Lego Mindstorms is an entire kit that integrates coding and robot building. A
young coder can work on this on their own, or even create a team of people and recruit an adult to
help lead them through the curriculum provided by Lego in its Education set.
Computers and devices: A big question is always what kind of device to get for a young coder.
Often hand-me-down computers (OSX or Windows) can be useful, as long as they can run the
programs your young coder is looking to run. If you’re primarily working on the web, a Chromebook
can be a great option (especially for Scratch coders). And every day more apps are coming out,
making mobile devices more accessible to young coders too.
Software: Most software that a young coder will want to use is free; however, sometimes it can
make sense to invest in software to support the entire development process. Software like
Photoshop or Illustrator can invite more artistic folks into the coding world, integrating their creations
into software like Blender or Maya to create games in game engines like Unity.