Tag Archives: coding

The History Curriculum in 2023 (Marking)

Way back in 1996 (a millenium in Internet years) I was teaching at the University of New Hampshire as a fill in for someone on sabbatical. Early in the fall semester I got a memo (not an email) offering faculty members a chance to attend a workshop where we would learn how to put our syllabi on the World Wide Web. I signed up and spent two hours learning to write HTML code via green text on a black screen. At the end of the workshop, both of my syllabi found new lives online and the rest, as they say, is history.

This was not my introduction to coding, but it was by far my most successful foray (there is no need to discuss what grade I earned in Introduction to BASIC Programming in college). I continue to bless my luck that I learned to create web pages the old fashioned way, because I’m just lazy enough that had I started with a program like DreamWeaver, I probably never would have learned the underlying code that drives my websites. At the same time, more than once I’ve wished that I had had the time to really learn XML and CSS at the level that I need to know them. I even own a guide to simple programming in Python, not that I’ve ever gotten past the Introduction.

Because the tools of digital technology are increasingly so user friendly, fewer and fewer of our students are spending much, if any, time at the command line, or even in the source code for the content they create online. In my experience, most history majors don’t even know what “metadata” means, much less how it influences what is served up to them by Google or other search engines.

If we let this situation continue, we are doing our history students a real disservice, both when it comes to teaching them about our discipline, but also in helping them prepare for careers after graduation, whether in history or many other fields.

It’s a reasonable question to ask why history majors should learn some of the basics of coding. As Audrey Watters points out in her post on the more generalized version of this question, “Coding for the sake of coding doesn’t really get you much.” Audrey quotes Jeff Atwood who points out that good software developers don’t write code because they love code, but because they want to solve problems. While Atwood is making a plea that we not teach everyone to code, I think that his point about problem solving is exactly the reason why history majors need to be introduced to the basics of coding.

To put it more directly, good historians, like good software developers don’t study the past because we love musty old documents or to see our names in print, but because we want to solve problems. Our problems are different from those faced by software developers, but problems they remain. How many times have to urged your students to answer a question in their essays? That question is a problem that typically begins with the word “why.”

With the advent of super massive databases of historical content, students of the past are facing a new species of problem. How can we mine these databases for the information we want? How can we recognize patterns in those data? How can we organize the material we extract? How can analyze what we’ve found and organized? How can we present those data in ways that are compelling and explicable to our audiences? And how can those presentations happen across multiple platforms (laptop, tablet, mobile phone)?

Historians and other humanists are starting to take seriously the notion that coding, whether to extract and manipulate data or to present it in elegant ways (or both) are skills that students of the past need to acquire. But only a few historians thus far. Examples worth taking a look at include my colleague Fred Gibbs, Caleb McDaniel at Rice University (see his posts on learning Python), Miriam Posner at the University of Minnesota, Jeremy Boggs at the University of Virginia, and everyone else working on the Programming Historian project.

I can’t pretend to say that I could teach my students how to code, other than how to work with HTML and CSS, but I do recognize just how important it will be for our students going forward from 2013 to develop skills that I don’t have. Not every history student needs to learn to code, but I think we do our students a disservice if we don’t (a) make the option available to them and (b) strongly encourage them to avail themselves of this option. Those of our students who do develop these skills will almost certainly find doors open to them that the standard history major, MA, or PhD will not even be able to knock on.

Coding in History Education

My colleague Fred Gibbs recently posted an excellent overview of some of the issues surrounding coding in history education. To teach coding or to not teach coding is an issue I’ve wrestled with for years and have, thus far anyway, always come down on the side of not teaching it. For one thing, I’m not much of a code monkey myself, and so I could only teach very limited skills to my students. In fact, most of my skills fall into the category of site design (not that this site is an excellent example of such skills), and so I’m really not going to be much help to my students.

What I have made a strong case for in various venues over the past few years is that we have to teach our students higher order technical skills, especially information search, retrieval, and analysis, if we want them to be able to take advantage of the wealth of historical content now available online. To leave it to Dr. Google or Dr. Yahoo to teach our students these skills is to abdicate our responsibilities to our students.

I checked, and the first time I raised this issue here was in 2007. Since then, I’ve incorporated teaching search and retrieval skills into all of my classes and, overall, my students seem to appreciate the time we devote to the topic. This semester I’m teaching an honors research seminar in the program I direct these days and I’ve assigned The Craft of Research (Booth, Colomb, Williams, 2008) and this book devotes exactly one page to searching the Internet for sources. (75-76) As a result, I’m devoting a lot of time in class to working with such sources, because much of what my students will be working with will be found online.

But I’m not teaching them anything that might be considered coding, and because this is an honors program I do feel a little guilty that I’m not. After all, shouldn’t our best students get the most sophisticated work we can offer?

Fred makes a very useful distinction between programming and scripting–a distinction I hadn’t really thought about until I read his post. I think that if we can lower the entry barrier on scripting, then teaching that, rather than programming, holds much greater promise.

At its simplest level, one way to get students to think about scripting is the “advanced search” feature on most search engines. The search interface does the actual scripting for the user, but it seems to me that this interface is the best place to introduce the concept of scripting. Once students play with those tools a bit, then they can be shown the advantages that more sophisticated scripts might offer them as researchers.

Will that inspire them to start coding? Perhaps…but likely not. I have taught long enough to know that only when something we are teaching becomes intrinsic to the entire course–not just to this week’s assignment–will large numbers of students buy in.

Fred says in his post that he’s intending it to be the first in a series. I look forward to reading whatever comes next.