Can Humanities Undergrads Learn to Code?

A recent NITLE Digital Scholarship Seminar, “Teaching DH 101: Introduction to the Digital Humanities” prompts a response from two undergraduates at the University of Pittsburgh.

We were surprised to hear during the December 16, 2011 NITLE web seminar on undergraduate digital humanities (DH) instruction a recurring motif along the lines that coding (markup and programming) is so difficult that undergraduates trained in the humanities cannot learn it quickly or successfully, and so potentially alienating and anxiety-provoking that it should be regarded as too advanced to be considered a core component of the undergraduate DH curriculum. As two undergraduate humanities majors (English Literature and Linguistics) with no prior technical background, we would like to share our own experiences with learning and using computational tools. We hope that our very positive experience will encourage faculty elsewhere to give their undergraduate students the opportunity to become deeply and seriously involved with this exciting and rewarding aspect of DH scholarship.

Admittedly, unfamiliar technology may initially appear overwhelming. Many humanities scholars (our past selves included) experience a moment of panic when viewing “code,” which is often regarded as obtuse and amorphous scrawl best left in the capable hands of the more mathematically inclined. As past subscribers to this overgeneralization, we would like to point out that the type of coding used by most DH scholars is no harder, and perhaps easier, to learn than any foreign language. As many humanities majors can testify, learning a foreign language may initially seem overwhelming, but the rewards are substantial.

The primary types of computational tools we employ, XML and XML-related technologies, are used to describe texts. Thus, even when we use computational tools, our focus is always on the text, and in that respect no different from the way humanities scholars have always engaged with their discipline. Consequently, we have often found that in our own DH research the difficulties that arise are due to philosophical questions about our texts, rather than coding-related problems. This also means that the skills most humanities majors have mastered as part of their academic training, such as formulating research questions and reading critically, carry over easily and naturally into the world of humanities computing.

We were both able to learn XML and a wide range of related technologies and incorporate them into our own research over the course of a few months. The basics of XML itself take only a few days to master at a level that enabled us to begin to conduct real research with our texts. In the course we help teach at the University of Pittsburgh, “Computational Methods in the Humanities,” students are able to begin to encode a document with XML after the first one-hour class session. These students are humanities majors and almost all of them have no previous experience with computer programming or digital text technology. Most have never even seen an angle bracket before. We found that in our experiences learning to use and develop computational tools, a little goes a long way. Even before mastering a broad range of technologies we were able to encode texts, perform queries on our documents, and create webpages. By the end of our one-semester course, students have used humanities computing methods—both markup and creating programs to query and manipulate their texts—to investigate a specific research question in ways they could not do realistically by hand.

Our course is listed through the Honors College at the University of Pittsburgh, which means there’s a GPA requirement (B+ average) to enroll, and also that the work put into the course is expected to be more rigorous than a normal class might be. We cover a large number of technologies and concepts in 16 weeks and the course culminates in a final project, where students apply these methods to texts and research questions of their choice. The course begins with XML, and moves on to XPath, XSLT, XQuery, basic HTML, SVG, and CSS, introducing Javascript, PHP, and R along the way, This is the second term the course has been offered, and we are refining the structure and content in response to our successes and failures last time, but the fall semester was a general success and the students kept pace with the fast flow of information quite well.

In our experience we have found that the pay-off for learning XML is immediate, and is firmly rooted in the core values of the humanities: analyzing a document, developing a schema to model its structure, and marking it up enables us to see the text in a new way. In our own research we both found that encoding our texts with XML made us rethink our previous conceptions about certain elements of those texts. This is one of the most fulfilling aspects of text encoding. Humanities computing that incorporates, and even emphasizes, markup, programming, and text processing opens up a whole new world of scholarly possibilities. It is also fully accessible to interested and engaged undergraduate humanities majors even if they have no prior technological expertise, which we know to be true because it is our own lived experience. You can ask new questions of your text, create visualizations that make previously invisible patterns and trends accessible, and create tools for other scholars to use. Although what we used to call “humanities computing” may not fully define the goals and methods of DH, we think it is a valuable asset that can safely and effectively serve as the focal point of at least some DH courses for undergraduate students in the humanities, and that it should at least be addressed in some way in every DH curriculum. Humanities students and professors should not be afraid of humanities computing. Like many humanities majors at liberal arts colleges, we came into DH with little to no coding experience and today our projects incorporate technologies that allow us to explore questions previously inaccessible in their scope and subject matter. We would like to encourage the NITLE community to be willing to give their students the same opportunities that we have had.

About the authors

Janis Chinn is a senior Linguistics major at the University of Pittsburgh. Gabrielle Kirilloff is a senior English Literature major at the same institution. Both are undergraduate teaching assistants in “Computational Methods in the Humanities” (, which is cross-listed in eight academic departments and which is one of the very few courses that satisfies the University’s general-education requirement in “Quantitative and Formal Reasoning” in a way that can be integrated with the academic interests of humanities students.