The University of Dallas Core is our pride and joy as a community. I often witness the wonder of my fellow students when they discover how philosophy, literature and other courses intertwine. However, those humanities majors often look slightly horrified when I show them my computer science homework—not only because of its technical complexity but also because of its seeming irrelevance in living a moral life.
The Core forms lively and curious minds—minds that should have no fear of a technical skill such as computer science. Liberal arts majors, such as those in the Constantin College, have ample preparation to find beauty and success in computer science because it puts philosophy, language and logic into practice.
I first dipped my toes into computer science freshman year, because I had registered for only 12 credits and had extra time on my hands. I had never looked at code before, but I entertained the whims of becoming “Q” from Daniel Craig’s “Skyfall” (scrabble mug and snark not included). As soon as I started delving into the new use of this ubiquitous tool, the PC, my amazement soared.
Computer science contains an abundance of philosophy. If you don’t believe me, read Aristotle’s Metaphysics (especially sections 1034a and 1048b) and then take Data Structures, a class about manipulating the particular instance of an object.
My professor had never read that particular text but quoted it almost word for word: the idea of an object (the form) must be substantiated by the program to make a particular instance of the object (the particular). Similarly, the floorplan of a house must first be thought of and planned before the house can be made.
The program is “that which is capable of building,” while the instance of the object made is seen when the program runs, “that which is building” (1048b). Thus, form and actuality helped me grasp the mechanics of this practice in computer science.
Another trippy experience was reading Augustine’s metathinking in chapter 10 of the Confessions, which resonated with recursion in Intro to Comp Sci. I had already wrapped my head around the idea of something thinking about itself infinitely to fix an error in my recursive operation so my program wouldn’t crash.
The dialogue between the great minds and myself was enriched once I had concrete examples of what was happening. The logic I learned while building virtual machines guided my discovery of existence.
After reading this, I hope you never again look at a CS major and say, “Oh wow, I could never do that.” You could not contemplate the particular until you read Aristotle, could you?
Computer science is also a language.
As a student of French, I already knew about verbs, prepositions and all the ways translating idiomatic phrases might be difficult; I found my language skills blended into coding skills in Racket, the language we write in for the Introduction class.
The syntax is a little funny (the verb goes first), but code still has the four design features that, according to linguist W.F. Bolton, make language remarkable. It is productive, arbitrary, dual and discrete.
You can recombine words (using the right syntax) to make new, completely unique and comprehensible sentences—that means it’s productive.
Code words are arbitrary and dual. You don’t get more arbitrary than a stick-shaped symbol and a hole-shaped symbol, and they are received as voltage rather than words. The word and the meaning of the word (the voltage) are two different things.
Finally, a computer language is discrete, meaning the language has distinct packages of sounds, in the case of spoken languages, and distinct symbols in the case of written or signed ones, which can be put together in meaningful combinations.
I don’t have the space in this article to expand further, but trust me—creating your first grammatically correct sentence is just as joyful a moment in CS as it is in the Modern Languages department.
Or, don’t trust me. Trust the Core, trust the dependable CS professors, and take the class for yourself.
In my opinion, computer science is the culmination of the Core, and anyone who has survived three years teasing the threads of philosophers’ arguments apart, following the rise and fall of great nations and analyzing the justice of characters’ actions is well-prepared to take a stab at a keyboard. So, when you sign up for classes next fall, take a glance at the CRN for Intro to Computer Science and take a chance on the efficacy of our dear liberal arts education.
Perhaps, after a while, computer science might even find its way into the Core.