By Chloe Baker, Senior Opinions Editor
Last semester, I decided to embark on an unfamiliar journey. After years of putting off my “quantitative skills” requirement, I realized that without enrolling in some type of class relating to math, I would not be able to graduate. For me, deciding what to take was not an easy choice. From the time I was in elementary school until I graduated 12th grade, I worked for hours each week with a math tutor. No, this was not in order to get ahead or become a math prodigy. I did this so that I could effectively keep up with my class and not fall behind on the material.
In elementary school, I was diagnosed with dyscalculia, a learning disability that impairs a person’s ability to understand math. Learning it has never been a simple endeavor for me. More than just affecting my grades, my inability to grasp mathematical concepts deeply impacted my confidence growing up. While most of my friends participated in my school’s International Baccalaureate program, I was placed in special education math classes. In high school, I remained hopeful, knowing that one day in college I would no longer be forced to take math, and instead could focus on — and do well in — my beloved humanities courses.
And that I did. I’ve done well in all of my classes, enjoyed them immensely and accumulated invaluable knowledge. Over my time in college, I have become a self-proclaimed nerd (something that high school me would be shocked to see). Last spring, while I was doing a senior check with academic advising, I was reminded that my quantitative skills requirement was incomplete. The advisor convinced me to enroll in a computer science course. She explained that because I struggle with math, it might be a wise choice to take computer science as opposed to a traditional algebra course because I actually might understand it more. I would be learning something entirely new, accessing different parts of my brain, and I wouldn’t have the past failures of algebra attached to the material. I listened to her advice and decided to take the plunge. Computer science couldn’t be that difficult, could it?
Within the first few weeks of the semester, I found myself in tears, staring at lines of code written in what was essentially a foreign language. Programming languages are called languages for a reason, and mastering them takes the same time and dedication it would take to learn a spoken language. But this language learning, rooted in syntax and logic rather than culture and communication, isn’t something that I had grown accustomed to doing over these past three years. I was consistently accessing the same parts of my brain. I was sharpening my research skills, my writing skills and my ability to analyze complex arguments, but actually, I was staying somewhat in my comfort zone. I was pushing myself, but not in the radical way that taking a computer science course has pushed me.
In computer science, the kind of thought required is fundamentally different. I was recently reading a book that explained the concept of optimization — finding the most efficient path to a solution. I realized that this is exactly how coders think. In my humanities courses, I had always been taught the opposite. It was about analyzing, adding complexity, digging deeper, looking for symbolism and uncovering layers of meaning. The more nuanced and elaborate my work was, the better. We complicate, we debate, we add interpretation upon interpretation. But coders don’t think that way; instead, they constantly look for the simplest path to the solution. They explore how they can write less code to accomplish more. Coding is about stripping away the unnecessary and finding the most efficient approach, minimum effort, maximum results. For someone who’d spent years learning that more analysis equals better understanding, this was a radical shift.
My earliest struggle in understanding computer science was being meticulous about syntax errors. If you don’t type in code exactly how it is meant to be typed in, you’ll get errors and it won’t run properly. The precision it demands is unforgiving. I constantly made errors, forgetting semicolons, not indenting properly or misplacing brackets because I wasn’t tuned in enough to how exact the code had to be. In my humanities courses, being “close enough” often worked. My argument could be slightly off, but I’d have the right idea. Even if a sentence in a paper was not up to par, it didn’t throw off the entire paper. But in coding, I learned, there is no “close enough.” It isn’t broad or up for interpretation. It is ruthlessly literal.
At first this felt more than restrictive. There wasn’t room to be creative or impulsive like I am in most of my other work. But I slowly (and with a lot of peer tutoring help) came to understand that there is a reason for the meticulous nature of it all. Code relies on a series of steps, like dominos carefully arranged in a sequence. Each line builds on the last. You can only work with the information and variables you have at that exact moment in the program. You have to execute the correct step at the correct time, not too early or too late.
In addition to dedicating hours to computer science homework and studying, I have dedicated hours to thinking about my future, and applying to potential programs for next year. As a senior who isn’t on “straight path” career wise, it’s been stressful to map out the next stages. Being unsure of what I completely want in many aspects of my life, combined with sad feelings about graduating soon and leaving this chapter behind, has kept me feeling nothing short of overwhelmed. But, I’ve taken what I’ve learned from coding in the classroom and applied it to how I think about the future. Coding can be a framework for decision-making in life. Based on all the information I have right now, how can I make the best possible decision? Not based on what I wish I knew, on the unknowns, or what I might know later, but what I know right now.
The journey I embarked on by enrolling in a computer science course has been one of ups and downs. It began with utter confusion and worry, but by the end I no longer needed a tutor to help me with my assignments, did quite well on the midterm and ended with an A. It’s been an experience of growth, and, most importantly, it has taught me that I can do hard things. While I did and continue to work hard in my humanities courses, my good grades in computer science are more rewarding than anything else. Because I poured so much of myself into the class, and immersed myself in something completely different and foreign, it meant so much more to see myself slowly succeed.
Computer science has given me academic confidence in a way the humanities never could. While they have greatly shaped how I think critically about the world, I already knew I was good at that. I knew I could write a strong essay, draft a policy memo and analyze a complex text. Computer science proved something that I wasn’t so sure of: that I could step into completely unfamiliar territory and not just hang on by a thread, but actually come to understand it.
This matters more to me than I expected, especially now. As a senior facing decisions about next year, some that feel overwhelming and uncertain, I keep coming back to concepts that coding taught me. I can’t make choices based on information I don’t have yet or outcomes I simply can’t predict. I can only work with what I know right now, execute the right step at the right time and trust that each decision I make builds toward something. And just like coders optimizing for efficiency, using the simplest code for the best result, I’m learning to find the optimal path forward without overcomplicating every choice. Not every decision needs extensive analysis or interpretation layered upon interpretation. Sometimes the best move is the simplest one that gets me where I need to go.
While many of my friends questioned why I’d take a computer science course rather than an easy statistics course I could get away with zoning out in, I’m grateful that I made this choice, no matter how difficult the class was at times. The point was never to become a coder. It was to prove to myself that I, someone who spent years in special education math classes, who stared at her computer screen in utter disbelief and confusion and who doubted her ability to understand anything quantitative, could learn hard things.
If I can do this, I can figure out what comes next.
Photo Credit: Courtesy of Chloe Baker