For decades, historians have witnessed the shift from physical to digital research environments. Primary sources that once required travel to physical archives are now accessible through vast online repositories. This shift has altered the way historians engage with sources and conduct research, requiring not just historical knowledge but also technical skills to make full use of these digital platforms. However, digital tools are not merely about scanning and hosting texts or images online. A good database requires user-friendly design, meaningful metadata, and robust search engines. Historians should engage not only as users but also as designers and maintainers of these resources. Despite opportunities to do so, many historians remain reluctant to learn coding or digital literacy.
This hesitation puts history undergraduates at a disadvantage. First, they need guidance in navigating both historical databases and online spaces such as social media. Today’s information landscape is filled with misinformation and bad sources, making digital literacy essential for everyone. Historians with coding skills are uniquely positioned to teach students how to critically analyze information and technology. Second, historians must understand the logic behind the tools we use in research. Coding offers the clearest window into that logic. From Optical Character Recognition (OCR) to data visualization and natural language processing (NLP), coding can greatly expand the scope of historical research. Finally, we must bridge the divide between humanities and science. Historians can offer valuable insights into technical fields because they excel at identifying biases, a skill crucial for improving machine learning models and algorithms.
Shared Skills Between Historians and Coders
One of the most common concerns I hear from history undergraduates is, “I don’t know if I can code.” However, history and coding share more in common than most people realize. Both disciplines require a detective’s mindset – an ability to pursue leads, cross-reference evidence, and creatively uncover hidden connections. Historians are skilled at tracking down people, events, or sources from fragments, examining multiple perspectives, and identifying patterns in seemingly unrelated information. Coders perform similar tasks when debugging or building software. Like historians, programmers often start with a problem and sketch a roadmap toward solving it, troubleshooting every step. Even the smallest details, such as a missing comma, can derail a solution, much like an overlooked source can skew historical interpretation.
The creativity in both fields lies in piecing together disparate elements to form a coherent whole. For historians, it could be reinterpreting events based on newly uncovered documents; for coders, it might be restructuring algorithms to optimize performance. In both cases, the work relies heavily on problem-solving and attention to detail.
Additionally, many historians are already familiar with learning new languages – a skill that makes coding more approachable. Programming languages like Python are similar to learning the syntax of a spoken language: both require practice, patience, and a tolerance for mistakes. A recent study found that the brain processes programming languages similarly to natural ones, reinforcing the idea that coding can feel intuitive to those with linguistic experience.
The most significant barrier, however, is often self-doubt. Many beginner coders believe they aren’t capable, especially those from the humanities, mirroring the misconceptions around math – that only some people are “born” for it. But the truth is that the coding community is known for being diverse and welcoming, with many self-taught programmers from non-technical backgrounds. Coding has never been confined to STEM fields: political scientists analyze election data, art students create interactive designs, and linguists conduct computational text analysis. Similarly, historians can harness coding to access more data, analyze large corpora, or build tools to aid in archival research.
Ultimately, coding is most powerful when combined with domain expertise. A historian who learns to code can design custom tools to conduct advanced searches, scrape unconventional sources, or visualize historical trends in ways that wouldn’t be possible through traditional methods alone. This synthesis of historical knowledge with coding skills opens new doors, enabling historians to expand their research capabilities and engage with the digital world more fully.
How Coding Can Aid Historical Research
Coding offers historians powerful tools that enhance every stage of research – finding topics, gathering sources, conducting analysis, and refining the final product. It allows scholars to engage with larger datasets, automate repetitive tasks, and explore sources in innovative ways, broadening both the scope and depth of historical inquiry.
At the beginning of a project, coding can help historians scan large collections of secondary literature to identify trends, track historiographical shifts, and locate underexplored topics. Platforms like Constellate integrate coding environments with access to JSTOR, making large-scale literature reviews more efficient. This approach reveals patterns that would be difficult for individual researchers to uncover manually.
Coding also aids in gathering primary sources by automating the collection of online archives, government databases, or unconventional materials such as social media. Web scraping allows historians to explore beyond traditional archives, introducing new perspectives and expanding the reach of their research.
During analysis, NLP tools help historians analyze massive text corpora, such as entire collections of newspapers or personal correspondence. Macro-level analysis can detect themes, sentiments, or biases that are otherwise difficult to identify. Coding thus complements individual interpretation by bridging small-scale insights with large-scale data.
The rise of tools like Large Language Models (LLMs) presents new opportunities but also demands the critical oversight of historians. LLMs generate responses beyond their explicit programming, often replicating human biases embedded in their training data. Historians are particularly suited to identify and address these biases, demonstrating that coding is not just a valuable skill for historical research – it also benefits from the historian’s analytical expertise.
In the final stages of research, coding can streamline workflows by automating routine tasks such as cleaning bibliographic data or managing citations. These automations free up time for deeper analysis, making research more efficient. The reciprocal relationship between coding and history shows that coding enriches historians’ work, supporting both creativity and ethical inquiry.
In a world where digital systems shape much of daily life, understanding how code operates is essential. The July 19, 2024 IT outage caused by a single coding error, disrupted critical services across transportation, healthcare, and law enforcement across the globe. Historians with coding skills are better positioned to critically engage with the technologies shaping modern life, ensuring that the past informs our understanding of the digital present.
How To Start Coding As A Humanist Undergraduate
For students in the humanities, the best way to learn coding is through courses designed for non-engineers. Many universities now offer such introductory programming courses. Some non-STEM departments, like political science, frequently offer their students data analysis courses. If such courses are not available, students can take advantage of online coding courses and boot camps.
Python is the most suitable programming language for beginners in history. It is widely used in data analysis, machine learning, and NLP, making it ideal for tasks like text mining or building research tools. Python’s simplicity and readability allow students to focus on problem-solving rather than getting bogged down in complex syntax.
Once students acquire basic coding skills, it is essential to practice through personal or academic projects. Coding, like learning a new language, requires regular practice to retain proficiency. Ideally, history programs should integrate coding into some research seminar courses, with instructors providing mentorship throughout the process. Collaboration between humanities and STEM departments can also foster interdisciplinary project-based courses that enhance learning outcomes.
In cases where institutional support is limited, students can seek out online textbooks, workshops, tutorials, or coding camps to continue developing their skills. These collaborative spaces provide valuable opportunities to work with like-minded peers and overcome challenges together. As with historical research, coding thrives in environments that encourage experimentation and exchange of ideas.
Conclusion: Coding as a Necessary Skill for Future Historians
Incorporating coding into historical research is not just a trend – it is a necessary evolution in the field. Coding allows historians to access and analyze sources more effectively, engage with new research methods, and participate in interdisciplinary collaborations. It also equips students with valuable skills that are transferable to careers in public history, data analysis, and digital archiving.
The distinction between the humanities and sciences is becoming increasingly blurred. Coding offers a way for historians to bridge this divide, demonstrating that technology can enhance, rather than diminish, humanistic inquiry. In doing so, it ensures that the history major remains relevant and adaptable in the rapidly evolving digital world.
Featured photo: pixabay https://pixabay.com/illustrations/analytics-information-innovation-3088958/ (edited by me)
Leave a comment