Computers don’t, won’t, and can’t do anything at all, ever, without at least one human being telling it what to do. Human-to-computer communication does not follow a traditional natural language passed down and evolved through centuries of human culture, but a relatively brand new class of language: a language that controls computation. The “programming” of this language is well-grounded today and has an evasive future that will drive most industries worldwide, and will directly impact every human on the planet.
The computational languages developed by humans are becoming so independently powerful that we now refer to the latest versions as Artificial Intelligence (AI). While AI research is advancing rapidly, if computational machines develop internal “ghosts” to code themselves, as some fear, then it remains likely they will only continue evolving through a direct partnership with humanity. I mean, someone will have to keep them plugged into the power grid, right? However, if future AI can figure out how to perform the task of electrical “self-feeding”, then it will be the responsibility of humanity to be so actively embedded in AI evolution that we ensure our partnership to ensure our survival.
Until this new epoch arrives (which may be sooner than we think) when computer scientists may be the superheroes needed to keep our species around, knowing how to develop code for computers is already an essential skill today for many professions. There are currently 500,000 computer science-themed job openings in the US with only 8% of all STEM-related college majors graduating with a degree in computer science [check out the details]. The need for computational human capital clearly exists today, and if this gap is not filled, then our continued technological advancements at an exponential rate will slow.
Identifying this need for computer science education isn’t a 2019 issue. Steve Jobs called it out way back in 1995 suggesting computer science is a “liberal art” that should be taught to everyone.
So, at what age should humans begin to learn to make computers do what they want them to do? With such a professional gap and AI on the horizon for the next generation, no age may be too young. I recall first formally learning programming in high school (BASIC, PASCAL, and Turbo C++) on a 386 desktop, and my kids started in grade school with Scratch Jr on a tablet. Today, the well-funded worldwide effort from Code.org, called Hour of Code, is a primary driver in the promotion and encouragement of coding for school-age youngsters. Their efforts bring coding experience to K-12 learners through online interactive experiences as well as new training programs for teachers—from any educational background—to bring computer science to the classroom.
If You Give a Preschooler Some Code
While Code.org targets the little Kindergartener through all grades, Khan Academy developed a more advanced learning interface ideal for junior high students to adults who are just getting started. All these approaches require the learner to be a reader, so how can the excitement and creativity of code be introduced to the youngest of developing brains? From my experiences, figuring out how to introduce coding to pre-K students through presentations at area grade schools, I discovered how a combination of off-line activities and no-reading-required online interactions, such as Kodable, offer a valuable start.
Kodable does offer a free, three-day trial account option for families to get started with their kids. However, it is geared toward schools establishing a paid account and incorporating it into their curriculum. What is exciting here is that through an interactive game, pre-readers can begin to appreciate the fundamental concepts of computer programming. With the beginner level, the coder must help little furry aliens get around on the planet by assigning logic steps to direct their movement. The game incorporates voice instruction, visual guidance, and point-and-click responses with positive feedback. Did you ever see a toddler take up a tablet and learn how to navigate to the settings menu within seconds? Yep, pre-K kids can pick up on computer science logic using Kodable in no time.
Khan Academy recently launched additional opportunities for toddlers+ (ages 2 to 6) to engage with interactive computer skills with Khan Academy Kids app for iOS and Android devices. While this platform is not exclusively for teaching the youngest of youngsters to write code, it offers a learning interface implementing the Head Start Early Learning Outcomes Framework and Common Core Standards to introduce topics ranging from math to motor development that provides a direct pathway to earlier adoption of computational skills and reasoning.
Understanding how computers work and appreciating the “language of code” can also be accomplished off-line without a computer or online connection. Many “unplugged” interactive activities (old-school style) have been developed to demonstrate concepts in computer science and computer programming [learn more]. For an example that works well for pre-K on up, I use a color flashcard deck along with a “logic flow” of instruction for students to follow based on the color of the card presented. While it is as simple as a modern computational spin on Simon Says, the students interpret “if/then” statements to determine actions to take when a specific card is presented. If you see a red card, then run in place. If you see a blue card, then dance! If you see a green card, then … wait, there is no green card in the logic … so, do not change your current action! (It’s a great way to get to kids to exercise for more than a few seconds.)
Whatever the activity for any age, the key for bringing computing to pre-readers is to interactively guide them through computational thinking and hold off on having them worry about typing precise syntax into a professional-grade IDE (Integrated Development Environment).
It’s Like Professional Screentime
Parents can certainly support kids’ first dive into coding to help establish a long-term interest. Imagine gifting allowable screentime to your children with future professional benefits! You will be a hero in both your children and parent social circles.
Of course, you are not alone. A plethora of online graphical coding interfaces have been designed for all ages to develop foundational concepts to code digital creations. As your launching pad, our Coding for Kids guide from dpr features the best programs available today for your child to first learn to code and continue toward advanced digital creativity.
If you or your child has no experience coding, then the perfect time of year to start is Computer Science Education Week, which runs each year around Grace Hopper’s birthday on December 9 who was an early pioneer in computer science. This week in December features the “Hour of Code” program hosted by Code.org that encourages students and teachers around the world to spend at least one hour experiencing a coding game or project. Having served over 650 million students over the young history of the movement, an Hour of Code now occurs in over 180 countries with more than 156,000 registered events for 2018.
The Hour of Code effort is designed to inspire the next generation of youth to be excited about computing by using a visual programming language, called Blockly, to help them begin to gain a deep familiarity with code structure and logic. Check with your school as they may be planning an Hour of Code this year. If not, you can still access all Hour of Code activities online for free any time of the year. Simply preview the large collection of activities and select one that fits with your grade level and topic interest. My favorites are Minecraft and Star Wars. Some activities are more challenging than others, but each guides you through the activity and provides constructive feedback to help you learn new ideas and problem solve along the way.
After gaining a comfort level with the block-style programming featured in the Hour of Code experiences, the next step is to leverage this approach to create unique and more advanced programs. Developed by the Lifelong Kindergarten group from the MIT Media Lab, Scratch is an intuitive programming interface to create interactive stories, games, and animations to be shared with others in an online community. For younger codes aged 5 through 7, Scratch Jr. is a tablet-only experience that offers a guided approach to creating interactive games and stories by snapping together blocks, coloring characters, and recording voices and sounds. In the process of developing through the Scratch environment, children learn to solve problems, design projects, and express themselves creatively on the computer.
The Scratch interface is powerful enough to keep the attention of youth for quite some time. My daughter started with Scratch Jr. in grade school and continues to use Scratch for creating materials for middle-school projects and presentations. Just recently, she developed a Victorian Etiquette animated presentation with voice-overs, background music, user interactivity, and multiple camera views. At one point during the presentation, there was a bug (there always is a bug), and she paused the animation to open up the code for a quick fix. The classroom “ooo’d” and “ahhh’d” with the impressive back-end programming required. Now, for a middle-schooler, that is professional development at its best.
The Walt Disney Company even ventured into helping young gamers develop an appreciation for computational thinking and code logic through its interactive media group. Before closing their doors in 2016, they developed a wonderful game in 2013 called Disney Infinity that was an adventure sandbox mixing together all Disney characters. We discovered the game late in 2015 and my two kids were immediately hooked (so was I) — and it didn’t hurt that we were already a Disney-bound family. The most amazing feature was the Toy Box mode where gamers could build entire Disney-fied worlds including characters, logical elements and controllers, and props reminiscent of our favorite Disney content. It was like early childhood training for becoming a Disney Imagineer. My kids were entertained by the Disney theme, and they were creating digital worlds that had function and purpose. As reviewed by Andy Robertson (@geekdadgamer), “…you are not only having fun playing a video-game but learning transferable programming techniques, logical thinking, planning and creative world design” (~ VentureBeat.com 2015).
Learning programming with Khan Academy is interactive and designed to provide immediate feedback to coding syntax so the student is guided through debugging errors. With inline help tips and friendly error messages, the development interface helps you discover the nitty-gritty of creating with code in a snap. By the end of the learning series, your kids will be programming sophisticated web site features like an interactive slide show with animated transitions built on jQuery!
A crucial focus, however, is on helping schools and educational organizations take the lead in encouraging the development of coding skills as early as the elementary grades. While at-home informal learning experiences are incredibly valuable for child and parent, many students will have better opportunities in the classroom to branch out into the world of coding.
With summertime nearly approaching, this is a great time for educators to begin investigating how they can easily incorporate programming opportunities, such as the Hour of Code experience, into their Fall curriculum. The good news is there are enormous resources available for teaching right now. As so many schools are embedded with the G Suite for Education, tapping into the broad online resources made available from Google is an obvious next step. Specifically for computer science, Google developed the CS First curriculum for teachers, parents, and librarians to leverage for introducing computer science to students aged 9 to 14. With no prior programming experience required, educators can create a course from freely-available lesson plans and solutions and implement with online dashboard tools for tracking student progress.
The organization behind Hour of Code has developed even more online resources to use directly in a classroom as well as professional learning workshops for educators across the US to participate. Last summer, 11,000 new teachers were training by Code.org with over 25,000 in all of 2018. These teachers are changing the face of education as these types of learning opportunities are not yet standard in the American classroom. With support from the high-quality, no-cost programs from Code.org spanning grades K-12, computer science is being made more accessible for classrooms year-round.
Computer science offers a foundation for success in any career, and the need for more experienced programmers continues to grow. In the state of Illinois alone, for example, there exist nearly 20,000 open jobs in computer science, and only 6,210 students took the AP Computer Science exam. The demand is high. The supply is low. We have such an opportunity right now to help our kids develop programming skills to prepare them for an exciting and creative professional future built with code. So, start them out now with just an hour of code, and it may lead to a life full of digital creativity.