Our curricula focus on technical skills and concepts upon which additional technologies and tools rely. Approximately one-third of all sessions at the Institute could be described as foundational: they introduce the command line, version control & data collaboration, data & databases, and Python using flexible, open source technologies that are accessible to the widest possible audience. Our emphasis on fundamental skills demonstrates our commitment to cultivating resilience that empower humanities researchers to become self-teachers and mentors in their own right. While intensive lessons prioritize instrumental outcomes, such as whether students can write for a loop or build a map, our focus is on a longer arc of professional development. While immediate results help pique interest and help scholars see the potential for digital research methods in their own work, confidence in core computational skills and concepts help to develop resilience that lasts beyond a single project or tool's lifespan. Better prepared to approach technology (and technological rhetoric) with a critical eye, scholars comfortable with core computational literacy and a common technical vocabulary are more likely to participate in local communities of practice.

Below is a preliminary list of the technical workshops that were offered as part of the DHRI. Workshops build on each other such that successive workshops use skills developed in earlier ones. All participants attend workshops on core skills, then choose which skills they wish to develop further through advanced workshops. Below, we have included the introductory page for each workshop. Click the link below each description to be able to follow along with each workshop, on each particular workshop's GitHub page.

Command Line

Developed by:

By this point in our academic careers, most of us have figured out some ways we like to interact with computers. Whether that involves avoiding them as much as possible or constantly testing new software, we likely have some ideas about how we feel comfortable getting things done. How would you show a person who had never seen a computer, say Kimmy Schmidt or Brendan Fraser in Blast from the Past, how to do something on your computer?

Many of us would explain what a screen and a cursor are, and then show how to point and click on icons. This approach relies on a graphical user interface, or GUI (pronounced "gooey!").

Today we're going to explore another way to make your computer do things: through the command line. Instead of pointing and clicking, we'll be typing in either git bash (Windows) or terminal (OSX) to tell the computer directly what task we'd like it to perform.

While this new technique can seem intimidating if you haven't used text-based interfaces before, luckily, you can use 90% of the functionality of the command line by becoming comfortable with a very small set of the most common commands.

Participate in the workshop via GitHub

Introduction to Databases

Developed by:

A database is a collection of data that is structured to allow for manipulation. This session will introduce one type of database, the relational database, using SQLite, a portable implementation often used in mobile phones and distributed systems.

Participate in the workshop via GitHub

Ethics for Digital Projects and Research

Developed by:

  • Kelsey Chatlosh

This discussion-based workshop will address an array of ethical questions and concerns for folks doing digital projects or research with an emphasis on consent, personhood, confidentiality, political economy, the politics of knowledge production, and accessibility. In addressing these issues, this workshop will first provide a general overview of ethics for institutional research compliance—including the Belmont Report and Institutional Review Board—and then delve into an array of ethical issues that extend beyond institutional rules.

The approach of this workshop is premised on the understanding that there is no simple roadmap for practicing 'good ethics' and, indeed, what constitutes 'good' or 'ethical' for one individual may vary from the next and is often reflective of a scholar's political commitments and personal background. Nonetheless, this workshop will foreground key ethical questions to ask (and keep asking!) when designing and doing digital projects or digital research, and key concepts to draw upon when thinking through these questions.

Participate in the workshop via GitHub

Introduction to Git and GitHub

Developed by:

Git is version control software used to track the state of files associated with a project. Users can take snapshots of files, travel through the history of a project, collaborate transparently with others, and easily keep compatible data in many locations. Combined with GitHub, a cloud service, Git also becomes a way of finding and publishing text, including writing and code.

In this session, we'll learn what makes Git such a powerful tool for both collaborative and individual projects. We will share a conceptual overview of Git and GitHub, explore fundamental concepts such as committing and pushing, and explore practical applications of GitHub for writing and coding. This session will show how to use Git and GitHub for a variety of digital undertakings, including collaborating with others, finding code for use in your projects, and sharing your work publicly. This session covers initializing Git repositories, committing changes, pushing to GitHub, and cloning repositories to your local machine.

