DH Tools Part 2: Moving Computationally

For scholars in the humanities, digging into computational approaches, tools, and methods can open new possibilities for exploration and building more tailored outputs. Below, we’ve collected a few trusted resources that can help get you started. This post is dedicated to programming tools that can help automate tasks, analyze data, or create projects. If you don’t have the time to invest in learning a programming language, follow this link to read our post on “off the shelf” DH tools.

Finding Community: On the UW-Madison campus you can tap into the digital humanities community through the Center for the History of Print and Digital Culture, by reaching out to your subject librarian, or contacting us here at RDS. These resources can serve as a hub for finding collaborators, tools, and examples of  digital humanities projects underway here on campus. 

Books: Here are a couple of books that provide instruction on programming for humanists. 

  • Exploratory Programming by Nick Montfort: “This book introduces programming to readers with a background in the arts and humanities; there are no prerequisites, and no knowledge of computation is assumed. Montfort reveals programming to be not merely a technical exercise within given constraints but a tool for sketching, brainstorming, and inquiring about important topics.”
  • Books for learning Python: 
    • Automate the Boring Stuff, 2nd Edition by Al Sweigert. Available online through Creative Commons License, Automate the Boring Stuff provides detailed instructions on how to use Python to create, move, and edit documents, search the Web and scrape content, and reformat data in Excel, among many other tasks. All with the added benefit that you’re learning Python while streamlining your research process. 
    • DigitalOcean eBook: How To Code in Python by Lisa Tagliaferri is an open educational resource and hugely useful and clear introduction to programming in Python. Tagliaferri designed the book for an early software developer, but How To Code in Python is meant for anyone looking to learn Python for general purpose computing tasks.
  • Text Analysis with R for Students of Literature by Matthew Jockers is an introduction to R for text analysis. R is an open source and hugely useful language for analysis of data of all kinds. 

Programming Tutorials: Each of these resources feature a host of tutorials on specific and general skill sets. They include general introductions to Unix and Linux tools as well as hyper specific analysis of particular data types using programming languages. Many of these resources also double as useful pedagogical tools if you decide to bring what you’ve learned into the classroom. 

  • Programming Historian: Includes a huge array of tutorials that range from computational stylometry to scraping Twitter for data. PH almost certainly has a tutorial for a tool that can help your research. 
  • Data Carpentry: Introduces you to a cluster of essential data curation tools that are organized by discipline. Data Carpentry lays a foundation with lessons on spreadsheets – which are hugely useful for starting DH projects because they work with so many other tools – and extends into work with SQL, Python, and R for managing and analyzing your data. The DH module is still under development, but the lessons for other disciplines will still provide you with crucial methods, best practices, and tools for organizing and analyzing your research data.
  • Software Carpentry: Software Carpentry is a great place to start cultivating your DH skills because it provides a collection of foundational lessons on Git, Unix, Python, and R that complement one another in an array of computational projects. They also feature additional lessons on other related tools including Make, MATLAB, and SQL.
  • AcrGIS and Learn ArcGIS: ArcGIS is one of the most powerful mapping tools available. With ArcGIS you can use your data to create shareable and interactive maps. You can also use tools to analyze and visualize your data to reveal new patterns. LearnArcGIS is a learning platform that allows you to select from ArcGIS lessons to fit your project needs. 
  • Stanford’s Natural Language Processing, or CoreNLP: A highly sophisticated Java package you can use to perform complex text analysis tasks such as Named Entity Recognition, grammatical analysis, and sentiment analysis.
  • Python NLTK: The NLTK Book is one of the most thoroughly developed and documented packages for Python you can use to perform sophisticated text analysis projects. The tutorial is extensive and provides instruction on an array of functions you can choose from to help you answer your research questions and build your projects. 
  • LinkedIn Learning (formerly Lynda.com): Using your UW-Madison NetID you have access to a vast collection of video tutorials via LinkedIn Learning. There are tutorials for every ability level and cover just about any technical and programming skill you can think of ranging from introductions to Excel to advanced data analysis in R.