Courses  /  Fall 2025
HIST 8510 · GRADUATE SEMINAR

Methods in Digital History II

MEETS
Monday and Wednesday · 4-5:15pm
LOCATION
Watt Center 333
CREDITS
3
TERM
Fall 2025
Course description

History 8510: Methods in Digital History II is the second course in a sequence of digital methods courses for Digital History PhD students at Clemson University. While the first class focused on building foundational computational thinking skills and familiarity with the principles of turning primary sources into historical datasets for computational analysis, this class tackles a number of advanced topics and methods. Students will learn to create relational databases, implement OCR and AI-powered transcription workflows, apply computer vision and advanced text analysis techniques, and develop interactive web applications that serve as research tools for historical inquiry.

This course moves beyond R to demonstrate how computational thinking principles translate across programming languages. While some assignments will continue using R, students will also learn to apply the same core analytical concepts to other languages like Python and SQL. The syntax may change, but the fundamental computational thinking patterns remain consistent. Students will be aided by tools like GitHub CoPilot for coding syntax and troubleshooting when necessary, allowing them to focus on methodological understanding rather than getting stuck on technical syntax barriers.

Students will complete four mini assignments that apply these advanced methods to primary sources related to their research. For each assignment, they will conduct computational analysis and then write a 2-4 page paper discussing the method and its application to specific historical questions. The course continues to emphasize the core belief that history drives the digital, not the other way around. Through this approach, students develop both technical proficiency and critical evaluation skills necessary for integrating computational methods with traditional historical inquiry. Students will leave the class prepared for original research that leverages these advanced techniques to answer complex historical questions.

Learning objectives
  • Develop technical skills for advanced digital scholarship. Students will create relational databases, build processing pipelines, develop interactive web applications using Shiny, and maintain reproducible research practices through version control, preparing them for original research and dissertation work that leverages computational approaches.
  • Evaluate and implement advanced digital methods. Students will critically assess and apply specialized techniques including database design, OCR/AI transcription, computer vision, named entity recognition, text reuse detection, topic modeling, and vector alignment to address specific historical research questions.
  • Apply computational thinking principles across multiple programming environments. Students will demonstrate the ability to transfer core analytical concepts from R to other programming languages including Python and SQL, understanding that while syntax varies, fundamental computational logic remains consistent across platforms.
  • Practice reproducible research and effective documentation. Students will create clear documentation of their computational processes, maintain reproducible workflows through GitHub, and effectively present their methodological choices and findings to scholarly audiences.
  • Navigate AI technologies and their appropriate applications. Students will understand the broad spectrum of "artificial intelligence" technologies beyond large language models, evaluate when and where these methods might be appropriate for historical research, and maintain responsible AI usage policies that limit AI assistance to coding support while preserving scholarly integrity. See the courses AI policy for more information about AI for coding support.
Assessment
Database Project & Analysis
20%
OCR + AI Transcription Project & Analysis
20%
Computer Vision or Advanced Text Analysis Project & Analysis
20%
Visualization Project & Analysis
20%
Participation and Failure Journal
10%
Digital Methods Reflection
10%
INSTRUCTOR
Dr. Amanda E. Regan
aeregan@clemson.edu
Hardin Hall 004
OFFICE HOURS
My office hours are flexible and you can schedule a time to meet with me. I am generally on campus Monday through Wednesday. Please be sure your failure journal is up to date when scheduling an appointment. Book an appointment.
REQUIRED TEXTS AND PURCHASES
  • Anthony DeBarros, Practical SQL
  • Hadley Wickham, Mastering Shiny
Schedule CLICK A WEEK FOR DETAIL ↓
WK
DATE
TOPIC
DUE
W01
Aug 20
Introductions, R in VS Code & R vs Python
Introductions and syllabus overview; R in VS Code review; R vs Python overview.
—
›

Wed · Aug 20 — Introductions and syllabus overview · R in VS Code review · R vs Python overview

Readings, tutorials, or videos (to be completed before class)
  • GitHub CoPilot in VS Code Documentation
  • If you haven’t already, please download and install the following:
    • Download Python. To check to see if its already installed on your machine type which python3. Use the commands above to verify your installation worked. If you don’t have python installed, you can install it using homebrew (Mac OS only): brew install python3. Linux users can use their package manager to install python. Windows users should use the official installer from python.org.
    • Download (or update) R
    • Download VS Code
    • Sign up for GitHub Education which allows you access to the GitHub Copilot extension for VS Code for free.
