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.

Members of "Computational Methods in the Humanities" course at the University of Pittsburgh, January 2012

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” (http://dh.obdurodon.org), 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.

Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Diigo
  • NewsVine
  • Reddit
  • Technorati
  • Twitter
Posted on January 31, 2012 at 3:16 pm by Rebecca Davis · Permalink
In: Humanities, Pedagogy, Technology · Tagged with: , , ,

4 Responses

Subscribe to comments via RSS

  1. Written by Mark D. LeBlanc
    on February 2, 2012 at 9:13 am
    Permalink

    I was pleased to see Chinn and Kirilloff’s post ‘Can Humanities Undergrads Learn to Code?’, and in particular their head-on challenge to the thinking “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…”. Like many new areas, learning to solve computationally-rich problems by writing software is indeed a challenge. However, in my years of teaching undergraduate humanities students, these are the types of challenges they seek. Most of the undergraduates in my ‘computing for poets’ course (see http://cs.wheatoncollege.edu/~mleblanc/courses.html) have never marked up a document, have never transferred a document to a server, have never written software to parse and search hundred’s of documents, and have never designed and executed an experiment across an entire corpus: but they want to learn how!

    For example, after four class periods, 30+ students (all undergraduates, mostly humanities students) have used Google’s ngram-viewer to ask two ‘culturomic’ questions, saved the graphs as images, marked up a mini-site of linked pages that discusses and explores these questions, ported their work to their own account on a Linux server, and validated their XHTML. Are some anxious: yes. Are they working really hard outside of class: yes. Are they challenged: I believe most would say, yes. But most important, what I hear from them is that they (are beginning to) feel empowered as scholars of things digital. That’s enough to make me excited for the next class…

  2. Written by Joseph
    on February 3, 2012 at 7:01 am
    Permalink

    Also it seems there is the initiative in the start-up world to create websites and services that teach pupils how to code through gaming. The following sites I would suggest as good supplemental learning resources…

    http://Codecademy.com
    http://TeamTreeHouse.com
    http://CodePupil.com

    Some of those sites are really great for beginners while others teach a wider range of coding knowledge and skill.

    Learning how to code and having the skill is going to be an essential skill whether your a computer science, music or humanities major. Coding and or creating software on the Internet will become prevalent in all these concentrations and the industries they support!

  3. Written by Ellen
    on February 15, 2012 at 8:36 am
    Permalink

    I found this article very interesting, but not surprising. I’ve taught public middle school students to code for years, with great success. And, I’ve even had them learn and use the hexadecimal system for color. These were not students who took a special course, it was a technology course that was part of the standard curriculum. It didn’t matter what their reading or math levels were, they were all successful. I believe that learning to code empowers students, and provides them with skills that can be applied to numerous areas. It really isn’t all that difficult. It is simply learning a language and the syntax to that language.

  4. [...]  Later steps would include collaborative undergraduate research with faculty on digital projects, mentoring younger students in digital work, or individual digital thesis work. As the links above demonstrate, I can find examples of all of [...]

Subscribe to comments via RSS

Leave a Reply