My Experience With Programming and the DH Coding Debate

To Code or Not to Code?

In class, we talked about the debate within the Digital Humanities the necessity of humanities students learning to code. While I don’t believe that all humanities students should need to become, as Matthew Kirschenbaum puts it in his essay Hello Worlds, “code monkeys,” I do believe that everyone, particularly students interested in the Digital Humanities, should make an effort to become familiar with coding practices and procedures. In fact, Evan Donahue sums up my position quite well in his rebuttal to Kirschenbaum’s post with this sentence.

Learn to program whenever it is convenient, but start thinking about the computer sciences as relevant areas of concern right now.

I would, however, add that I believe humanities students should also be encouraged to learn enough  about programming to ask the right questions, when thinking about computer sciences.

The power of the computer sciences to grant a deeper or different understanding of humanities questions is a large part of why I believe that humanities students should at least become familiar with programming as a process. In his post, Kirschenbaum encapsulates the usefulness of computer sciences.

Computers should not be black boxes but rather understood as engines for creating powerful and persuasive models of the world around us. The world around us (and inside us) is something we in the humanities have been interested in for a very long time.

Computers as this “black box” can be intimidating, but the processes behind them are ones that should be familiar to humanities students: arguments, syntax, structure, and constraints. Different languages and programs act as different tools of analysis, similar to the ones humanities students are taught in order to interpret and analyze different kinds of documents and sources. While I don’t like the idea of mandatory programming skills for humanities students, knowledge of coding and computer sciences, or even the ideas and theory behind them, will only become more valuable.

My Own Experience:

I had no knowledge of programming before I took AP Computer Science in my Junior year of high school. There, I wrote my first “Hello World” script and was introduced to the incredible creative power of programming. The next year I participated in a project-oriented class for app-building, but my exploration of computer science was negatively affected by a head injury at the start of my freshman year at Carleton. I also took Data Structures last winter and enjoyed how the class broadened my ability and deepened my understanding of the theory behind the code. So far in this class, I have enjoyed the exposure to new languages and utilizations. Although I started with the beginning Javascript tutorial, both my AP CS and Data Structures classes were taught in Java, and I found that the languages were syntactically similar, which eased the learning curve.

In my experience, I have consistently found (and been assigned) real-world problems and applications for coding. For example, one assignment in my Data Structures class was to create a database object that could parse a text file of information and create a sorted list of custom objects (Zoo Animals, in this case). The code that constructs the database from a file is shown below.

    public ZooDisplayer(String filePath) throws FileNotFoundException, IOException
    {
        zoo = new SortedLinkedList();
        Scanner scan = new Scanner(new File(filePath));
        if(scan.hasNextLine())
        {
            while(scan.hasNextLine())
            {
                String animalInfo = scan.nextLine();
                String[] parts = animalInfo.split(",");
                String name = parts[0];
                String species = parts[1];
                int age = Integer.parseInt(parts[2]);
                String picLocation = parts[3];
                zoo.add(new ZooAnimal(name, species, age, picLocation));
            }
        }
    }

Even if a humanities student doesn’t need to know how to make something like this, knowing enough to understand how it works and ask the right questions to collaborate effectively with a “computer person is extremely valuable. And for those who say that they don’t think in the right way or aren’t “tech-savvy” enough to learn to code, my question is this: why not try?

Author: Conor G

One comment

  1. I think my idea about coding and the humanities aligns more with yours than anyone else’s. Not every digital humanities student even really needs to code at all, except to fix specific bugs in their website’s HTML or specify their desires within the code. Also, I’m glad you enjoyed Data Structures.

Leave a Reply

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