I do not think that digital humanities students should be required to learn to program. Instead, I believe DH students should be required to engage in computational thinking exercises . In his blog post, Donahue argues that “students should learn to program, but they should not let their inability to program prevent them from engaging with computer science”. While I agree with this statement, I believe that programming is essential to understanding computer science not only because it forms the foundation of digital platforms but because it teaches students the processes essential to thinking computationally. Programming is not just about learning a language, it is about learning how to abstract big problems into smaller problems. It is about learning how to develop algorithms and thinking about concepts as a series of questions that have a simple answer. CS is about pattern recognition – discovering links between ideas. These concepts are the most important part of programming, not just learning the syntax. While you can learn about abstraction in other ways, learning to code is an easy way to do so.
Kirschenbaum’s post mentions an exercise in computational thinking, “the snowball exercise” where he asks his students to think about what making a snowball entails. Kirschenbaum argues that the core of computer science is modeling, something integral to the digital humanities. However, I agree with Donahue that programming is not the only way to learn how to model.
Overall, I think learning how to think computationally should be required for all digital humanities students. Engaging in computational thinking does not require prior knowledge of CS and therefore mitigates the limiting nature of coding. In my high school, our Computer Science club provided computational thinking lessons for middle school students asking them to develop pseudo code algorithms for tic tac toe and chess. These kinds of exercises encompass the benefits of coding.
<!DOCTYPE html>
<html>
<body>
<h1> Welcome to Hacking the Humanities </h1>
<p> These are some of the labs we have done </p>
<ul>
<li> Intro: 3D Basics </li>
<li> Analyzing DH Projects </li>
<li> Web Development Fundamentals </li>
</ul>
</body>
</html>
In high school, I took 4 CS courses. I am very familiar with Java, familiar with C#, and had a brief interaction with HTML although I forgot all of it coming into this course. I found the CSS and HTML tutorials quite easy to follow. I like how the tutorials were broken down into the different physical characteristics of a web page for each language. Coming in with previous coding experience it is easier to understand new coding languages because even if the syntax is different the concepts are similar.
Hi Aurelia, I agree that the concept of computational thinking is really essential to grasping the power of computer science. I took a CS class in high school and we totally did that tic tac toe exercise but with making a peanut and butter sandwich. I think it’s a really interesting way to think and seriously not intuitive to me but I’ll always remember that activity!
I agree with your point of computational thinking skills and its benefits in research. I wonder what and how the access to learning these skills would work, as CS is usually a skill that is highly privatized and overcomplicated. This is a point I touch on in my response, maybe the access to computational skills would be easier but I know my own k-12 district did not offer any of these education opportunities.