The second edition of The Programming Historian (PH2) is an open access and open source introductory text designed to teach the fundamentals of programming to humanists. The first edition (Turkel & MacEachern 2007), while popular, is basically a traditional text presented online. It was limited to the lessons that we provided and followed a single narrative arc. The second edition, also online, has been restructured to invite ongoing community participation and authorship.
The project is designed with a core sequence of lessons that get readers up to speed with basic programming concepts. These show how to programmatically download sources from the Internet, process them for keywords, and visualize some textual attributes. Contributors can introduce new lessons at any point by branching off from a previous lesson. They might, for example, introduce a related technique, or show how to implement something in another programming language, on another platform, or using different kinds of sources. The branching structure allows members of the digital humanities community to add lessons based on their own specialties, or to create new sequences for use in the classroom, while still guaranteeing that readers will have the background required to understand a particular branch if their study of PH2 has taken them to that point. Each lesson is intended to take two hours or less to complete.
For contributors, PH2 provides a peer-reviewed platform for methodology. Both literary and technical reviewers vet all submissions with quality emphasized over quantity. Lessons are presented in a custom WordPress installation and code snippets are stored in GitHub for easy maintenance and sharing. To make the site as easy as possible to use, code snippets are pulled directly into the WordPress posts making GitHub essentially invisible for both authors and readers not familiar with or interested in its features. Individual lessons are attributed to their authors, and reviewers and other contributors receive public credit for their labour. For learners, PH2 focuses on the use of programming to solve problems common to academic research, such as obtaining, analyzing, processing, and mashing up sources. While there are hundreds of programming books on the market, very few teach these kinds of hands-on tasks that are crucial to the practice of the digital humanities.
With the first edition of the Programming Historian, we showed that there is a great demand for programming introduction that focuses on the day-to-day work of digital humanists both historians and otherwise. We have commissioned a number of new lessons from guest authors for the second edition and hope to open our submission process to the wider community shortly. From our past experience we know that people well beyond our target audience of digital humanists can and will use the project as a way to delve into programming. When PH2 launches publicly, we believe that the digital humanities community will embrace and expand it and we look forward to working with them.
This work was supported by The Network in Canadian History & Environment, and the Roy Rosenzweig Center for History and New Media.
WordPress.http://wordpress.org (accessed 1 March 2012).
Turkel, W. J. and A. MacEachern (2007). The Programming Historian 1st Edition. http://niche-canada.org/programming-historian (accessed 1 March 2012).
Turkel, W. J., A. Crymble, J. Boggs, M. Posner, et al., eds. (2012). The Programming Historian 2. http://chnm.gmu.edu/press/programminghistorian/ (accessed 1 March 2012).