Coding resources

One of the fundamental skills that makes digital humanities projects possible is knowledge and use of programming languages to build software and run programs that make all the functions and cool stuff on a website, visualization, word cloud, text analysis tool, etc. actually work. While there are tons of pre-made tools and software you can use to make a DH project that won’t require you to code, each software has its limitations and restrictions, and being able to tailor something or build something to meet your project’s specific needs is not only invaluable, but also incredibly liberating.

Many humanists, who are often used to qualitative thinking and analysis, find the idea of programming to be daunting. That’s okay; feelings of apprehension towards coding languages are completely valid, and we acknowledge that there can be a huge learning curve to starting to learn a new computational language. There are also so many programming languages out there that it can often be overwhelming to decide what you need. To simplify what you need to know, here’s a quick guide on which programming languages are commonly used for different types of digital projects:

Text analysisMaps, web-building, digital collections, digital exhibitsData visualization
Python, RHTML, CSS, JavaScript,
SQL (for databases)
Python, R, JavaScript

Luckily, there are plenty of amazing resources for those interested in gaining fluency in a programming language. This list includes resources for learning languages that are most commonly used for text analysis and collections as data work. If you’d like to learn a language that’s not on this list, feel free to contact the Digital CoLab to chat about what resources could work for your individual project.

Python

(More soon!)

  • Introduction to Cultural Analytics & Python, ver. 1 , Melanie Walsh (2021):
    In this handy open source digital textbook, Melanie Walsh presents introductory Python tutorials and text analysis methods as quantitative approaches to cultural study. It’s intended for learners with no prior programming experience. There are also resources for analyzing texts in non-English languages, including Spanish, Chinese, Russian, Portuguese and Danish.

HTML and CSS

Hypertext Markup Language and Cascading Style Sheets go together, in the sense that HTML controls the function of elements on a webpage and CSS controls how those elements look. For this reason, most tutorials for HTML will include CSS and tutorials for CSS must include HTML (otherwise you wouldn’t actually see anything on the screen).

  • W3 Schools HTML Tutorial and W3 Schools CSS Tutorial
    W3Schools has an interactive tutorial for almost every commonly-used programming language, but their HTML and CSS tutorials are particularly robust (which makes sense since W3 stands for WWW, World Wide Web). Each tutorial includes the option to open up a code playground where you can mess with the prepared code for the lesson and see how it works.
  • Learn web development – MDN Web Docs
    This clear and informative guide created by Mozilla walks you through the basics of web development from the basics of HTML to assessing your site’s performance (full circle!).
  • Build a Website with HTML, CSS, and GitHub Pages – Codecademy
    A free course from Codecademy for building a web page using HTML and CSS, which you serve to the web using GitHub, a cloud-based version control system that lets you track and publish your code.
  • HTML & CSS Full Course – SuperSimpleDev
    This is a 4-hour YouTube course that walks you through, in super simple language, the fundamentals of HTML and CSS up to static web-building. This is good for those who learn well by following along and having structure.

JavaScript

JavaScript is what runs all the fancy stuff on a webpage, like interactive graphics, data visualizations, functions, and other elements that make a site or application truly interactive. Before you start learning any JS, make sure you understand the fundamentals of HTML and CSS first.

  • W3 Schools JavaScript Tutorial
    W3Schools JavaScript tutorial builds on the HTML and CSS tutorials and has the same interactive code playground that the other tutorials from W3 have.
  • Dynamic scripting with JavaScript – MDN Web Docs
    Part of Mozilla’s “Learn web development guide” that builds on the basic HTML and CSS skills you’ve learned already.
  • The Modern JavaScript Tutorial
    This tutorial site is incredibly comprehensive. It can become a bit overwhelming to navigate pages given the sheer amount of information, but you can search through the site to find what you’d like to learn how to do.

R

The one-letter programming language R was developed by statisticians Ross Ihaka and Robert Gentleman (get it?) to support instruction for an introductory statistics course at the University of Auckland. Since it is well-suited for running statistical analyses and creating data visualizations, there are strong user bases among folx working in data science and social science fields.

SQL

Structured query language is a programming language used for managing databases (storing, retrieving, and manipulating information within databases). Some web-builders, like WordPress.com sites, run on databases that enable dynamic functions through an SQL database and an accompanying PHP (Personal Home Page/Hypertext Processor) server.

  • SQL Bolt
    Super simple interactive SQL tutorial with a built-in code playground for completing lessons in-line.
  • SQL Tutorial – freeCodeCamp.org
    This video tutorial is a bit outdated, but freeCodeCamp has other, shorter, more recent videos to fill in the gaps and the fundamentals are largely the same.

on this page