About this course

This is the course material page for the Programming for Digital Humanities course at the University of Helsinki.

The course teaches the basics of Python programming for humanities students. Python is a widely-used programming language in digital humanities.

Learning goals

The target group of the course are people who are complete beginners in programming, and the course teaches just the basics, with a view to enabling the student to participate in follow-up courses and tutorials.

In more detail, after the course, the student is able to:

  • Understand what programming is
  • Write simple programs that help in e.g. data processing
  • Have a rudimentary understanding of the kinds of things done through programming in the digital humanities and data science
  • Based on the above, be able to deepen their knowledge in a directed manner by selecting and completing more focused courses, reading online tutorials etc.

Course structure

The course bases heavily on the Python Programming MOOC developed at the Department of Computer Science at the University of Helsinki. This means that in practice, the course mainly consists of online self-study exercises coupled with a support channel. The reason for this is that active self-study has been shown by research to be the most effective way to learn programming.

How the course differs from the CS MOOC is 1) in framing, which is tuned specifically to people coming from the humanities and 2) after week four, the content will also start to differ. In the first four weeks, you will learn the fundamental concepts. After that, it makes sense to tune also the contents a bit to match the type of work done in digital humanities and data science.

For another summarisation of what the course is about, the slides from the introductory session are here. A recording of the session itself is available here.

Support channels on the course

Support on the course is given through a Slack channel. To access this, join the dhintros Slack and add the channel #dh-programming-2024.

Support is given based on the following principles:

  1. Before you ask for support on Slack, you need to have done the following:
    1. Googled for any error messages the program gave you and tried to resolve the problem using the information gained from the pages returned by your search.
    2. Copy-pasted the problem and the error to the course AI assistant, and tried to resolve the problem using its help.
  2. You need to ask for help on the common Slack channel, not via a private message. This way, others can also benefit from the answers.

For the first four weeks, you may also want to check out the support offered by the Python Programming MOOC, particularly their Discord server.

Additional resources

Note that none of the below is required reading for the course! However, often it's helpful to see the same thing explained in multiple ways. So, these are provided for you to try and see if they're useful to you!

Fundamental concepts of programming for humanists

The Computational Literacy course has one week on the fundamental concepts of programming for humanists, which tries to cram the absolute fundamentals into as minimal a space as possible. It may be useful as a succint contrast, reference, curriculum or skeleton to fill in. Additionally, I'd be very interested in hearing feedback on how these two approaches contrast.

Lecture recordings

These lectures are originally made and used in the course "Introduction to Programming" from the Department of Computer Science at the University of Helsinki. See the course page for that course for more information.