Blog Post

Learning to Program

Currently in Geoscribe, we're looking for a new programmer to help with the project. We were looking for someone in the humanities to fill that role, which got me thinking about how many of us humanists there are there who learned to program, and how we learned how to do it.

My story is that I started learning C when I was 11 or 12, because I was interested, like a lot of kids, in learning how to make video games. This stopped abruptly when I wrote a program with a bad malloc call that froze my computer, which coincided with a hard drive failure (at least, I think it was coincidental). I mostly stopped programming until college when I started writing programs to generate music. I learned Python, Javascript, and PHP, and got into web programming from that.

So all in all, programming and humanities (literature in my case) started as two separate interests, and eventually merged when I discovered Digital Humanities. It was never designed; it just happened that way. I learned to program mostly through self-study in time stolen from coursework. So, how common is this?

Part of the reason I'm bringing this up is that in the talk at UCLA about founding a digital humanities program, we've been discussing various ways of teaching DH grad students how to program. I'm curious to see how many people here are self-taught. In fact, from what I understand, most computer science majors begin programming well before they come to college. So how could we -- or could we -- design a curriculum to teach humanities students to program, assuming this would be a useful skill?


1 comment

In some ways I think my own trajectory is quite similar to yours. I played with BASIC as a kid; in high school I learned Pascal (I think it was the last year before the AP exam switched to Java) and some C/C++. I used C++ for the couple CS courses I took as an undergrad; since I've played with Python and Processing. This final step was motivated by specific questions and projects (small in scale) which I became interested in pursuing. Remembering my previous experience, I knew that certain questions (word frequencies, for example) should be quite tractable problems with just the smallest smattering of programming.

I know that some have worried about whether folks working in the "digital humanities" should know how to program; whether it should be a requirement (of sorts).

The experience of learning to program is, I think, so empowering for the horizons it opens; even if you know very little, that very little can be the chink in the black box, allowing a peak into an otherwise completely alien process. Without some experience of programming, one ends up treating the computer as a fundamentally unintelligible technology, operating according to completely alien principles alien. Matthew Kirschenbaum recently argued for the importance of programming to the humanitites, and I think I'd agree with everything he suggests there.

Here at UVA, the Scholars' Lab has run a series of informal "programming for humanists" workshops (teaching Ruby; I won't enter here into the queation why Ruby?). They will be running these workshops again this year, this time starting with an overview of HTML and CSS. I'm interested to see whether a consensus is emerging about the relevance of these sorts of digital skills for humanists.