My first crack at writing computer code came when computers were sofa-sized and the term “web” applied mainly to spiders. At my high school, programming was the alternative elective to woodworking and home economics. It wasn’t popular; throughout my four years there, I could count on my fingers and toes the total number of students who took the course.
Today, my grade-school-age nieces and nephews can field coding questions that eluded me until well past college, and each year the starting age of coders keeps sliding lower.
This is the new normal. Children who barely know how to tie their shoes are acquiring the literacy demanded by our increasingly digital world. Before this decade ends, a whole generation of educated Americans will pass from kindergarten through college without ever touching a pen or pencil, or a piece of paper.
Meanwhile, adults who raise these savvy students still lag in this key area of digital literacy two decades after the Internet dawned. Most are clueless about the code that shapes their world. This cluelessness is bracketed by reluctance and intimidation – at first glance, coding does not look easy, so obviously it isn’t easy, right?
On the contrary. Websites such as Codeacademy, Khan Academy, and W3Schools remove much of the guesswork with step-by-step tutorials and workspaces that show what the code displays as it’s typed. Apps including Hopscotch, Lightbot, and Udacity’s series of Android and iOS training tools cross age groups and knowledge levels and are designed to match the comfort level of each.
These user-friendly tools are making code approachable, even fun – much more fun than slogging through those disturbingly dense manuals that were the primary coding assets in my youth.
With that fun comes something else: an education that extends well beyond the scope of coding’s intent. Learning to code also promotes:
Literacy – Software has become a linchpin in our lives. Many daily tasks – from watching TV to making toast to turning on a water faucet – rely on devices that in turn rely on software. While it’s not necessary for each of us to know exactly how coding operates any of these things, an appreciation for the analytical process that went into the software programming opens our minds to the way digital devices “think,” thus raising a broader digital awareness that enables us to make software more responsive.
Problem solving – That analytical process derives from computational thinking, an approach to solving large problems by breaking them down into smaller ones. We’re introduced to this kind of thinking early in school to solve basic math problems and expand upon it later to tackle business, engineering, science, music, project management – anything that deals in abstractions. Learning code hones that thinking because it requires a systematic approach essential to problem solving.
Personal growth – At first, my interest in learning to code was blunted by fear of failure (Everyone starts out writing bad code; it’s unavoidable). I dreaded the prospect of typing line after line of code only to see the wrong result – or worse, no result. This prompted me to code with care and check my work at each step. Of course, I still failed with predictable regularity, but I was slowly steeling myself against disappointment knowing the amount of care I exercised. Today’s code-training tools mitigate that kind of fear by showing results in real time. They don’t, however, mitigate the failure chronic to solution-based code writing; that comes from the exacting task of writing and rewriting the code until it’s correct.
Community – Nobody I know who can code well learned by themselves. Sure, they sifted through manuals and guides at some point in their education. But the lasting lessons and best solutions to problems came through asking questions, working in groups, and studying others’ successes and failures. Despite the stereotypical image of the solitary coder hunched over a dusty keyboard, illuminated only by the screen’s glow, coding is a communal effort shared across a room or across a continent. So, it’s safe to say the best programs are developed with precise amounts of code and liberal amounts of collegiality. As content strategist Anthony Wing Kosner said, “Once you write something as code, others who can read code can evaluate it and see if you indeed have a unique idea that can generate value.”
Change – Digital awareness, critical and computational thinking, unwavering determination, and a willingness to reach out to others – these are qualities that effect change in an office, a business, an industry. The more we know about our digital world, the more likely we can make it more responsive, and more responsible. As with anything else, big changes start with the little details – such as learning how to write computer code.