Coding Literacy for Historians in the Age of AI
17-18 Oct, 2025
17 Oct: 11:00-17:00
18 Oct: 10:00-17:00
Old Class Library
65-71 South Street
St Andrews
Facilitators:
Charlotte Disley
Kiara de Vore
Workshop overview
This SGSAH Discipline+ Catalyst training event is for doctoral research students who are based at SGSAH universities who want to learn some of the fundamentals of reading and critically assessing programming code, understand how to use generative AI in the form of large language models (LLMs) to generate and manipulate code, and explore simple workflows for building simple digital artefacts and tools without becoming full‑fledged programmers.
Large language models are increasingly integrated into many of the websites and software applications around us. Generative AI is a topic of much debate, especially in education contexts, but in the humanities this is often primarily focused on using these tools for direct knowledge queries and in the writing process. Beyond this, however, LLMs have a lot to offer researchers in the humanities who want to engage with a world of coding and computational approaches. This workshop helps you develop a foundational knowledge around key technologies: how to begin using LLMs to create code and digital objects, manipulate files on the command line, and understand some of the limitations and challenges you are likely to encounter.
Participants do not require any specific previous experience related to programming, design, or the digital humanities but will be asked to bring a laptop and charger with them to the event.

Signing up
This workshop is for up to 24 PhD students from SGSAH member univeristies and is run by Konrad M. Lawson, lecturer in the School of History (kml8@st‑andrews.ac.uk) at the University of St Andrews.
Transport Support: Reimbursement is offered for public transport costs to the event from within Scotland. There are also very limited funds available to reimburse one overnight stay in St Andrews.
Please sign up for the in-person workshop here by Wednesday 15 October:
Learning goals
- Interpret code - Introduction to interpreting computational instructions encountered in a range of contexts, as a kind of text and appreciate the value of a capacity to read, deconstruct, and analyse code as a skill often distinct from the capacity to write it effectively
- Web Foundations - Understand the role and explore the functioning of the key components in the web browsing experience (HTML, CSS, JavaScript, cookies/sessions, APIs, server‑side scripts, and databases)
- Working with the Command Line - Navigate comfortably within the command line in a UNIX‑like environment and engage with command line commands and be able to find help in using them when needed
- Programming Foundations - Understand basic components of programming languages that are shared across many languages including the concepts of variables, functions, conditionals, loops, and code libraries
- Code Reading Basics – Practice analysis of code in unfamiliar languages and, using online tools, including large language models, deconstruct their functionality and identify their limitations
- Maker Session - Create a digital artifact using language models, such as a web page, digital visualization, analysis tool, or file processor.
- Evaluate and Critique - Evaluate large language model (LLM) outputs, identity problems, and begin acquiring a capacity for critical reading of code and the limitations of LLMs.
Schedule
Please note the different starting time on the two days.
Day 1 – 17 October
Hate them; love them; fear them; Whatever you feel, generative AI isn’t going anywhere. To see the real power of LLMs (for good or ill), including for historians, we need some skills to understand how they can create and manipulate code.
While installed apps have eroded its dominance, web browsers and the technology behind them continue to be a critically important way to interact with users. Websites are a common output of LLMs. This session will introduce key technologies behind this and how to use browser ‘developer tools’ to explore what is going on under the surface. Participants will practice analysing some websites to deconstruct their structure and functionality.
Most operating systems today use graphical user interfaces in which clicks and taps are the name of the game. As in the title of Neal Stephenson’s famous rant, ‘In the Beginning… Was the Command Line’ the command line interface (CLI) was long the primary way to communicate with a computer. It never went away, and today it is more useful than ever for engaging with powerful coding capabilities of LLMs. Let’s learn some of the key basics: Navigating the operating system, manipulating files, running scripts/commands (including those that Large Language Models produce for you), and getting help.
Day 2 – 18 October
This session will introduce some of the basic building blocks of programming used in most languages. We will be using the language Python in our examples. Even without learning to write code, we can use our existing skills engaging with historical primary sources, as well as LLMs and online search, to approach these unfamiliar texts and their structure. During the interactive part of this session participants will be distributed some different examples of code to read and analyse.
“Computer programs are stupid. They just do exactly what you tell them to do.” Those were the days. LLMs sometimes do what you ask them to do, they sometimes give you great answers, and they sometimes give you consistent output when performing repetitive tasks. Sometimes they don’t…at…all. This interactive session has two goals: Build up a healthy distrust for the LLM through examples and develop a workflow for creating digital artifacts and tools with our unreliable narrator.
This session will be in groups. Everyone will make use of the workflow we discussed in the morning to create something of their own using LLMs. A list of sample projects will be provided if your own ideas don’t work out. Create –test – iterate – rebuild, and at each stage, keep an eye out for what it is getting added or removed by the LLM.
Using examples from playtime, we will explore challenges that you came across. We will expose lies, denounce folly, and celebrate unexpected success (of the LLMs)! We will highlight examples of how challenges were worked around, or expectations were re‑adjusted. We will, at all times, retain our scepticism about the outputs.