Programming as an Art

I once thought that programming was some sort of niche study that only serious mathematicians or engineers might use practically. Only now, after a year or so of serious programming, do I realize its value to the world at large. I’ve come to find that code is more or less an art form. You’re free to express yourself and solve the problems that YOU care about with your own style and flare. The applications of code are almost limitless.

I would recommend that every student take an introductory computer science class, especially at a liberal arts college. From my experience, learning the basics of a programming language can help you to rethink some of the problems in other disciplines, and not just math or science. The creative element of coding is one of the most important of all. I was happy to see that Mathew G. Kirschenbaum, a professor of English at the University of Maryland, expressed similar feelings about the artistic nature of code in his blog post “Hello Worlds (Why Humanities students should learn to program).”

programming is a creative and generative activity…Programming is about choices and constraints, and about how you choose to model some select slice of the world around you in the formal environment of a computer.

-Mathew G. Kirschenbaum

Traditionally, computer science’s reach to other disciplines has been to automate the boring stuff: format spreadsheets, create databases, present data points in graphs or reports, etc. But there’s so much power in today’s digital infrastructure to do more than just that. Modeling a humanistic problem in code will often raise intriguing questions into the problem itself and how it was modeled. I’ve found coding requires a conceptual understanding of a problem and a bit of creativity to get things up and running in a digital domain.

While Kirschenbaum does a great job at arguing for some of these interdisciplinary benefits from a more general perspective, I have to acknowledge that Evan Donahue makes an important qualification in his blog post A “Hello World” Apart (why humanities students should NOT learn to program). Donahue argues that the humanities and computer sciences are often working towards the same end and even using “the very same models” in their efforts. I grant that a linguist might not need to learn algorithmic design in order to achieve similar findings to a researcher of natural language processing, but I think there’s more to the story. In my experiences, leveraging computation and artful programming to solve problems can make patterns in the larger problem more visible. The omnipresent”divide and conquer” philosophy in programming is a valuable tool to change your approach and assumptions of a problem.

Programming to me is a different paradigm to problem-solving, a different medium for intellectual expression and inquiry. Considering the growing number of tools and technologies out there, I think many institutions and individuals will soon find that programming provides an elegant solution to a lot of barriers in their research efforts. So in my view, why shouldn’t we provide a basic lesson in programming to students and experts in all disciplines?

Coding may seem daunting to beginners. Believe me, I’m often intimidated by the huge number of technologies out there. One of the greatest gifts that programming has given us is the ability to collaborate, share, and learn. Today there are massive online communities with users that are more than willing to answer a question or provide their perspective on a solution to a programming problem. Whether you have a question about a specific language’s syntax or are just looking for some inspiration in the projects of others, there are some really great web resources for programmers of all skill levels.

This weekend I decided to revisit HTML Dog and try out some of their intermediate Javascript tutorials. I chose the “Events and Callbacks” tutorial to get more comfortable with JavaScript’s interactive features. I created a simple program that changes a website’s image to either a surprised cat or a relaxed cat depending on which button the user presses.

Here’s my code for the site:


<!DOCTYPE html>
<html lang = "en">
<head>
  <meta charset = "utf-8">
  <meta name="viewport" content ="width=device-width, initial-scale= 1.0">
  <title>Practice Site</title>
</head>

<body id = "background">
  <link rel="stylesheet" type="text/css" href="example_web_page.css">
  <h1>
    Here's how you can use buttons with JavaScript events to add some interactive features to your site.
  </h1>
  <center>
  <button type="button" onclick="document.getElementById('myImage').src='relaxed_cat.jpeg'">Relaxed cat</button>
  <img id="myImage" src="">
  <button type="button" onclick="document.getElementById('myImage').src='surprised_cat.jpeg'">Surprised cat</button>
  <script src= "example_web_page.js"></script>
  </center>

</body>
</html>

Author: Cole

Leave a Reply

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