There is a wide range of dispositions when it comes to getting kids of all ages started in coding. Whether you’re a parent or a teacher, knowing your audience is the first step towards creating positive computer science experiences. Here are a few of the (many!) personality types you may encounter -- and how to best help them learn to code:
1. The chuteless skydiver
This kid dives right in, trying every command, without any specific plan of action. Celebrate his confidence at the keyboard while simultaneously steering this kid towards advance thinking and planning. A few years ago, a new child at our school was very proud of his Scratch expertise – which turned out to be dragging out hundreds of Scratch tiles and assembling them in nonsensical ways in the program workspace. Over time, we helped him evolve skills in conceptualizing an idea and then translating it into functional code. Helping the skydiving coder to work procedurally and incrementally, deriving satisfaction from planning a project and bringing it to fruition (not just free falling!), are behaviors you want to foster.
2. The my-parents-made-me-sign-up-for-coding kid
This kiddo’s parents are the drivers of her foray into coding. She might not have an opinion just yet about coding, but she also may not have much say in the matter, either. Empower this young coder by providing ample opportunities to make choices for herself by designing open-ended projects through which she can personalize and steer her work. Remember, most simple game code is representative of just a handful of genres (collection, avoidance, shooting, platform, etc.) and a roomful of coders can invent endless, unique cover stories for the same underlying program.
3. The rational actor
This kiddo wants to learn a new concept and then try out the associated code at the computer, one step at a time. This type of learner usually experiences success but may struggle when confronted with an information gap in which he needs a command he has not learned. Coach this child to branch out and research on his own, employing a bit of grit in finding a solution -- while tolerating a temporary state of coding limbo.
4. The angst-ridden artist
Artists can view coding as the cold antithesis of the creative, unbounded expression they live for. This is your golden opportunity to show them that -- like the paintbrush or the potter’s wheel -- coding is a tool for transforming an idea-in-the-head into something into the real world. While there are rules for using the tool, the possibilities of what you can create with that tool are nearly limitless. And with something like coding for virtual reality, even newbie programmers can produce eye-popping, immersive worlds, providing aesthetic and emotional experiences beyond the stuff of tangible matter. (Check out this free Intro to VR course from CodeHS!)
5. The happy passenger
Surprisingly, even the most easygoing of kids may be a bit tentative about coding – even if he is a die-hard game-player or social media guru! He may seem in command of tech until he has to pop the hood and get into the mechanics of writing actual code. He has some tech-savvy, but until this point, he was just happy to be along for the ride. You’ll need to help him understand that you’re going to support his efforts in transitioning from a tech user to a tech maker – through learning to code. One of my best high schoolers fell into this category and had his wake-up moment at a recent internship interview (when he realized that a real company needed real skills -- and would pay for them!)
6. The deer-in-the-headlights
These kids are completely new to coding and are a little shell-shocked at the perception that everyone else in the room seems to be “in-the-know” and they’re not. Remind yourself that they are not dumb, they are not behind, they are not lazy -- their experiences and expertise may emphasize other disciplines not immediately obvious to you. Find ways to connect with what they know: the trajectory towards mastery of any complex task, whether it’s playing piano, skateboarding, or coding requires very similar behaviors. It’s your job to exhibit patience and optimism while teaching foundational concepts and cultivating persistence through a growth mindset -- and that goes for all the learners in your care.
7. The next tech guru
This kid loves coding, knows everything about coding, wants to do more coding, watches Silicon Valley, has built a computer, and has already applied to the Stanford Computer Science undergrad program with plans of eventually working in cybersecurity for the NSA. Continue to cheer for this kid, help clear the runway for her by removing trivial obstacles -- which often exist in school settings -- and actively seek projects, competitions, and peer programmers (who may be older) as partners for her. You can invite her to help mentor others, but don’t over-occupy her time with this -- she needs (and wants!) to use her valuable time to grow her skills as a coder. Who knows, she may be the next Bill Gates, or Katherine Johnson!
The bottom lIne: Regardless of which kids – and which coder personalities you encounter (likely all of them and more!) – meet them where they are, and help lift them to the next level. You have an important role in fostering their coding foundations and building both the hard and soft skills of a coder. Onwards!
Photo composition includes image purchased from iStock photo