Andrew C. Oliver
Contributing Writer

How to teach kids to code

analysis
Nov 29, 20126 mins

Like many programmers, the author is self-taught, but we need meaningful learning experiences to feed the huge future demand for coders

I grew up in Lake County, Fla. When I was six years old, I was determined to have an IQ high enough to enter the โ€œgiftedโ€ program. This entitled me to go to a special โ€œgifted classโ€ once per week.

When I was eight, I was introduced to microcomputers. As county administrators upgraded their computers, they shipped their hand-me-downs to โ€œthe gifted center,โ€ where the old boxes were used to teach โ€œgiftedโ€ kids about computers. We were first taught a little Logo, which features a kidโ€™s programming environment similar to a computerized Etch-A-Sketch, where you give commands to move around a turtle that draws things with its pen.

[ Ever the autodidact, Andrew Oliver wonders if a computer science degree is worth the paper itโ€™s printed on. | Download InfoWorldโ€™s PDF of tips and trends programmers need to know in our Developersโ€™ Survival Guide. | Keep up with the latest developer news with InfoWorldโ€™s Developer World newsletter. ]

I was also given a very cursory introduction to the Basic computer language, including loops, inputs, print statements, and variables. We were permitted to play games like โ€œThe Hitchhikerโ€™s Guide to the Galaxy,โ€ which moved me to read the entire set of books on which it was based. It was my dream to create a different game that I called โ€œDeath Timeโ€ โ€” or โ€œDT,โ€ because all cool things are abbreviated.

Before long, they closed the gifted program. This was because most Lake County, Fla., school buildings were rotten with asbestos and termites, and in stuccoed block buildings, a broken air conditioner is pretty dangerous. Moreover, the Lake County voters in their infinite wisdom decided to vote to send an extra-penny sales tax to building prisons instead of schools, so budget cuts probably had something to do with it.

Adventures in self-teaching A short while later โ€” an eternity in kid time โ€” my father brought home a computer from work. It was an IBM PS/2 model 30; with the exception of its monochrome monitor, it was way better than the TRS-80s,Commodore-64, and Apple IIs that Iโ€™d been introduced to.

I got on to BBS sites, downloaded questionable material, and started to write โ€œdoor gamesโ€ and utilities for BBSes. I grabbed every book on computer programming from the public library, made my own simple interpreter (a mini-language to do goofy things with the screen), and learned QuickBasic (which I downloaded illegally from the BBSes because I didnโ€™t have hundreds or thousands of dollars to spend, since I was not yet 10). I also learned a bit about databases from Ashton-Tateโ€™s dBase III+, which my father used for work.

There were also periodicals like Compute and PC Magazine, which had code samples in them. I read them, saved them, and often tried to modify what the code did. By middle school, I knew a couple of programming languages pretty well.

Then they made me take a class on computers, which answered questions like โ€œwhat is a floppy disk?โ€ I was bored to tears. I later was sent to a better middle school where they showed us Lego robots. It wasnโ€™t until I took night classes at the local community college, while in high school, that I would ever receive any formal instruction on anything. I was too advanced for much of that as well.

Letting kids learn How would you give todayโ€™s kids get an introduction to coding? The computers we have now are more complicated than the ones I was introduced to in the mid-โ€™80s. Part of the appeal was making a computer do anything you wanted. But today, writing a program that asked users for their name and favorite number and printing $YourName + โ€œSucksโ€ on the screen that many times (one of my first programs) wouldnโ€™t have the same thrill.

Iโ€™ve been planning to get my youngest son deeper into computers by buying him a Raspberry Pi, a simple system that hooks into an HDMI TV and costs $25. But to begin to learn how to code, heโ€™ll need something like Logo and a language like Basic โ€” both updated for the Web era. One thing is clear: Even his very good private school wonโ€™t give enough of an introduction.

Fortunately, some smart folks are giving serious thought to computer education. Lego Mindstorm robots programmed using a variation of C, combined with an open source application based on Ruby called Hackety Hack, appear to be an essential part of youth coding introduction for CodeNow, which teaches โ€œunderrepresented high school studentsโ€ basic computer programming skills with off-campus, extracurricular training. It also gives them netbooks.

In the United Kingdom, an organization called Code Club has loftier aims: It intends to have a โ€œcode clubโ€ in 25 percent of primary schools in two years. Code clubs are afterschool activities run by volunteers. They begin with a programming language created as a joint project by the National Science Foundation and MIT called Scratch.

In New York City, we find the brainchild of Rebecca Garcia, CTO of Greatist.com. Rebecca came from a less advantaged background than I did, but at the age of 12 she had a similar introduction to computers and was able to attend an iD computer camp (her youth was more recent than mine). This inspired Garcia to co-found CoderDojoNYC. With 20 volunteers, the group taught 100 youth on zero budget. Theyโ€™re developing a curriculum to take the program further.

CoderDojoNYC was itself inspired by a program called CoderDojo in Ireland. This is a somewhat informal program that, from what I can tell online, isnโ€™t particularly prescriptive of what or how to teach aside from HTML. Kids who learn HTML will do what everyone else did with it: post cat pictures. CoderDojo seems to be moderately successful โ€” chapters are popping up worldwide, but the quality and engagement may be inconsistent without a specific curriculum structure.

In the good olโ€™ US of A, I might dream of something on a national level such as is being piloted in Estonia, but until then extracurricular programs and volunteer efforts will have to suffice. For my kid, Iโ€™m thinking a Raspberry Pi, a parent-led introduction to Scratch and Hackety Hack, and maybe Lego Mindstorms goes on his Hanukkah list to grandparents.

Weโ€™ll see where it goes from there. Maybe the idTech summer computer camp in a year or two. Do I expect him to follow in the old manโ€™s footsteps? Probably not; heโ€™ll make his own way. But heโ€™s shown some interest and Iโ€™d be remiss not to give him a basic introduction.

This article, โ€œHow to teach kids to code,โ€ was originally published at InfoWorld.com. Keep up on the latest developments in application development at InfoWorld.com. For the latest business technology news, followInfoWorld.com on Twitter.