I remember writing my first computer program. I was learning to code in Java (which is a terrible first language to learn, but that’s another story). All the program did was open an interface window and convert a temperature to Fahrenheit or Celsius when I clicked a button. Since I was a beginner, the process involved a lot of drag-and-drop abstraction, in the same way that paint-a-number abstracts the process of painting. My program was small, but it was mine. I created it, and that is what mattered.
Four years later, I stand on the cusp of graduating with a degree in computer science from the University of Notre Dame. Furthermore, I have a supplementary major in Theology. This is usually the part where someone makes a puzzled face and says, “Wow. Those are so…. unrelated.” In fact, this is what most people say about any non-humanities major coupled with theology. While computer science and theology are different, they are still related. I think theology and computer science can find common ground in something unexpected: humans.
Computer science is different than other STEM disciplines because it’s the study of something started by humans. Biologists study the body and cells, which God created. Civil engineers learn to build with materials under the restriction of the laws of physics, which God created. Even mathematicians study ways to discover and quantify their surroundings, which God created. Computer scientists study programming languages, software design, and algorithms, which humans created. This makes computer science a unique discipline that can teach us about ourselves.
This uniqueness is why I classify computer science as an art, albeit a scientific art. The Catechism of the Catholic Church says:
“Arising from talent given by the Creator and from man's own effort, art is a form of practical wisdom, uniting knowledge and skill, to give form to the truth of reality in a language accessible to sight or hearing. To the extent that it is inspired by truth and love of beings, art bears a certain likeness to God's activity in what he has created" (2501).
If one were to replace the word “art” with “computer science”, I believe it would still ring true. I admit, this sounds odd. How is computer science an art? Companies advertise high-paying jobs with the title “software engineer," not “software artist." Notre Dame’s own computer science program is in the College of Engineering. However, the parallels are striking. Computer science takes both knowledge and skill. You can know how to code, and still be a bad coder. Coding takes curiosity, knowledge, creativity, and practice, just like any other art. Music is the same way. You must have some kind of previous, technical knowledge before you can be good composer, instrumentalist, or even singer. Art, especially visual art, also takes creativity and imagination, and so does software development. Every website, mobile app, and video game started did not exist before human minds invented them. Just as every poem, symphony, or drawing started from nothing, so too does software. The empty text file is the computer scientist’s blank canvas.
Many people think that computer science is a precise, analytical, stoic science. They think it’s just algorithms and code. While algorithms and code are important, computer science is about creating. If you ask any computer scientist why they do what they do, I guarantee they will mention creative expression. This desire to create can tell us so much about God and about ourselves. Man’s desire to create is something that God implanted in the beginning. Although we, as humans, are the creation, we were formed in the likeness of the ultimate Creator (Genesis 1:26). Human creativity ultimately stems from the creativity of God. He has given us the desire to explore, to learn, to create and shape the world around us. God wants to see His creation flourish, so he gives us to tools to do so.
God gave us more than just the desire… He gave us the ability to create. Just the fact that we can do the things we do is evidence of God’s hand in creation. Computer science has made me stop to marvel at the human mind more times than I can count. I am constantly faced with the question, “How did someone think of that?!” The complex algorithms, the clever coding solutions, the millions of mobile and web applications – they were all created. By us, humans. That is incredible.
Day after day, I am stunned by the intelligence that God has given His creation. This awe is even extended to my own intelligence. My own computer science creations aren’t anything special, but my coding abilities have increased and my creations have become more creative and complex. After each deployment and submission, I think about where I started - a blinking cursor on a screen.
Is that how our own world started? Did God sit at His own computer with a blinking cursor and a blank screen? In a way, I think He did. God’s love overflowed into creation, which started from nothing. In a similar way, the computer scientist’s own love of problem-solving, analysis, and creativity overflow into their own creation, and the vessel is the code.
Lucinda Krahl is a senior at the University of Notre Dame, and she is studying computer science and theology. After graduation, she will be working as a tech consultant in Dallas, TX.