Unit 1 · Data Infrastructure and Management
W02
Aug 25–27
Database design and relationships
Designing a relational database; Wed Tech Table.
SchemaTech Table Qs
›

Mon · Aug 25 — Database design and relationships

Readings, tutorials, or videos (to be completed before class)
Tech Table mini-assignment · Build a schema for a simple relational database
  • Draft a schema for a relational database based on your own research and primary sources (preferred) or use one of the datasets in the DMData package. Note that if you are using a dataset from Digital Methods Data, you’ll need to load the dataset and then write it to disk in R first. If you are using a very large dataset, consider taking a random sample to make the dataset a bit more manageable for experimentation (50-100 rows).
  • First, draft what you think an ideal set up would look like.
  • Describe it to CoPilot and work to refine your set up and build a SQLite3 database.
  • Ask CoPilot to create a Data Model Summary and Schema Diagram and write them to a ReadMe file.
  • Be prepared to discuss in class on Wednesday. Please make a reasonable start on this assignment and we’ll troubleshoot and discuss if necessary in class.
  • Keep notes about how you use CoPilot to refine your setup and post a 1 paragraph overview along with you tech table questions to slack.

Wed · Aug 27 — Tech Table

Due this week

  • Wed · Aug 27 — Meaningful start on schema for relational database
  • Wed · Aug 27 — Questions and paragraph overview of relational model (see above) to Slack by 10am
W03
Sep 1–3
Advanced SQL queries for historical analysis
No class Mon (Labor Day); advanced SQL queries Wed.
SQL queries
›

Mon · Sep 1 — No Class – Labor Day

Wed · Sep 3 — Advanced SQL queries for historical analysis

Readings, tutorials, or videos (to be completed before class)
  • DeBarros, Practical Guide to SQL, Ch 9-20
Tech Table mini-assignment · Build SQL queries
  • Using the relational database you built last week (Week 2), practice writing more complex SQL queries to explore your historical data in new ways.
  • Write 3-5 SQL queries that go beyond basic SELECT statements. Choose from these techniques:
    • using JOIN queries that connect multiple tables, Aggregate functions (COUNT, MAX, MIN, AVG) with GROUP BY, Filtering with conditions (WHERE clauses with AND/OR), or Sorting and limiting results (ORDER BY, LIMIT)
  • Post each SQL statement to slack and describe what question you were trying to answer. Note any trouble you had.
  • Since there is no tech table this week due to Labor Day, this tech table assignment and related questions are due Sep 10th.

Due this week

  • Wed · Sep 10 — SQL queries mini-assignment and related questions (no Tech Table this week due to Labor Day)
W04
Sep 8–10
Flask web interface for database management
Flask interfaces; Wed Tech Table on SQL and Flask.
Database ProjectFlask startTech Table Qs
›

Mon · Sep 8 — Flask web interface for database management

Readings, tutorials, or videos (to be completed before class)

Wed · Sep 10 — Tech Table: SQL and Flask review/troubleshooting

Project · Database Project & Analysis
  • Create a relational database for your historical research project using SQLite with a minimum of 30 entries, at least one junction/lookup table, and demonstrate its utility by writing at least one query that addresses a specific historical question relevant to your research.
  • Write a 2-4 page paper documenting your database structure, explaining the historical context and research questions that informed your design, and analyzing the results of your queries.
  • Create a GitHub repository with clear documentation and code.

Due this week

  • Wed · Sep 10 — Meaningful start on a Flask Interface
  • Wed · Sep 10 — Questions to Slack by 10am
  • Sun · Sep 21 — Database Project & Analysis, by 11:59pm
Unit 2 · Converting Historical Document Text to Digital Data
W05
Sep 15–17
OCR with Tesseract
Tesseract OCR in R and Python; Wed Tech Table.
Tech Table Qs
›

Mon · Sep 15 — OCR with Tesseract

Readings, tutorials, or videos (to be completed before class)

Wed · Sep 17 — Tech Table

Due this week

  • Wed · Sep 17 — Questions to Slack by 10am
W06
Sep 22–24
Vision APIs for OCR & transcription
OpenAI/Claude Vision API for OCR and transcription of historical documents; Wed Tech Table.
Tech Table Qs
›

