Teaching: The Hour of Code

I’ve not talked much about my teaching of late, because, frankly, I’ve been busy.  VERY BUSY.

What I’ve been doing

Neil Gaiman observed that some angels fall. Others are pushed.  In my case, the thing that I was pushed into with my new-this-year Computer Science classes was the Hour of Code. Last week, in honor of the 107th birthday of “Amazing” Grace Murray Hopper, the inventor of the compiler, students and teachers across the US and around the world were invited to use online and offline tutorials to begin the process of teaching computer programming to younger students… K-8 ideally, but anyone, really, that’d be nice, thanks.

And so that’s what I’ve been doing for the last few weeks with my spare time.  WOrking through Khan Academy’s fairly decent 20-hour program in Computer Programming, running some tutorials with friends, reading some books with titles like JavaScript: the Good Parts, and JavaScript: the Missing Manual (why on earth does anyone write computer code training manuals books like this?? Are they all like this??), and writing little animations and working through code cycles to learn programming at even a basic level.

Wow.

I’d say I’m a lesson or two ahead of my students, but I’m not sure that’s true.  In some ways I’m ten or twenty lessons ahead of them.  I had BASIC programming experience when I was their age, so some computer concepts and contexts like IF… THEN… and WHILE… are familiar to me. Other concepts are completely new, like creating a variable that’s actually a function();, which does something in the program.  And this is startling to me, because it explains some of the links between the BASIC programming I did as a kid, and more complex programs like word processors and spreadsheets.  I’m starting to understand how these program developments became possible.  That’s exciting to me.

What’s annoying

And yes, I’ve read “Why Johnny Can’t Code,” by David Brin, and a bunch of other articles, going back to the late 1980s — a colleague of mine has been saving documents and articles about coding for a long, long time.  It’s kind of upsetting that this has been a problem for this long — but it’s also not surprising.

Coding is hard.

I don’t think I appreciated how hard it was until this week — or how difficult computer hardware- and software- makers had made it to learn how to code.  Earlier in the week, I tried to show a group of students how to write a webpage in HTML, and I could not do it. Sure, I could open specialized programs that let you do formatting with Bold, Italic , and Underline buttons, or create bullet lists, or format text in a variety of ways… but I couldn’t just show them how to write HTML code, like we did back in the early days of the ‘Net in the late 1990s.   I coded some particularly complicated webpages by hand, back in the day, with raw HTML… and I wanted to be able to show that link between the ‘ancient past (just a few years before my students were  born, actually…)’ and modern webpages, without going too deeply into CSS (Cascading Style Sheets), which I don’t know at all.

Couldn’t do it.  Not on Monday, nor on Tuesday, nor on Wednesday. Finally figured out a workaround today, but it was a real challenge to figure out how to code a page so that it would render as a webpage, as opposed to an unformatted page with a lot of <H1>Stupid Links</H1> that looked like HTML without being HTML.  Annoying.

A Request

It occurs to me that if the big software and hardware developers want more coders, they should provide more native tools on their computers for teaching the basics of coding, and allowing students to see the explicit links between HTML, JavaScript, CascadingStyleSheets, and other forms of code.  I’m not saying they have to make their programs open-source, though that would be nice, but they do have to provide the tools at computer startup that make computer programming easy to access and begin to understand. The Hour of Code, and the follow-up tutorials, are a great start.  I just wish more were available right out of the box.

In the meantime, I’m pleased to be learning to code.  It’s a pretty exciting addition to my skill set, assuming I can get good enough at it.  At least for the moment, all I have to be is slightly better than my students.  Age, experience and practice will gradually assure me of staying slightly ahead of the incoming kids for months to come, at the very least.  I hope.

Liked it? Take a second to support Andrew on Patreon!
Become a patron at Patreon!

One comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.