The Cavalier Daily
Serving the University Community Since 1890

ARNOLD: On the creative pursuit of computer science

Studying computer science builds essential problem solving skills

Last spring, I indulged myself by avoiding any classes that required numbers, calculations and problem solving. AP Calculus and Physics were the bane of my senior year of high school, and I was eager to focus on more literary interests. But as the semester wore on, I realized something was missing. I found myself in a variety of reading-based classes, drowning in books I had yet to open and burdened with a course load full of unanswerable questions, subjectivity and innumerable writing assignments. I had heard friends praise the introductory computer science classes here, so on a whim, I signed up for CS 1110. If this narrative sounds even vaguely familiar, perhaps you should, too. Especially for non-STEM majors, computer science is a worthwhile departure from classes you might otherwise take.

There are, of course, myriad reasons to become computer literate. The financial reasons alone are enough to encourage many students to become computer science majors: Software is eating the world, making coding skills increasingly important in an increasingly technology-based economy. Computer science majors have among the highest starting salaries of college graduates, and in 2013, information technology job postings were some of the most frequent among job posting for STEM fields.

Not only is code profitable; it’s also ubiquitous. Almost everything we use that requires a power source uses code at some level. Whenever we get on Facebook, check Twitter or open up The Cavalier Daily on our smartphones, we have web developers to thank. Computer programs help our bus systems run on time and ensure that we can register for classes. In today’s world, we need code to function, whether we realize it or not.

While coding can offer employment opportunities and useful insight into the gadgets that surrounds us, it can also be a creative and powerful force, even at an introductory level. In 2014, Donald Glover (known in the music world as Childish Gambino) advocated for kids learning to code: “They can make their own worlds then. They don’t need anybody else...The excitement of making something, that’s the spark of God.” While the programs one learns in the University’s CS 1110 class might not be world-generating, they are a surprisingly effective outlet for creativity. Programs, even the simplistic ones written for introductory classes, can be written a variety of ways, which means that, especially for longer assignments, no two people code alike. Belinda Wang, a professor at the University of Toronto, has noted, “Each person writes [code] differently than the next person, and can all be correct in terms of syntax, but maybe some solutions are more effective, maybe some are more efficient, some are more elegant.”

In this way, programming becomes a sort of modern handiwork. If you’ve ever tried to build something with a concrete and demonstrable use, you are probably familiar with the unique sense of pride that comes with its completion. The skills taught in CS 1110 are sufficient to create most basic programs, which means that you can build programs to sort through data, write and read files and even design your own version of pong.

Ward Cunningham, the creator of the first wiki, once wrote, “If you don't think carefully, you might think that programming is just typing statements in a programming language.” Learning how to code requires a type of thinking that is distinct from the type of mental effort needed to write a paper or analyze a text. In the University’s CS 1110 class, students learn Python, a powerful but easy-to-learn language that’s well-suited for beginners. While the class is focused on teaching students how to write programs using this language, the underlying lesson of the class is how to approach and solve problems with algorithms. In fact, on the first day of class, my professor defined computer science as the art of problem-solving.

While I think all students, regardless of major or interest, should take some sort of computer science class, I speak specifically to those students like me, who would otherwise avoid any class that sounds even vaguely scientific or mathematical. Computer science is fun and useful and can teach you to think in entirely new ways. For me, it was a much-needed respite from my usual classes, and offered a valuable outlet for creativity and productivity. Not everyone can — or should — major in computer science, but anyone can find time in their schedule for one class.

Jordan Arnold is a Viewpoint writer.

Comments

Latest Podcast

From her love of Taylor Swift to a late-night Yik Yak post, Olivia Beam describes how Swifties at U.Va. was born. In this week's episode, Olivia details the thin line Swifties at U.Va. successfully walk to share their love of Taylor Swift while also fostering an inclusive and welcoming community.