In gearing up for the Mozilla Webmaker #teachtheweb MOOC, I’ve been looking back at how I’ve learned to code what I code. Where did I begin? What did I already know? How did I decide which pathways to follow?
I began “webmaking” in IE-whatever at the turn of the century in an attempt to keep up with Bethany Nowviskie. I spent a lot of time nesting tables and editing Blogger templates. Once in a while I put together a WebQuest for my kids at school using some Flash or Fireworks buttons (like an emboss). I made some pages out of photos I took while on exchange in the Yucatán. I made a blog called “Love in the Time of George W,” which no one read, but which kept me busy on the night shift at the reference desk during grad school. I’m still upset by how Texas gutted its CHIP program. (That blog had a pretty kicking dog-with-blue-eyes logo, though, if I do say so myself.)
Then I just kind of stopped learning. It’s not that I didn’t use classroom technology or have kids blog from time to time in response to literature; it’s that I got caught up in chasing after my idea of what it meant to be a “good teacher.” I assigned a lot of reading, writing, and word study, some of it technologically-mediated, but most of it consumptive. The production tasks I assigned students – apart from the aforementioned blogging – were largely offline and teacher-directed. I also played a lot of video games and began my on-going crash-course in being a dad.
I’m still enrolled in that particular course, but I find that as I learn and code more, I play video games less, especially the expensive ones. Now that I’m interested in webmaking, I sometimes go weeks or months at a time without playing a commercial console title. That’s a big deal for a kid who grew up playing ceaseless back-to-back seasons of NHL94 as the Whalers. I still have a soft spot for flexible learning tools like Minecraft and micro-sims like Kairosoft games, but I think I like them because I feel like one day I might be able to make something similar to them. Certainly, the occasional weird game still captures my imagination – like Starseed Pilrgim. Overall, though, my hunger for consumer gaming has gone down as my hunger for coding has risen.
At that point I had learned enough to make frankenpages with word-toys and text-generators, including a rough sketch of my official “best game idea ever,” Run, Sandwich, Run! I worked with some kids in my classes on coding this or that. We coded a button-mediated, dark-humor kids’ book called “There’s Glue All Around You.” We mixed a lot of Minecraft, modeling, and red-stone into the projects we negotiated together; my kids learned to build really complex circuits and mechanisms inside the game. I, on the other hand, stopped pushing myself to learn more coding.
I remained dedicated to remaking school. I ran hack jams for educators looking to foster democratic education and participatory learning. I just couldn’t imagine myself being as successful with code as I felt when I talked about hacking curriculum and learning spaces.
But then stuff clicked. Last summer, #ds106 brought me back into making art with new media (dammit) and the “slow hunch” of the “adjacent possible” unfolded in my head. I got better at asking Google the questions I needed to answer. I came to the supreme realization of coding that arrives after you accept your fear of making mistakes:
People just make this stuff up.
I don’t meant to say that there aren’t consistent methods, maths, and operations that make code work. Certainly, parts of code are affixed to parts of logic, math, and computation. Knowing the rules helps. But the rest of it is just fiction and speculation waiting for someone to dream it up and wrap in brackets.
I used to imagine that there was this vast library of variables, functions, and divs that I could never read or understand. I used to think that what separated coders from non-coders was scholarship and immersion in some kind of giant code base that I could’t possibly learn. The path not taken.
I mistook coding for scholarship, but it’s really authorship. I thought I needed to be taught coding and that I could not learn it. That I had missed a window. That coding followed a neat progression of courses like my liberal arts education. That you only get one of. At college.
Of course, when I was a kid I thought that people traded houses when they moved and that cable-TV-content-on-demand would never take off because The Muppets was a Friday night ritual, dammit. So all of this could just be me. Or it could be that in the United States we’re teaching the humanities in such a mechanistic and atomized manner that we humanists often deny our own ability to code all together. We were never good at math. Or it could be something else: I, in fact, didn’t do too well in Algebra II, which was taught by my high school’s computer science teacher. Who knows. I’m sure it’s a ++ of things in the loop of my life of the mind. Happily, though, I’ve learned to stop worrying and to love the code – along with the critical and pedagogical problems and opportunities that come with it.
With the help and support of friends at the National Writing Project, the Mozilla Foundation, Teen Tech Girls, and #nerdcamp, I started thinking of myself as a coder, as well as a teacher, husband, parent, gamer, writer, and reader. I even repaired an appliance because I thought to myself, “Hey, it can’t be that different from coding.”
It’s never too late to learn to code. There’s no right way to do it. Wonderful people can help you find ways to learn when you get stuck.
I am excited for #teachtheweb not only because it will help our kids write the future of society, online and off, but also because it will bring us together to make something. It will bring us together to learn in community. It will bring us together to support one another and solve one another’s problema. (And because it gives me a chance to offer study groups on HOMAGO for teachers and HTML toy-making.)
It will, in short, be what our schools and societies should be, could be, and may yet be with care, humor, determination, and belief in each other and our shared power to write the variables, functions, and divs of a country that does not yet exist.
But we are marching towards it.
Hand-in-hand and line-by-line.