C++, APL, BASIC, ABC — lots of letters, so many languages; there are as many coding languages as there are applications. Some are used by many coders, while others are specific to just a few. So which languages are the right ones for kids to learn, and when is the best time to start?
Very young children easily acquire spoken language. And though programming languages differ fundamentally from spoken languages, some are within reach for preschoolers. Coding sparks creativity, providing an opportunity to solve open-ended problems. It prepares kids for life in our highly technical, interconnected world. Kids who begin learning to code early build comfort and familiarity that helps set them up to learn more complex languages and applications as they grow.
Understanding the Vocabulary
The vocabulary of coding can be confusing, but there are a few basic definitions that kids (and parents!) can learn to get started. In addition to learning specific languages, they must also develop an understanding of computational thinking, logic and sequencing:
Code: as a noun, code is the set of instructions a machine follows to perform a task; as a verb, coding is writing that series of instructions for a computer to follow to complete a task. This series is called a program.
Robot: a machine controlled by code. It collects information from its environment and uses it to perform a task. Some household appliances, such as vacuums, lawnmowers and alarm clocks, utilize robotics to complete tasks.
Algorithm: a series of steps for solving a problem, performing a calculation or completing a task.
Execute: to execute or run a program is to start (or launch) the sequence of steps or instructions to perform a task.
Programming language: the set of specific symbols and rules used to write instructions for a computer or machine.
Input: the information a user sends to a computer via a keyboard, mouse or touchscreen.
Output: the information that comes from a computer and is received through a device such as a display screen, printer or speaker.
Getting Started With Kids’ Coding Languages
Kids are commonly exposed to coding opportunities in middle and high school, but many believe that kids can and should start coding even younger. In fact, coding games and toys are a fun and engaging way to introduce preschoolers to coding. Kids are enthusiastic consumers of digital content. Learning coding languages allows them to create their own content, as well; an important asset for 21st-century kids. Code.org has specially designed learning modules grouped for pre-readers and elementary aged kids, as well as more extensive, self-paced learning sequences for older kids. Block programming is a particularly easy way to start; it’s like snapping together pieces of a puzzle. Scratch is one such language, and kids can use it to create their own Google Doodle.
Learning to code is good exercise for kids for several reasons. Coding gives them practice with trial and error, an important problem-solving strategy. Beyond learning the syntax and grammar of specific programming languages, coders also learn to persevere. Writing a program involves creating a sequence of instructions, running it, then readjusting if necessary. Coding toys and games created for kids usually scaffold this process, providing plenty of hints and cues to help kids experience success.
Visualizing Cause and Effect
One of the most effective ways for kids to learn coding is through robotics. The movements of a robot provide a tangible way to visualize the steps that were coded; throughout the process of programming a robot, kids can connect cause and effect. They learn how things work and how to break a problem down into manageable steps. Since coding provides a way to solve a problem, step by step, mistakes are part of the process. But kids can easily see when their robot does not perform as expected, allowing them to go back, isolate the error and change the instructions before executing again. Another similarly effective method for teaching coding, and one that kids enjoy, is through programming a game, where they can identify errors in their code and fix them to achieve success.
Choosing the Best Language for the Desired Application
To some extent, getting kids involved with a specific coding language will depend on their intended application. Prospective game developers will likely use C++, C#, Python or Java, and would also benefit from 2-D and 3-D modeling experience. Mobile app developers will typically use Java, Objective-C or Swift for Apple devices. Kids who aspire to program robots would benefit from learning to code C, C++, Java and/or Python. Those interested in web development might opt for Python, Ruby or PHP.
A summer camp that offers kids the opportunity to focus on coding provides the resources and support they need to gain confidence as they learn. Through specially designed projects, kids learn coding skills in interactive contexts as they create content. Galileo Summer Quest offers opportunities for programming robots, designing mobile games and telling a story through virtual reality. Our Camp Galileo programs for kids entering pre-K through 5th grades also incorporate basic robotics instruction as part of their curriculum. Expert mentors help kids learn coding skills and persevere through the challenges. They encourage each camper to take risks and stretch themselves to learn and grow. As a result of fun and positive coding experiences, kids will develop problem-solving skills and logical thinking. Gaining a working knowledge and comfort with computer programming in the digital age is beneficial for all kids, even if they don’t go on to pursue a career or hobby that requires coding.
To give your kids a fun and empowering experience with coding this summer, check out these camps in your area: San Francisco, Southern California, and Chicagoland. Register for a camp session or sign up for our mailing list to keep up-to-date with camp happenings and innovation resources. Or, for more information about Galileo camps, contact us here.