To complete this workshop, you will need to have VS Code and Git installed on your local machine. If you have not installed them already, follow this link to instructions for VS Code, and this link to instructions for Git.

Participate in the workshop via GitHub

Introduction to HTML and CSS

HTML (Hypertext Markup Language) is a markup language used to create and organize the content of a website. CSS (Cascading Style Sheets) is a language used for design and layout. Together, these languages form the foundation of what one needs to know to create websites that are useful and well-designed.

Participate in the workshop via GitHub

Introduction to Machine Learning

Machine learning is an application of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed.

Participate in the workshop via GitHub

Introduction to Mapping using QGIS

Developed by:

Geographic Information Systems (GIS) are an essential digital tool for the creation and analysis of maps and geographic data. QGIS is an open-source software that offers a powerful and adaptable platform to do GIS analysis.

This tutorial will guide you through the very basics of GIS mapping concepts. Then, we will use QGIS to project a map and do some basic analysis and drawing functions on it.

Participate in the workshop via GitHub

Introduction to Omeka

Developed by:

Omeka is a free Content Management System (CMS) and a web publishing system built by and for scholars that is used by hundreds of archives, historical societies, libraries, museums, and individual researchers and teachers to create searchable online databases and scholarly online interpretations of their digital collections. If you have a digital collection of primary sources that you want to publish online in a scholarly way, you’ll want to consider Omeka. Omeka allows to describe the items according to archival standards, import and export that descriptive information from other systems, and to create as many interpretive online exhibits as you like from those items.

Participate in the workshop via GitHub

Project Laboratory

Developed by:

  • Lisa Rhody
  • WebWise workshop led by Sheila Brennan, Sharon Leon, and Lisa Rhody

We are going to work out the process for designing your digital research project in this session. Good—or shall we say effective—projects begin with a plan. It's true those plans may change over the life cycle of the project. Your questions may change. Your funding may change. Even the shape your inal" research project takes may change.

What separates projects that turn into something from those that stall out and go nowhere is the formulation of a reasonable, informed, and purposeful plan.

Most workshops teach you something: a skill, a method, a practice. But what are you going to do next? Sure you've learned how to start to use Python. You might have done some natural language processing or written your first webpage, but the real trick is figuring out how to take what you've learned, plan for what comes next, and make your project come to fruition.

None of those things can happen without a plan. If you walk out those doors today without a plan for what your next steps will be, it's unlikely that you'll be able to make much progress. There is no possible way for us to teach you everything you need to know, and there's no way for you to learn anything well enough in one week that you can walk out those doors and do everything you want to do.

Participate in the workshop via GitHub

Introduction to Python

Developed by:

Python is a general-purpose programming language that is suitable for a wide variety of core tasks in the digital humanities. Learning Python fundamentals is a gateway to analyzing data, creating visualizations, composing interactive websites, scraping the internet, and engaging in distant reading of texts.

Participate in the workshop via GitHub

Introduction to Text Analysis with Python and the Natural Language Toolkit

Developed by:

Digital technologies have made vast amounts of text available to researchers, and this same technological moment has provided us with the capacity to analyze that text. The first step in that analysis is to transform texts designed for human consumption into a form a computer can analyze. Using Python and the Natural Language ToolKit (commonly called NLTK), this workshop introduces strategies to turn qualitative texts into quantitative objects. Through that process, we will present a variety of strategies for simple analysis of text-based data.

Participate in the workshop via GitHub

Introduction to the Twitter API

Developed by:

APIs (Application Programming Interfaces) are a structured way for programs to communicate with other programs. A knowledge of APIs allows your programs to communicate with major services such as The New York Times and Twitter and collect data from organizations such as the Library of Congress.

Participate in the workshop via GitHub