Abstract
In this chapter, we advocate for a task-driven approach to teaching computer programming to students of the digital humanities (DH). Our perspective is grounded first in Birnbaum’s (2014) plenary address to the University of Pittsburgh Faculty Senate (Birnbaum 2014), in which he argued that coding, like writing, should be taught across the liberal arts curriculum in domain-appropriate ways. This position argued that (1) coding is not an esoteric specialization to be taught solely by computer scientists, and that (2) coding might be taught most effectively in the context of different disciplines. Here, we present a method for embedding Digital Humanities education, and more specifically programming pedagogy, within the long-standing traditions of the Humanities and argue that this approach works most effectively when new learners have access to context-specific mentorship. Our second point of reference lies with oral-proficiency-oriented (OP) foreign language pedagogy. Within an OP model, the ability to communicate in a foreign language is a skill, and the primary goal for learners who seek to acquire that skill is not an academic understanding of the grammar of a language, but, instead, the ability to function successfully within realistic contextualized human interactions. Seen from this perspective, computer-programming curricula organized around the features of the programming language might be compared to older grammar-and-translation foreign-language pedagogies. What we advocate instead is that the ability to use a programming language (programming proficiency) is best acquired in the context of performing contextualized, discipline-conscious tasks that are meaningful to humanists, an approach that has parallels to OP language learning.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The twenty-first century has seen a welcome attention to teaching computational thinking from a young age and in a way that is not explicitly coupled with the simultaneous teaching of programming languages (e.g., Wing 2006). Computational thinking is obviously relevant to programming, and our focus specifically on teaching the use of programming languages in a volume about programming pedagogy should be understood as complementary to, rather than in disagreement with, teaching computational thinking.
- 2.
Dave Perry discusses alternative ways of engaging in Digital Humanities, and what unites those perspectives is a contextualizing of digital humanists primarily as humanists who engage with digital methods or materials, rather than as computer users who are interested in the humanities (Perry 2012).
- 3.
Our discussion in this chapter presumes a DH mentor because we are writing about curriculum and about pedagogy, but the DH mentor may be a teacher, a workshop facilitator, a professional colleague, or a fellow learner. Not all would-be digital humanists have equal access to training and education, and especially in contexts where one-on-one DH mentors may not be available, new learners will find themselves welcome in online DH communities, such as the Digital Humanities Questions and Answers Board of the Association for Computers and the Humanities (http://digitalhumanities.org/answers/), which also runs an organized mentoring program (http://ach.org/activities/mentoring/), or the TEI-L mailing list run by the Text Encoding Initiative (see http://www.tei-c.org/Support/ for information about subscribing and searching the archives). For further information about mentoring opportunities, see also Lisa Spiro’s “Opening up Digital Humanities education” (Spiro 2012, esp. “Coaching,” pp. 353ff), which extends her earlier work (Spiro 2011).
- 4.
These steps have been honed through practice and iteration over the course of the past few years in Alison Langmead’s pedagogical work teaching the Digital Humanities to graduate students in both the School of Information Sciences and the Dietrich School of Arts and Sciences at the University of Pittsburgh (Langmead 2015, 2016).
- 5.
See “Yes, you can build your own tools,” below.
- 6.
This particular conversation about beginning with tools or questions was instigated by a Tweet from Tom Scheinfeldt asking the community for advice for new DH’ers (Scheinfeldt 2014) and its concomitant replies. Also relevant is Scheinfeldt’s contribution to the 2012 Debates in the Digital Humanities volume (Scheinfeldt 2012).
- 7.
Emphasis added. We return to the crucial role of domain-relevance in “Task-driven programming pedagogy,” below.
- 8.
See also Jentery Sayers’s work, which compares teaching code to teaching literature or language (Sayers 2012, esp. pp. 289–91).
- 9.
Two of the most extensive inventories of tools available to the Digital Humanist are Alan Liu’s DH Toychest, http://dhresourcesforprojectbuilding.pbworks.com/w/page/69244319/Digital%20Humanities%20Tools, and the DiRT Directory, http://dirtdirectory.org/. Together, these resources list hundreds of tools among which humanists can browse and search, a quantity that can feel overwhelming, especially to someone new to the field [and Liu’s Toychest even includes a section entitled, “Other Tool Lists” (http://dhresourcesforprojectbuilding.pbworks.com/w/page/69244319/Digital%20Humanities%20Tools#othertoollists), suggesting that the list could be extended]. Hypertext was designed to allow for an infinitely extensible web of logical connections, which means that it is well suited to representing the realm of interconnected lists of DH tools.
- 10.
Time constraints play an obvious special role in learning environments that are tied to an academic calendar. In our courses, where students must progress from no prior technological knowledge or experience to publishing a completed project on the Internet at the end of a single fifteen-week semester, we often encourage proof-of-concept implementations. In situations where the project as conceived would require data preparation at a scale that is not realistic within an academic semester, reframing the goals as a proof-of-concept implementation allows the learners to prioritize mastering new tools and skills while working with small, illustrative data, which they may or may not then augment after the conclusion of the course.
- 11.
The availability of hardware and Internet connectivity is mediated economically, and not all learners will have access to first-world resources. See http://go-dh.github.io/mincomp/ for information about Minimal computing.
- 12.
Stephen Ramsay and Geoffrey Rockwell explicitly compare the role of writing and coding (which we understand broadly to include not only programming, but also markup) in the conduct and performance of scholarship in their contribution to the 2012 Debates in the Digital Humanities volume (Ramsay and Rockwell 2012, esp. the concluding paragraphs).
- 13.
As Matthew Kirschenbaum writes, “[c]omputers should … be understood as engines for creating powerful and persuasive models of the world around us. The world around us (and inside us) is something we in the humanities have been interested in for a very long time” (Kirschenbaum 2009, p. B10).
- 14.
In another essay, Joris van Zundert and Ronald Haentjens Dekker explore in more detail the extent to which the creation of software tools (not digital editions or other end-result publications) can be considered humanities scholarship. Their analysis of the question distinguishes enabling and performative aspects of software, arguing that the latter embeds more scholarly assumptions and decisions, and may therefore be seen as having a more scholarly nature (van Zundert and Haentjens Dekker 2015).
- 15.
Perhaps surprisingly, although a programming or other technical or technological background might be expected to (and often does) convey advantages in mastering new computational methods, our students with a strong computer science or information science background have sometimes also been the most resistant to learning new technologies, insisting on the greater ease of using the tools and methods they have already mastered even when those may not be as appropriate for their tasks as those we introduce in our courses. Assuming no difference in the quality of the end product, it makes sense in a production environment to get the job done as efficiently as possible, and avoiding a new learning curve is a sensible consideration. What surprises us is the invocation of that argument in a classroom, where, after all, learning to do something one does not already know how to do is largely the point of the educational enterprise.
- 16.
We are grateful to our colleague Aaron Brenner for bringing this citation to our attention.
- 17.
We use “code” here to refer to computational processing in programming languages, but also to other computational interventions with cultural texts, such as the use of markup languages (sometimes distinguished as “encoding”, with “coding” reserved for programming). We distinguish this type of coding from other uses of software, such as a word processor for editing text or an image editor for editing graphics, by a conscious focus in coding on controlling the terms that will govern machine interaction with and operation on the object of study.
- 18.
This paragraph is based on David Birnbaum’s March 2014 address to the University of Pittsburgh Faculty Senate (Birnbaum 2014).
- 19.
The observation that the experience of learning programming languages is similar to that of learning human languages can be found in Janis Chinn’s and Gabrielle Kirilloff’s “Can humanities undergrads learn to code?” (Chinn and Kirilloff 2012). The authors were undergraduate humanities students and DH teaching assistants when they contributed this essay in January 2012 to Techne, the former blog site of the National Institute for Technology in Liberal Education [NITLE].
- 20.
Information about oral proficiency as a perspective on and methodology in second language acquisition and assessment is available at the University of Minnesota Center for Advanced Research on Language Acquisition (CARLA), http://carla.umn.edu/assessment/MLPA/CoSA.html.
- 21.
See, for example, the textbook to accompany Princeton University’s “Introduction to Programming in Python,” (Sedgewick et al. 2015). This material is described as “a textbook for a first course in computer science for the next generation of scientists and engineers” on the “booksite” found at http://introcs.cs.princeton.edu/python/home/. As may be appropriate for that audience, the approach to teaching Python is organized around computer science concepts and Python features, which it illustrates with examples and applications.
- 22.
See, for example, David Beazley and Brian Jones’s 2013 Python Cookbook (Beazley and Jones 2013).
- 23.
XSLT is a declarative language that does not permit the redefinition of a variable. The use of recursion as an alternative to iteration in XSLT is discussed and illustrated in Michael Kay’s XSLT 2.0 and XPath 2.0 (Kay 2008, pp. 992–1000).
- 24.
A humanist new to digital methods is likely to start by tokenizing on white space, whereupon the appalling initial output quickly reveals the need to decide how to handle punctuation, contractions, upper and lower case, etc. Overlooking those sorts of issues initially isn’t an error; it’s a natural part of a strategy that closes in on a solution by starting with the obvious and letting specific erroneous results guide the further development.
- 25.
For example, a recipe that tells a human to scramble eggs doesn’t have to tell the human to break the shells first, but a computer program that reads a file from a disk may have to open the file explicitly first.
- 26.
The pizza-topping model was used explicitly in a DH context by the Text Encoding Initiative in their TEI Pizza Chef (Text Encoding Initiative 1999).
- 27.
Dan Colman, of the website Open Culture, defines user active tutorials as those where as “users can…design projects of their own choosing” (2016, n.p.).
- 28.
For example, beginning language students may not be able to understand every word of the listings of film screenings for a foreign city, but those students can typically read the same listings that native speakers read and identify the name of the cinema and the screening times. Beginning language students cannot read the web site at a foreign university as easily as the one at their own, but in the case of many foreign languages they can use international vocabulary to identify courses in which they might enroll without previously having learned the names of those subjects in the new language.
References
Anderson, C. B. (2014). On teaching XQuery to digital humanists. In Proceedings of Balisage: The Markup Conference 2014, Washington, D.C. August 5–8, 2014, 13. doi:10.4242/BalisageVol13.Anderson01
Baldazzi, G. (2013, January 29). Entity relationship diagram (ERD) training video [Video File]. Retrieved from https://youtu.be/-fQ-bRllhXc
Beazley, D., & Jones, B. K. (2013) Python cookbook [ebook]. Sebastopol, CA: O’Reilly. Retrieved from http://chimera.labs.oreilly.com/books/1230000000393/index.html
Birnbaum, D. J. (2014). Faculty Senate plenary address. Presented at the Spring 2014 Meeting of the University of Pittsburgh Faculty Senate, Pittsburgh, Pennsylvania. Retrieved from http://www.obdurodon.org/slides/2014-03-19_senate-plenary.pdf
Birnbaum, D. J. (2015, August 23). Thinking in algorithms. Retrieved from http://dh.obdurodon.org/algorithms.xhtml
Chinn, J., & Kirilloff, G. (2012). Can humanities undergrads learn to code? Retrieved from http://dh.obdurodon.org/nitle.xhtml
Colman, D. (2016, March 7). Learn how to code for free: A DIY guide for learning HTML, Python, Javascript & More [Web log post]. Retrieved from http://www.openculture.com/2016/03/learn-how-to-code-for-free-a-diy-guide-for-learning-html-python-javascript-more.html
Glasser, M. [Prescott Computer Guy]. (2011, September 30). Relational database concepts [Video File]. Retrieved from https://youtu.be/NvrpuBAMddw
Ippolite, C. (2015, May 12). Relational database design with FileMaker Pro [Video File]. Retrieved from http://www.lynda.com/FileMaker-Pro-10-tutorials/Relational-Database-Design-with-FileMaker-Pro/83839-2.html
Kay, Michael. (2008). XSLT 2.0 and XPath 2.0 (2nd ed.). Indianapolis: Wiley.
Kirschenbaum, M. (2009, January 23). Hello worlds. The Chronicle Review, 55(20), B10. Retrieved from http://chronicle.com/article/Hello-Worlds/5476
Langmead, A. (2015, August 13). Syllabus for the Ph.D. seminar, The Digital and the Humanities. Fall Term 2015 [Web log post]. Retrieved from http://constellations.pitt.edu/entry/syllabus-phd-seminar-digital-and-humanities-fall-term-2015
Langmead, A. (2016, July 25). Summer 2016 syllabus: “Digital Humanities,” MLIS Program, University of Pittsburgh [Web log post]. Retrieved from http://constellations.pitt.edu/entry/summer-2016-syllabus-digital-humanities-mlis-program-university-pittsburgh
Laue, A. (2004). How the computer works. In S. Schreibman, R. Siemens, & J. Unsworth (Eds.), A companion to digital humanities (Chapter 13). Oxford: Blackwell. Retrieved from http://www.digitalhumanities.org/companion/
Mahony, S., & Pierazzo, E. (2012). Teaching skills or teaching methodology? In B. D. Hirsch (Ed.), Digital humanities pedagogy: Practices, principles, and politics (pp. 215–25). Cambridge, UK: Open Book Publishers. doi:10.11647/OBP.0024
[Mr. B’s Code Academy]. (2012, November 25). Normalisation 3NF: Third normal form example [Video File]. Retrieved from https://youtu.be/c7DXeY3aIJw
Owens, T. (2014, August 22). Where to start? On research questions in the digital humanities [Web log post]. Retrieved from http://www.trevorowens.org/2014/08/where-to-start-on-research-questions-in-the-digital-humanities/
Perry, D. (2012). The digital humanities or a digital humanism. In M. K. Gold & L. F. Klein (Eds.) Debates in the digital humanities. Minneapolis: University of Minnesota Press. Retrieved from http://dhdebates.gc.cuny.edu/debates/text/24
Ramsay, S. (2010). The hermeneutics of screwing around. Retrieved from https://web.archive.org/web/20101105171751/http://www.playingwithhistory.com/wp-content/uploads/2010/04/hermeneutics.pdf
Ramsay, S. (2012). Programming with humanists: Reflections on raising an army of hacker-scholars in the digital humanities. In B. D. Hirsch (Ed.), Digital humanities pedagogy: Practices, principles, and politics (pp. 227–39). Cambridge, UK: Open Book Publishers. doi:10.11647/OBP.0024
Ramsay, S., & Rockwell, G. (2012). Developing things: Notes toward an epistemology of building in the digital humanities. In M. K. Gold & L. F. Klein (Eds.), Debates in the digital humanities. Minneapolis: University of Minnesota Press. Retrieved from http://dhdebates.gc.cuny.edu/debates/part/3
Sayers, J. (2012). Tinker-centric pedagogy in literature and language classrooms. In L. McGrath (Ed.), Collaborative approaches to the digital in English Studies (pp. 279–300). Retrieved from http://ccdigitalpress.org/cad/Ch10_Sayers.pdf
Scheinfeldt, T. [@foundhistory]. (2014, August 8). I’ve been asked to compile a list of top 10 pieces of advice for new Dh’ers for a group of public humanities fellows. Suggestions? [Tweet]. Retrieved from https://twitter.com/foundhistory/status/497763193612410880
Scheinfeldt, T. (2012). Where’s the beef? Does digital humanities have to answer questions? In M. K. Gold & L. F. Klein (Eds.), Debates in the digital humanities. Minneapolis: University of Minnesota Press. Retrieved from http://dhdebates.gc.cuny.edu/debates/text/18
Sedgewick, R., Wayne, K., & Dondero, R. (2015). Introduction to programming in Python: An interdisciplinary approach. New York: Addison-Wesley. Retrieved from http://introcs.cs.princeton.edu/python/home/
Spiro, L. (2011, October 14). Getting started in the digital humanities [Web log post]. Retrieved from https://digitalscholarship.wordpress.com/2011/10/14/getting-started-in-the-digital-humanities/
Spiro, L. (2012). Opening up digital humanities education. In Brett D. Hirsch (Ed.), Digital humanities pedagogy: Practices, principles, and politics (pp. 331–64). Cambridge, UK: Open Book Publishers. doi:10.11647/OBP.0024
Text Encoding Initiative. (1999, October 8). TEI Pizza Chef. Retrieved from http://www.tei-c.org/Vault/P4/pizza.html
Underwood, T. (2014, March 18). How much DH can we fit in a literature department? [Web log post]. Retrieved from https://tedunderwood.com/category/dh-as-a-social-phenomenon/
van Zundert, J. J. (2012). If you build it, will we come? Large scale digital infrastructures as a dead end for digital humanities. Historical Social Research—Historische Sozialforschung, 37(3), 165–186. Retrieved from http://nbn-resolving.de/urn:nbn:de:0168-ssoar-378903
van Zundert, J. J., & Haentjens Dekker, R. (2015, October 29). Code, scholarship, and criticism: When is coding scholarshop and when is it not? Paper Presented at the Digital Humanities 2015: Global Digital Humanities Conference, Sydney, Australia, June 29–July 3, 2015. Retrieved from http://jorisvanzundert.net/wp-content/uploads/2016/02/CodeScholarshipCriticism.pdf
Wing, J. (2006, March). Computational thinking. Communications of the ACM, 49(3), 33–35. Retrieved from https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Birnbaum, D.J., Langmead, A. (2017). Task-Driven Programming Pedagogy in the Digital Humanities. In: Fee, S., Holland-Minkley, A., Lombardi, T. (eds) New Directions for Computing Education. Springer, Cham. https://doi.org/10.1007/978-3-319-54226-3_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-54226-3_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-54225-6
Online ISBN: 978-3-319-54226-3
eBook Packages: EducationEducation (R0)