Mon · Sep 22 — OpenAI/Claude Vision API for OCR and transcription of historical documents

Readings, tutorials, or videos (to be completed before class)

Wed · Sep 24 — Tech Table

Due this week

  • Wed · Sep 24 — Questions to Slack by 10am
W07
Sep 29–Oct 1
Work time & Tech Table
No class Mon — work on AI OCR and handwriting recognition; Wed Tech Table.
OCR ProjectTech Table Qs
›

Mon · Sep 29 — No Class - Work on AI OCR and Handwriting Recognition

Wed · Oct 1 — Tech Table

Project · OCR + AI Transcription Project & Analysis (20%)
  • Using 5-10 pages of historical sources related to your research, create processing pipelines using both Tesseract OCR and AI-powered transcription services.
  • In a 2-4 page analysis, compare and contrast these methods’ effectiveness with your specific source materials, discuss limitations unique to your documents, and propose strategies for improving transcription quality.
  • You must obtain approval for your sources and AI prompts before beginning, document all code in a GitHub repository, and test at least two different AI models.

Due this week

  • Wed · Oct 1 — Questions to Slack by 10am
  • Sun · Oct 12 — OCR + AI Transcription Project & Analysis, by 11:59pm
Unit 3 · Advanced Computer Vision and Text Analysis
W08
Oct 6–8
Computer vision & facial recognition
Distant viewing and computer vision; Wed Tech Table.
Tech Table Qs
›

Mon · Oct 6 — Computer vision & facial recognition

Readings, tutorials, or videos (to be completed before class)

Wed · Oct 8 — Tech Table

Due this week

  • Wed · Oct 8 — Questions to Slack by 10am
W09
Oct 13–15
Named entity recognition
No class Mon (Fall Break); named entity recognition Wed.
—
›

Mon · Oct 13 — No Class – Fall Break

Wed · Oct 15 — Named entity recognition

Readings, tutorials, or videos (to be completed before class)
  • Cameron Blevins, “Space, Nation, and the Triumph of Region: A View of the World from Houston”, Journal of American History, Volume 101, Issue 1, June 2014, Pages 122–147, https://doi.org/10.1093/jahist/jau184
  • Clément Besnier and William Mattingly, “Named-Entity Dataset for Medieval Latin, Middle High German and Old Norse” in Journal of Open Humanities Data, (2021).
  • Torsten Hiltmann, Martin Droge et. al, “NER4all or Context is All You Need: Using LLMs for low-effort, high-performance NER on historical texts. A humanities informed approach,” arxiv.org
W10
Oct 20–22
Methods for tracking text reuse
N-grams and shingling; Wed Tech Table.
Tech Table Qs
›

Mon · Oct 20 — Methods for tracking text reuse · N-grams and shingling

Readings, tutorials, or videos (to be completed before class)

Wed · Oct 22 — Tech Table

Due this week

  • Wed · Oct 22 — Questions to Slack by 10am
W11
Oct 27–29
Sentence transformers for semantic similarity
Semantic similarity and text reuse detection (catch up from last week); Wed Tech Table.
Tech Table Qs
›

Mon · Oct 27 — Sentence transformers for semantic similarity and text reuse detection (catch up from last week)

Wed · Oct 29 — Tech Table

Due this week

  • Wed · Oct 29 — Questions to Slack by 10am
W12
Nov 3–5
Neural language models & semantic change
BERT Mon; temporal word embeddings and semantic change Wed.
—
›

Mon · Nov 3 — Neural language models with BERT

Readings, tutorials, or videos (to be completed before class)

Wed · Nov 5 — Temporal word embeddings and semantic change

Readings, tutorials, or videos (to be completed before class)
W13
Nov 10–12
Tech Table & Shiny
Tech Table Mon; introduction to Shiny Wed.
CV/Text ProjectTech Table Qs
›

Mon · Nov 10 — Tech Table

Project · Computer Vision or Advanced Text Analysis Project & Analysis (20%)
  • Select either computer vision or one advanced text analysis method (NER, text reuse detection, topic modeling, or vector alignment) and apply it to your historical sources.
  • Write a 2-4 page analysis discussing your chosen method, the historical questions you investigated, your findings, and a critical assessment of this approach’s effectiveness for your research area.
  • You must propose your method choice for approval and maintain appropriate dataset sizes for meaningful analysis.

Wed · Nov 12 — Shiny

