In my high school calculus class, I remember my teacher passing out pamphlets advertising the mysterious world of computer science. In bold capital letters, printer paper screamed “DO YOU LIKE RIDDLES? DO YOU LOVE SOLVING PUZZLES?” These pamphlets were the product of a teacher’s hopeful attempt to lure students into signing up for an AP Computer Science class the following year.
I’m not sure what happened to the makeshift advertisement. I most likely stuffed it into the bottom of my backpack, not at all shaken by the attempt. I was usually too impatient to understand or finish puzzles and riddles. Furthermore, I could usually never solve them. A computer science class seemed like a year full of brain teasers I would not figure out — basically, a year of hopeless failure. As if.
Yet, despite my past hesitations, I found myself signing up for an introductory computer science course last semester. Many of my friends were suddenly becoming CS majors, the world was being progressed by technological startups and so-called intellectuals were crying out about a future robot takeover. Honestly, I wanted to see what the hype was about.
Towards the end of winter break, I received an email imploring students to bring a paper airplane to my first CS class. I was terrified. Homework due the first day? An email interrupting my prolonged period of relaxation? My professor obviously meant business — coding, perhaps, was meant solely for the serious. It took me at least five tries to build an airplane that I felt was suitable for public exposure. I created ridiculous scenarios in my head in which my lackluster paper folding was some sort of metaphor for the computer riddles I would inevitably not understand. If this was considered a fun and easy assignment, then it was definitely going to be a long semester.
After the first week of the second semester, I was asked by someone about my courses. I told them about the CS class, and all of my complaints stemmed from high school memories — my fear of computer science, my distaste for riddles and not being a “puzzle person.”
Their natural response was, “Why are you taking this class?” I was advised to drop the class because I literally didn’t have to take it if I didn’t need to. Computer science had no dirt on me — there was nothing holding me accountable for taking this class. I could simply drop the course and lurk back to subjects within my comfort zone.
But a part of me wanted so badly to conquer the “language of computers.” A part of me wanted to learn why anything hackers in TV shows do actually makes sense. I wanted to understand and experience the miniscule details as well — why coders prefer black screens and why their first coded words are usually “Hello, World!”
My actual experiences didn’t necessarily go so optimistically. My first realization was the cold-hearted truth — I wasn’t entirely wrong in my earlier fears. At least at first, computer science was just as hard as my logic-fearing brain felt it would be. I didn’t understand the new set of terminology and the way computers enjoy looping through instructions. I visited TAs as much as I would friends, hoping for any sort of weekly improvement. And as much as it was difficult at first, I started to notice a gradual change in the way I treated the subject.
For example, there are a plethora of ways to solve a computer science problem. Previously, this would have instilled nightmares because I was used to the safety of one formulaic pathway to a mathematical solution. But soon I learned that my coding errors actually unleashed a mass of possibilities rather than consistent irritation. If one program didn’t run properly, I could readily brainstorm another method. I was not pigeon-holed, and having multiple options to solve a problem actually became a relief.
Also, an odd sense of comfort began to build as I practiced. I found it relaxing to listen to music while typing furiously on my keyboard and hoping for correct results. I’m not sure students in upper-level CS classes would describe their coding assignments as “relaxing.” However, I never planned on finding fulfilment in a class I imagined as an endless struggle. It was simply about putting the patience into practicing, so I didn’t look at problems with complete confusion but the confidence to notice patterns. As the subject became less obscure, I gained confidence. Satisfaction overpowered my past doubts, and this reinforced that sometimes I should look past the voice in my head warning me not to take a risk.
This became bigger than a quest for coding knowledge and proof that it’s possible to stretch our minds academically and succeed, no matter the subject. The course was the culmination of more than just the ability to brag about holding a trendy new skill of Python knowledge — there was truly something fun and enjoyable about problem solving, and enjoyment was not at all what I expected. The satisfaction received from executing a computer science problem correctly was often worth the struggles to get rid of errors. I don’t think I’m entirely ready to design apps and build video games, but sure, call me a girl who codes.
However, I didn’t just think about amateur coding as a future hobby. This class left me wondering whether I should completely turn my life around and switch to more computer-oriented studies this upcoming fall semester. Ultimately, I’m still not entirely sure whether a CS degree is awaiting me in the future, but this class did give me the skills and reassurance to take on a harder course load this fall. Thanks to this challenge, I feel more confident in taking more advanced classes and exploring other subjects. I gained the courage to seek the help of others —TAs, professors, random class partners and friends — and I will continue to do so this fall as I endeavor further out of my comfort zone. Here’s a hint — I may encounter calculus. Wish me luck.
Pauline Povitsky is a Life Editor for The Cavalier Daily. She can be reached at email@example.com.