Many thanks to Micah Saxton for supplying the bulk of this syllabus!
Instructor: Charles Pletcher (charles.pletcher@tufts.edu)
Office address: Eaton 157 (Perseus Digital Library Lab)
Office hours: MW 10:30 - 11:30 a.m. or by appointment
https://cal.com/pletcher
TA: Iván Montalvo (Ivan.Montalvo_Duque@tufts.edu)
Office address: TBD
Office hours: TTh 3 - 4 p.m. or by appointment
Class time: MW 9 – 10:15 a.m.
Class location: Braker Hall 118
Course website: https://tuftsintrodh.github.io
This course introduces students to the use of computational methods to study humanistic disciplines (art, literature, history, politics, religion, music, etc.), This method of inquiry is known as "digital humanities." Students will learn the programming language Python in order to apply methods such as Natural Language Processing (NLP), web scraping, Application Programming Interfaces (APIs), topic modeling, Named Entity Recognition (NER), and mapping. Assignments analyze primarily text-based sources in English, and the methods can be applied to a wide range of languages, ancient and modern. No programming skills are assumed.
Upon completion of this course, students will be able to
- Explain what the digital humanities are and how they relate to other forms of humanities research;
- Write and execute basic Python scripts;
- Pre-process a text/corpus in preparation for natural language processing;
- Parse complex data structures such as Python dictionaries and Pandas data frames;
- Apply digital methodologies of various kinds to humanities related data;
- Evaluate the methodologies and results of digital humanities projects.
- Matthes, Eric. Python Crash Course: A Hands-On, Project-Based Introduction to Programming. 3rd Edition. No Starch Press, 2023.
- O'Sullivan, James. The Bloomsbury Handbook to Digital Humanities. London: Bloomsbury Publishing, 2022.
- Rockwell, Geoffrey and Stefan Sinclair. Hermeneutica: Computer-Assisted Interpretation in the Humanities. MIT Press, 2016.
- Homer, Iliad. Translated by Alexander Pope. https://www.gutenberg.org/cache/epub/6130/pg6130-images.html, 2004 [1725–1726].
NB: Additional readings (listed below) will be made available on Canvas.
- Weekly coding assignments - Students will complete weekly coding assignments to practice the concepts learned in class.
- Discussion Posts - Students will spend time reading and reflecting on course readings. These reflections will share those reflections in online discussion posts
- DH Project Evaluations - Students will evaluate various DH projects with the goal of thinking carefully about a broad range of DH research.
- Programming Historian Lessons - Students will complete mini-projects from the Programming Historian as a means to broaden both their coding skills and to find examples of different kinds of DH projects.
- Final Project - Students will complete a "Programming Historian"-style project where they apply a programming methodology they learned in the class to a dataset of their own choosing. Final projects will contain a brief introduction, code, artifacts, and discussion.
- Self-Reflection - Students will complete a brief self-reflection at the end of the term about their involvement in the course.
For a grade in the "A" range, students must complete the following:
- All (10/10) weekly coding assignments (including a Programming Historian-style lesson)
- 10 discussion posts
- 3/3 Programming Historian lessons (Portfolio submission)
- Self-reflection
- At least 13/16 on the final project (a higher score on the final project can bump a grade up at the instructor's discretion)
For a grade in the "B" range, students must complete the following
- 9/10 weekly coding assignments (including a Programming Historian-style lesson)
- 7/10 discussion posts
- 2/3 Programming Historian lessons (Portfolio submission)
- Self-reflection
- At least 10/16 on the final project (a higher score on the final project can bump a grade up at the instructor's discretion)
For a grade in the "C" range, students must complete the following:
- Half (5/10) of the weekly coding assignments
- 5/10 discussion posts
- 1 Programming Historian lesson (Portfolio submission)
- Self-reflection
Students who neglect to make the minimum requirements for a grade in the "C" range will be assigned a "D" or an "F" at the instructor's discretion.
Academic integrity syllabus statement: Tufts holds its students strictly accountable for adherence to academic integrity. The consequences for violations can be severe. It is critical that you understand the requirements of ethical behavior and academic work as described in Tufts' Academic Integrity handbook.
If you ever have a question about the expectations concerning a particular assignment or project in this course, be sure to ask me for clarification. The Faculty of the School of Arts and Sciences and the School of Engineering are required to report suspected cases of academic integrity violations to the Dean of Student Affairs Office. If I suspect that you have cheated or plagiarized in this class, I must report the situation to the dean.
A Note on ChatGPT (and other similar tools): I do not have a categorical objection to ChatGPT or other similar tools. In fact, later in the semester we will discuss large language models (LLMs). Here are some guidelines:
- You may copy code from ChatGPT (or StackOverflow for that matter), but be sure you understand what the code is doing.
- You may not use ChatGPT (or other similar tools) to complete your written assignments for you. If you find yourself copying/pasting from a different source without attribution or if you find yourself editing a different source to make it sound like your writing, you are plagiarizing and will be reported.
Accommodations for Students with Disabilities: Tufts University values the diversity of our students, staff, and **faculty and recognizes the important contribution each student makes to our unique community. Tufts is committed to providing equal access and support to all qualified students through the provision of reasonable accommodations so that each student may fully participate in the Tufts experience. If you have a disability that requires reasonable accommodations, please contact the StAAR Center (formerly Student Accessibility Services) at StaarCenter@tufts.edu or 617-627-4539 to make an appointment with an accessibility representative to determine appropriate accommodations. Please be aware that accommodations cannot be enacted retroactively, making timeliness a critical aspect for their provision.
Academic Support at the StAAR Center: The StAAR Center (formerly the Academic Resource Center and Student Accessibility Services) offers a variety of resources to all students (both undergraduate and graduate) in the Schools of Arts and Science, Engineering, the SMFA and Fletcher; services are free to all enrolled students. Students may make an appointment to work on any writing-related project or assignment, attend subject tutoring in a variety of disciplines, or meet with an academic coach to hone fundamental academic skills like time management or overcoming procrastination. Students can make an appointment for any of these services by visiting the StAAR Center website.
Mental Health Support: As a student, there may be times when personal stressors or emotional difficulties interfere with your academic performance or well-being. The Counseling and Mental Health Service (CMHS) provides confidential consultation, brief counseling, and urgent care at no cost for all Tufts undergraduates as well as for graduate students who have paid the student health fee. To make an appointment, call 617-627-3360. Please visit the CMHS website to learn more about their services and resources.
Please consider this a relatively complete but still living document. That is, the syllabus is subject to (small) changes.
Syllabus and course introduction
In class
Read
- None
Homework
- Complete Intro to Git and GitHub Lab
Python: Variables, Strings, and Numbers
In class
Read
- Matthes, Eric. Python Crash Course, ch. 2
Homework
-
Online Discussion 1: Find a Programming Historian lesson that you might like to follow in the future and answer the following questions in the discussion post on Canvas:
- What interests you about this lesson?
- What will you need to feel confident in your ability to understand it?
Humanities, Classics, and Digital Humanities
In class
- Lecture: What are the digital humanities?
- In groups: Look at sample projects
Read
- Drees, Willem B., ed. "The Humanities." In What Are the Humanities For?, 9--25. Cambridge: Cambridge University Press, 2021.
- Allan, William. Classical Literature: A Very Short Introduction, pp. 1-18. Oxford UP, 2014.
- Barker, Elton, and Melissa Terras. "Greek Literature, the Digital Humanities, and the Shifting Technologies of Reading." In Oxford Handbook of Topics in Classical Studies. Oxford UP.
Homework
- Online Discussion 2: Click through a few definitions of DH from https://whatisdigitalhumanities.com. Find a definition that seems interesting to you and briefly comment on why this definition sticks out to you.
Python: Lists
Read before class
- Matthes, Eric. Python Crash Course, chs. 3-4
In class
Homework
- Coding exercise: Numbers, strings, and variables
Read before class
- Kirschenbaum, Matthew. "Hello Worlds." The Chronicle of Higher Education, January 23, 2009
- Dombrowski, Quinn. "Does Coding Matter for Doing Digital Humanities?" pp. 137-146 in The Bloomsbury Handbook to the Digital Humanities. Edited by James O'Sulivan. London: Bloomsbury Academic, 2022.
Coding and the Humanities
In class
- Discussion and review of lists and for-loops
Homework
- Online Discussion 3: What has been your experience of learning to code so far? How do you think it will be of use in your home discipline(s)?
Read before class
- Plato, Phaedrus, 274c-275b — Canvas link
- Matthes, Eric. Python Crash Course, ch. 5
Python: Conditionals
In class
Homework
- Coding Exercise: Lists and Conditionals
How do computers read texts?
Read before class
- Pope, Iliad, Book 1
- Ehrett, Carl, Lucian Ghita, Dillon Ranwala, and Alison Menezes. 2024. "Shakespeare Machine: New AI-Based Technologies for Textual Analysis." Digital Scholarship in the Humanities 39 (2): 522--31. https://doi.org/10.1093/llc/fqae021.
In class
- Regular expressions ("regexes") and tokenization lab
Homework
- Online Discussion 4: What are some of the challenges that you might encounter with tokenization? What even is a token, and how much can tokens tell us about a text?
Python: Dictionaries
Read before class
- Matthes, Eric. Python Crash Course, ch. 6
In class
-
Stop words: What they are and what to do with them
Homework
- Coding Exercise: Conditionals and Tokenization: Using the strings provided in the lab, tokenize the text using regular expressions. Using conditionals, filter out stop words and compare the lengths of the resulting lists.
No class - Presidents' Day
Paratexts: Visit to Special Collections
Class Meets in Tisch 103
Note the unusual day!
Working with files
Read before class
- Schofield, Alexandria. "The Possibilities and Limitations of Natural Language Processing for the Humanities," pp. 169-178 in The Bloomsbury Handbook to the Digital Humanities. Edited by James O'Sullivan. London: Bloomsbury, 2022.
- Singh, Prasoon. "Fundamentals of Bag of Words and TF-IDF." Analytics Vidhya (blog), February 15, 2020.
- Pope, Iliad, Book 1 (https://www.gutenberg.org/cache/epub/6130/pg6130-images.html)
In class
- File I/O lab
Homnework
- Finish File I/O lab
Voyant
Read before class
- Moretti, Franco. 2000. "Conjectures on World Literature." New Left Review 1:54--68.
- Pope, Iliad, Book 1 (https://www.gutenberg.org/cache/epub/6130/pg6130-images.html)
In class
- Explorations of Pope's Iliad with Voyant (https://voyant-tools.org)
Homework
- Online Discussion 5: Use Voyant to analyze a book of Pope's Iliad that we have not covered in class. (Note that you will also need to read that book of the Iliad.) Make 2 observations of what you learn from Voyant; include a link to your analysis.
Voyant
Read before class
- Moretti, Franco. 2000. "Conjectures on World Literature." New Left Review 1:54--68.
- Pope, Iliad, Book 1 (https://www.gutenberg.org/cache/epub/6130/pg6130-images.html)
In class
- Explorations of Pope's Iliad with Voyant (https://voyant-tools.org)
Homework
- Coding Exercise: Files and Tokenization: Tokenize all of Pope, Iliad, Book 9. What kinds of errors do you encounter? What other difficulties does this process present? How did you refine your tokenization process through experimentation?
- How many tokens does your tokenization method obtain? How many types?
Pandas DataFrames and Python Counters
Read before class
- Porter, James I. "Homer: The History of an Idea." In The Cambridge Companion to Homer, edited by Robert Fowler, 324--43. Cambridge University Press, 2004.
- Steiner, George. "Homer in English Translation." In The Cambridge Companion to Homer, edited by Robert Fowler, 363--75. Cambridge: Cambridge University Press, 2004. https://doi.org/10.1017/CCOL0521813026.022.
- Pope, Iliad, Book 16
In class
- 05_pandas.ipynb
- Lab: Tokens, types, and lemmata: definitions and applications
XML and TEI: The Basics
Read before class
- Dunning, Andrew. "Transcribing Medieval Manuscripts with TEI." Andrew Dunning, January 28, 2019. https://andrewdunning.ca/transcribing-medieval-manuscripts-tei
- Justin, Colin. "XML/TEI in Five Minutes" https://www.youtube.com/watch?v=b1AiliIEpD4
- Cummings, James. "The Present and Future of Encoding Text(s)," pp. 147-159 in The Bloomsbury Handbook to the Digital Humanities. Edited by James O'Sullivan. London: Bloomsbury, 2022.
- Pope, Iliad, Book 9
In class
- TEI XML crash course
Homework
- Online Discussion 6: Finish marking up the page that you photographed in Special Collections in TEI XML. Write a brief (1- to 2-paragraph) response about your approach to this process.
TF-IDF
Read before class
- spaCy 101: https://spacy.io/usage/spacy-101
- Hobbes, Thucydides, Book 2
In class
- 07_tf-idf.ipynb
Homework
- Online Discussion 7: Based on your readings of both primary-source ancient literature and secondary-source literature on digital humanities, discuss some of the limitations of quantitative textual analysis that you have encountered or anticipate encountering. Conversely, discuss some of the limitations of or barriers to successful close reading.
Natural Language Processing
Read before class
-
Hobbes, Thucydides, Book 3
-
Forster, Chris. 2013. "With Thanks to Woolf and Emacs, Reading 'The Waves' with Stephen Ramsay," February. http://cforster.com/2013/02/reading-the-waves-with-stephen-ramsay/.
In class
- Parts of speech with spaCy lab
Homework
- Online Discussion 7: Use spaCy to analyze Pericles' "Funeral Oration" in Thucydides 2.35--46. What features does this kind of analysis emphasis? What does it lose? - Stretch goal: Use TF-IDF to determine the most "important" (by TF-IDF metrics) lemmata for Pericles' speech. Do these lemmata match your expectations? Why or why not?
No class: Spring Break
No class: Spring Break
GIS I
Read before class
- Jasnow, Benjamin, Courtney Evans, and Jenny Strauss Clay. 2018. "Poetic and Geographical Organization in the Catalogue of Ships." TAPA 148 (1): 1--44. https://doi.org/10.1353/apa.2018.0002.
- A Gentle Introduction to GIS: https://docs.qgis.org/3.34/en/docs/gentle_gis_introduction/
- Hobbes, Thucydides, Book 6
In class
- GIS Lab
GIS II
Read before class
- Barker, Elton, Chiara Palladino, and Shai Gordin. 2024. "Digital Approaches to Investigating Space and Place in Classical Studies." The Classical Review 74 (1): 1--19. https://doi.org/10.1017/S0009840X23002858.
- Rood, Tim. 2015. "Mapping Spatial and Temporal Distance in Herodotus and Thucydides." In New Worlds from Old Texts, edited by Elton Barker, Stefan Bouzarovski, Christopher Pelling, and Leif Isaksen, 101--20. Oxford: Oxford University Press. https://doi.org/10.1093/acprof:oso/9780199664139.003.0006.
In class
- GIS Lab (continued)
Homework
- Online Discussion 10: Map some of the sites that have come up frequently in your readings of Thucydides so far. What organization patterns do you notice? How can you capture these patterns in your GIS work?
Application Programming Interfaces (APIs) and Web Scraping
Read before class
-
Walker, Abigail. "Getting Data for Digital Humanities with APIs: A Gentle Introduction -- Digital Humanities @ Pratt School of Information." Digital Humanities @ Pratt (blog). Accessed September 5, 2022
-
Frazer, Pausanias, Book 1 (Attica)
In class
Homework
- Coding Exercise: Use the HathiTrust or Project Gutenberg APIs to obtain two different translations of Homer's Iliad or Thucydides. Process and compare key passages (perhaps starting with the passages we have discussed in class). What differences emerge between the translations? Where are there points of agreement?
Named Entity Recognition
Read before class
- Romanello, Matteo, and Sven Najem-Meyer. 2024. "A Named Entity-Annotated Corpus of 19th Century Classical Commentaries." Journal of Open Humanities Data 10: 1. https://doi.org/10.5334/johd.150.
- Kirsch, Adam. "Technology Is Taking Over English Departments." The New Republic, May 2, 2014 - Hobbes, Thucydides, Book 4
In class
- 08_ner.ipynb
Homework
- Online Discussion 8: Use spaCy (including its NER components) and TF-IDF to analyze several of the speeches in Thucydides 3 (e.g., compare Cleon and Nicias and/or Cleon and Brasidas). What kinds of people or places do they reference? What themes emerge in each of their speeches? Do these fit your close-reading interpretations of the passages?
Topic Modeling
Read before class
- Blei, David. "Topic Modeling and Digital Humanities." Journal of Digital Humanities
- Brett, Megan. "Topic Modeling: A Basic Introduction." Journal of Digital Humanities
- Mimno, David. "Computational Historiography: Data Mining in a Century of Classics Journals." Journal on Computing and Cultural Heritage 5, no. 1 (April 27, 2012): 3:1-3:19
- Frazer, Pausanias, Book 10 (Delphi)
In class
Homework
- Coding Exercise: Topic Modeling in Pausanias: Use the techniques we have discussed in class to analyze Books 1 and 10 of Pausanias. What topics tend to emerge in each book? Is there any overlap? Why or why not?
Distant Reading
Read before class
- Wellmon, Chad. "Sacred Reading: From Augustine to the Digital Humanists." The Hedgehog Review 17, no. 3 (Fall 2015).
- Hobbes, Thucydides, Book 5
In class
- Discussion: Distant reading, the "classics," and the great unread
Homework
- Online Discussion 9: Why do (or don't) you read? How do you read?
Independent work on final projects
Suggested readings:
- Fiormonte, Domenico and Gimena Del Rio Riande. "The Peripheries and Epistemic Margins of Digital Humanities" pp. 19-28 in The Bloomsbury Handbook to the Digital Humanities. Edited by James O'Sullivan. London: Bloomsbury, 2022.
- Gairola, Rahul K. "Race, Otherness, and the Digital Humanities" pp. 49-62 Day, Shawn. "Visualizing Humanities Data" pp. 211-220 in The Bloomsbury Handbook to the Digital Humanities. Edited by James O'Sullivan. London: Bloomsbury, 2022.
- Allington, Daniel, Sarah Brouillette, and David Golumbia. "Neoliberal Tools (and Archives): A Political History of Digital Humanities." Los Angeles Review of Books, May 1, 2016.
- Risam, Roopika, and Alex Gil. 2022. "Introduction: The Questions of Minimal Computing." Digital Humanities Quarterly 016 (2).
- Chan, Tiffany, and Jentery Sayers. 2022. "Minimal Computing from the Labor Perspective." Digital Humanities Quarterly 016 (2).
In class
- Discussion and demonstration of public-facing digital humanities tools
Homework
- Begin working on final projects
- Online Discussion 10: The medium and the message: How does the presentation of data --- textual or otherwise --- affect our understanding of it? What are some ways that presentation can be used to challenge and/or supplement the understanding of a text that we derive from close reading? How do computational approaches fit into this discussion?
Independent work on final projects
Suggested reading
- Baetens, Jan. 2018. "Visual-Verbal Materiality." Comparative Literature 70 (3): 357--68. https://doi.org/10.1215/00104124-6991755.
- Frazer, Pausanias, Book 3 (Sparta)
- Rockwell and Sinclair, Hermeneutica, chs. 8-10
No class: Patriot's Day
Catch-up
Read before class
- [Neuman, Yair, Marcel Danesi, and Dan Vilenchik, eds. Using AI for Dialoguing with Texts : From Psychology to Cinema and Literature. New York, NY: Routledge, 2023. Chs. 1-4]
In class
- Catch-up
Final projects and Presentations