The following is a reposting of an article from my blog, andrewbwatt.wordpress.com.
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.
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.
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.
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.