I was excited to hear last week that Microsoft Corporation and the State of North Dakota have formed a statewide Digital Alliance, which will bring Microsoft educational resources to students in North Dakota. The program will leverage Microsoft’s existing DigiGirlz program, which provides high school girls with hands-on computer and technology workshops, and also the Microsoft IT Academy program, which gives students access to learning tools that can help them to earn Microsoft technical certifications. In addition, all North Dakota students will be given access to free software development tools through Microsoft’s DreamSpark program.
My hope is that this alliance will spark more North Dakota high school students to become interested in computer science, because nationally more college students are choosing to pursue jobs in these areas. After the Dot-com Era’s bubble burst around the year 2000, college enrollment in computer science majors declined, but that trend bottomed out around the year 2007, and since then, the number of college kids enrolling in computing majors has risen. This year, that number rose by nearly 30 percent, according to the Computing Degree and Enrollment Trends report, published by the Computing Research Association.
And there has been a lot of buzz lately surrounding the idea that we should teach our children to “code,” which is geek-speak for writing software. Just two weeks ago, the organization Code.org, whose motto is that “Every student in every school should have the opportunity to learn to code,” released a video (which has gone viral) titled “What Most Schools Don’t Teach” and it features the likes of Facebook CEO Mark Zuckerberg and Microsoft Chairman Bill Gates, among others, talking about how they got turned on to coding. The testimonials in the video indicate that most of these geeks were first exposed to computer programming in or near the classroom, and then they went on to teach themselves to code—not out of some need to learn a vocational skill, but because they became enchanted by the possibility of creating something with words.
The same way toddlers fall in love with learning new words and in learning how to use words to make parents do things for them, young adults and even young children can fall in love with learning a programming language and with how to use that language to make computers do things for them. Computer programming is an art, in the same way English composition is an art. Every computer language has its own grammar, which must be learned, and after you understand the grammar, you can push a programming language’s rhetorical possibilities, much like a poet can push language to create something original.
I think it’s important that we give our children the opportunity to learn programming languages, but we don’t have to wait until they are in high school. When I was in elementary school in Moorhead, Minn., I remember being given the opportunity to learn the grammar of LOGO, a programming language that we used to move a “turtle” across the screen in order to draw lines on that screen. Later on, I learned Applesoft BASIC, which I and my friends used to write self-contained computer programs on the Apple II computer. And all of this happened before I entered high school—not because I had teachers who taught me how to program computers, but because they gave me access to computers and to books about computers.
Eventually, as a young adult, I got turned on to another programming language called REBOL, which I used to create blogging software before blogging software was cool. That blogging software became the guts for a local (now-defunct) company intranet, and I even used REBOL to write a search engine for the Help pages on a parcel delivery service’s web site when I worked for a local IT company. Generally speaking, I’ve learned to use commands and programming languages to solve problems, but I’m not a software engineer. Far from it. For me, it’s like having a hammer or a wrench in my toolbox.
But I wonder whether we can get our youngest kids today interested in teaching themselves to program computers. I say this because we’re all spoiled now with elaborate computer graphics. When I first learned to use a computer, I was confronted with only a blank screen and a blinking cursor, and the only way the computer was going to do anything for me was if I typed a word or two onto the screen, and I had to use the correct language with the correct grammar. Would kids nowadays have the patience to learn a language and the grammar necessary to make a computer come alive in the same way?
Last week, I downloaded a free version of LOGO, and I showed it to my nine-year-old son. We entered commands to make the familiar turtle move across the screen, and he thought it was pretty cool, for about 10 minutes, and then he went back to playing with his iPod Touch.
My hope is that someday, both my son and my daughter will fall in love with computer languages, and perhaps they will, eventually. Perhaps there is something in this new Digital Alliance for the youngest kids, too.