Readings, tutorials, or videos (to be completed before class)

Due this week

  • Mon · Nov 10 — Questions to Slack by 10am
  • Sun · Nov 16 — Computer Vision or Advanced Text Analysis Project & Analysis, by 11:59pm
Unit 4 · Interactive Web Applications and Data Visualization
W14
Nov 17–19
Flask web applications with Plotly
Tech Table Mon; Flask web applications with Plotly visualizations Wed.
Tech Table Qs
›

Mon · Nov 17 — Tech Table

Wed · Nov 19 — Flask web applications with Plotly visualizations

Readings, tutorials, or videos (to be completed before class)

Due this week

  • Mon · Nov 17 — Questions to Slack by 10am
W15
Nov 24–26
Work time & Thanksgiving Break
No class Mon — work on your final visualization project; Thanksgiving Break Wed.
—
›

Mon · Nov 24 — No class - work on your final visualization project.

Wed · Nov 26 — Thanksgiving Break – No Class

W16
Dec 1–3
Flask styling, layout & hosting
Flask styling, layout, and hosting options; Wed Tech Table.
Visualization ProjectTech Table Qs
›

Mon · Dec 1 — Flask styling, layout, and hosting options

Readings, tutorials, or videos (to be completed before class)
  • TBD.

Wed · Dec 3 — Tech Table

Project · Visualization Project & Analysis (20%)
  • Design and build either a Shiny (R) or Flask with Plotly (Python) web application that serves as a research tool for historical inquiry, whether visualizing analytical results, providing database interfaces, or offering other research functionality.
  • Deploy your application online and write a 2-4 page paper introducing your visualization, explaining its research applications, demonstrating how it advances historical understanding through digital methods, and justifying your choice of framework (Shiny vs. Flask) based on your project goals and technical considerations.
  • You must discuss your concept for approval before development and include user documentation.

Due this week

  • Wed · Dec 3 — Questions to Slack by 10am
  • Tue · Dec 9 — Visualization Project & Analysis, by 7pm
FIN
Dec 9
Final exam period · Showcase
Showcase of data visualization apps and projects, 7–9pm.
Final Reflection
›

Tue · Dec 9, 7-9pm — Final Exam Period

Showcase of Data Visualization Apps and Projects.

Due this week

  • Sun · Dec 14 — Final Reflection, by 11:59pm
Assignments & Grades
Database Project & Analysis (20%) ›
Create a relational database for your historical research project using SQLite with a minimum of 30 entries, at least one junction/lookup table, and demonstrate its utility by writing at least one query that addresses a specific historical question relevant to your research. Write a 2-4 page paper documenting your database structure, explaining the historical context and research questions that informed your design, and analyzing the results of your queries. Create a GitHub repository with clear documentation and code.
OCR + AI Transcription Project & Analysis (20%) ›
Using 5-10 pages of historical sources related to your research, create processing pipelines using both Tesseract OCR and AI-powered transcription services. In a 2-4 page analysis, compare and contrast these methods’ effectiveness with your specific source materials, discuss limitations unique to your documents, and propose strategies for improving transcription quality. You must obtain approval for your sources and AI prompts before beginning, and document all code in a GitHub repository.
Computer Vision or Advanced Text Analysis Project & Analysis (20%) ›
Select either computer vision or one advanced text analysis method (NER, text reuse detection, topic modeling, or vector alignment) and apply it to your historical sources. Write a 2-4 page analysis discussing your chosen method, the historical questions you investigated, your findings, and a critical assessment of this approach’s effectiveness for your research area. You must propose your method choice for approval and maintain appropriate dataset sizes for meaningful analysis.
Visualization Project & Analysis (20%) ›
Design and build either a Shiny (R) or Flask with Plotly (Python) web application that serves as a research tool for historical inquiry, whether visualizing analytical results, providing database interfaces, or offering other research functionality. Deploy your application online and write a 2-4 page paper introducing your visualization, explaining its research applications, demonstrating how it advances historical understanding through digital methods, and justifying your choice of framework (Shiny vs. Flask) based on your project goals and technical considerations. You must discuss your concept for approval before development and include user documentation.
Participation and Failure Journal (10%) ›
Participation includes regular class attendance, active engagement in classroom activities, thoughtful interaction with course readings and materials, and timely completion of weekly coding assignments and exercises. Each Wednesday “Tech Table” session is student-driven troubleshooting focused on the week’s concepts and assignments. Students must make reasonable progress on weekly assignments before attending and submit questions about course material to the Slack channel by 10am on Tech Table days. The Failure Journal, due each Monday before class unless otherwise noted, serves as a log of your weekly work and a reflection on your learning process, documenting troubleshooting resources, strategies attempted, errors encountered, and solutions discovered.
Digital Methods Reflection (10%) ›
Write a reflective essay examining your development across the digital history methods sequence (Methods I, Methods II, and any additional DH courses). Define your current research interests and evaluate which digital approaches prove most effective and relevant for your scholarly goals. Assess your technical skills, methodological preferences, and areas of expertise as you prepare for original research in the digital history seminar. This reflection should demonstrate critical thinking about the relationship between digital tools and historical inquiry while articulating your emerging identity as a digital historian.
Grading scale ›
  • A (94-100%))
  • A- (93-90%)
  • B+ (87-89%)
  • B (84-86%)
  • B- (80-83%)
  • C+ (77-79%)
  • C (74%-76%)
  • C- (73-70%)
