Humanities Students and Programming

Humanities Students and Programming:

Before the rise of empires in Europe, each small community had to fill the roles of feeding, healing, peacekeeping, teaching, parenting, and entertaining. But now, everything can be outsourced. White collar workers work long hours, and then they often outsource their cooking, lawn care, cleaning, and even childcare. It is not nearly as important for people to master so many different skills. The same is essential for humanities students learning to program. I believe everyone, including students of the humanities, should understand the concepts of a program so that they are able to ask the right questions. But, I don’t think they should master programming unless that is their field. Professor Matthew Kirschenbaum argued that humanities students should learn to program.

“I was granted permission to use the computer language Perl in lieu of proficiency in the second of two languages that my department required for the Ph.D. I successfully made the case that given my interest in the digital humanities, this was far more practical than revisiting my high-school Spanish” (M. Kirschenbaum).

He makes an interesting case. While it is definitely easier to learn Perl than it is to learn Spanish, both Perl and Spanish will allow your works (and collaborated works) to reach a significantly larger audience. Evan Donahue is a digital humanist who argues that computer programming can be a large mountain for some people to climb. He claims“students should learn to program, but they should not let their inability to program prevent them from engaging with the computer sciences” (E. Donahue). Donahue is making a case that there are so many people who know how to program, that not all humanists need to learn. They only need to be able to ask the right questions. I regress back to my original point. In today’s world, it is effortless to outsource work that you have not mastered or do not have the time for. 

My Programming Experience:

I was very lucky to have an exceptional computer science program at my high school. I was able to take three years of computer science: introduction in Python; intermediate in C++; and AP in Java. I have learned several algorithms and developed countless small programs. Programming is automatic to me. Below is a very small code sample of the game Fifteen which I developed for my Java final project in High School. This is a Google Drive link to the .JAR file if you want to play around with it (it might say the file is malicious, but it’s not)! Also, it might only work on windows computers, but you can try on Mac and let me know in the comments.

import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class FifteenPanel extends JPanel
{
    private int totalMoves;
    private int zeroX;
    private int zeroY;
    private int[][] grid;
    private BufferedImage[] imageArray;

    public FifteenPanel()
    {
        // Create a base grid.
        grid = new int[][]{
            {1, 5, 9, 13},
            {2, 6, 10, 14},
            {3, 7, 11, 15},
            {4, 8, 12, 0}};

        zeroX = 3;
        zeroY = 3;
        totalMoves = 0;

        loadImages();
        shuffle();
    }

    public int getTotalMoves()
    {
        return totalMoves;
    }

    public void shuffle()
    {
        // Move 2500 times to shuffle
        int i = 0;
        while (i < 2500) {
            int x = (int) (Math.random() * 4);
            int y = (int) (Math.random() * 4);
            if (canClick(x, y)) {
                moveImages(x, y);
                i++;
            }
        }

        totalMoves = 0;
        repaint();
    }
.
.
.
.
}

Author: Max Goldberg

http://goldbergmax.com/about/

Leave a Reply

Your email address will not be published. Required fields are marked *