Let me start this off by saying this is not the first experience I’ve had with coding or with using terminal-based applications. Despite being a History major, I’ve always had quite a computer bent. I didn’t go into Computer Science because I can’t grasp advanced math, but working with computers is something I’m very comfortable with. So, I probably had a very different experience than some of the others in this course.

With that aside, to the question of this post: is coding a valuable thing for Historians to know how to do and is The Programming Historian a good way of teaching it? The answer to that question would be “yes” and “for the most part”.

Computers can process information way faster than a person can and coding can be a very quick and efficient way to get the information you need from a large pool of sources. However, it can be very intimidating to someone new to it, especially when things don’t go as planned and your computer starts spitting out error messages that don’t always make too much sense to people unfamiliar to computer terminology. The Programming Historian is pretty good at introducing historians to coding and what it can do for them, but there are some problems with it.

One of the biggest problems I have with The Programming Historian is that it doesn’t really ever tell you much about troubleshooting errors, something that any coder will absolutely encounter. Nobody, not even the world’s greatest coder, will always write perfect code on the first try. It could be something as simple as a typo, but you will still get an error message. Understanding the basics of a code like Python is great, but if you have no idea what to do if an error pops up, then you are not going to get very far as a coder. The Programming Historian has virtually no reference to errors and troubleshooting. While I have had enough experience with computers to be able to decipher the root of many error messages, other people have not. So, they are potentially left completely stuck when even an error message shows up. Sure, you could just download the proper code at the end of the lesson, but that doesn’t really solve the problem. Knowing what a piece of code does is good. Knowing how it does it is much, much better.

The Programming Historian also has a tendency to not explain how pieces of code work, particularly in the later, more complex lessons. It explains what a certain block of code is going to do, but not exactly how. You are often left writing certain functions that you have no idea what they mean, just what the finished product will end up doing. Again, as I said, knowing what a piece of code does is good, but knowing how it does it is better.

Programming can be very useful for a historian trying to work with digital sources and is a good thing to learn. The Programming Historian is also a good source for teaching those without a background in the field how coding can be useful for them, but it does leave some things, like knowledge on troubleshooting errors, to be desired.