Required materials ›
  • Anthony DeBarros, Practical SQL
  • Hadley Wickham, Mastering Shiny
  • OpenAI API Key - Please create a developer account and load at least $20 in so that we can experiment with the API for OCR and Image recognition.
  • Optional Materials that May Be Helpful:
  • Eric Matthes, Python Crash Course
Policies & Procedures
Attendance and absence policy ›

Regular attendance and active participation are essential components of this class. Students are expected to attend all class sessions and engage meaningfully in discussions, activities, and collaborative work. Given the workshop-style nature of many class meetings and the importance of collaborative troubleshooting in the digital history process, your presence contributes not only to your own learning but to the success of your classmates’ projects as well.

If you must miss a class due to illness or other unavoidable circumstances, please notify the professor as soon as possible and make arrangements to catch up on any missed content or assignments. Frequent absences will negatively impact your participation grade and may hinder your ability to complete the course successfully.

Late work policy ›

Due to the technical nature of this course and the importance of maintaining consistent engagement with computational methods, it is essential that students keep up with the pace of coursework outlined in the schedule. Each assignment is designed to be reviewed and troubleshot during Tech Table sessions, where students can ask questions and work through technical challenges with peers and the instructor. Students who fall behind on assignments will miss these crucial opportunities to troubleshoot and develop fluency with each method. Given the pace of the course and the introduction of new methods each week, missing these collaborative problem-solving sessions can significantly hinder a student’s ability to master the technical skills necessary for advanced digital history work.

All assignments are due on the dates specified in the syllabus. Late submissions will result in a 10% grade deduction for each day the assignment is overdue. Assignments more than 7 days late will not be accepted. Given the scaffolded nature of this course, where each component builds upon the previous one, students must start early and work efficiently throughout the semester. Extensions may be granted only in exceptional circumstances and must be requested well in advance of the due date.

AI use policy ›

This course teaches advanced digital history methods involving R, Python, and other programming languages. You are encouraged to use AI tools (ChatGPT, Claude, Copilot, etc.) as coding assistants and learning coaches to help you debug code, troubleshoot errors, learn syntax and programming concepts, understand functions and methods, get assistance with code structure and optimization, and interpret error messages. However, you must maintain rigorous standards for their use and remember that you are the historian with domain expertise.

When using AI for coding assistance, you must understand every line of AI-generated code before submitting it, test and verify all AI-suggested solutions, and remain responsible for checking AI work for accuracy and appropriateness to your specific historical research context. You must stay the “historian in the loop,” making informed decisions about your research and code rather than blindly accepting AI suggestions. Use AI as a tool to enhance your learning and productivity, not as a crutch that prevents you from developing essential programming skills.

AI use is strictly prohibited for things like data analysis, interpretation of results, writing papers, reflections, or any written assignments, generating historical arguments or conclusions, or completing assignments without genuinely understanding the underlying processes and concepts. Any use of AI for analysis or written work will result in immediate failure of that assignment and potentially the class. Remember that per the Graduate Handbook’s minimum grade policy and the Graduate School’s probation policies, failing this course (defined as less than a C) may result in academic probation. It may also lead to the termination of your assistantship or dismissal from the program. You are the historian with specialized knowledge and critical thinking skills that cannot and should not be outsourced to AI systems.