Published by the Students of Johns Hopkins since 1896
May 29, 2023

Don’t learn to program, learn math

By JONATHAN YOUNG | March 31, 2023



Young reflects on his journey learning to code and how it brought him to Hopkins.

“You don’t need to learn how to code.”

That’s what I told a cousin of mine who visited from China this past winter break. His interests were in computer science, and he remarked how he felt behind because his peers were doing all sorts of programming projects and competitions while he still didn’t know how to program. 

I assured him that what he should really focus on is math, a piece of advice that my dad had told me when I started high school and has shaped me into the programmer I am today.

A dream of mine in high school was to master coding. I was fascinated with the potential of code. All around me, innovative new software and interesting applications were popping up and grabbing my attention. 

During my freshman year of high school, I thought I would finally be able to master coding when I joined my school’s robotics club. From a freshman’s perspective, the club looked cool, especially its products and inventions. I wanted to contribute to making a robot that performed as well as those I saw on television. This, combined with my desire to develop software, instantly made me sign up for the club’s software division. 

However, there was a problem: I didn’t know any code. Naturally, I asked my dad for help, but he refused to teach me. At the time I didn’t know why. All he said was, “Learn math first, programming later.” I didn’t realize it at the time, but I would eventually feel grateful for my dad’s advice.

Because I didn’t know any code, I ended up transferring to the mechanical division of the team, and my dreams of becoming a computer programmer faded. So much for obtaining the prestige of a software developer. 

In a surprising turn of events, focusing less on the programming side of things led me to discover a new passion of mine: mathematics. My affinity for math started with my advanced precalculus class. 

The world of parametric and analytical geometry fascinated me. Analytical geometry, in essence, solved the interaction of points, planes and shapes in space. The math in that course was simple, but it required creativity to work out a solution for the desired outcome. I became so immersed in the world of mathematics to the point where I wrote my college applications about it. 

Taking calculus BC taught me the power of utilizing derivatives and integrals to solve interesting, nonlinear problems. Moving onto linear algebra and multivariable calculus led to even more peculiar problems that could only be solved through nontraditional methods. 

Linear algebra offered a perspective on a completely different method of representing numbers: matrices. Matrices were simple in concept, but the act of manipulating these matrices often yielded unexpected results. Linear algebra was where I encountered peculiar behavior, such as the possibility that 1 + 1 could result in 12. On the multivariable side of things, being able to expand my understanding of calculus in multiple dimensions provided significantly more interesting problems and solutions.

Fast forward to today, where I’m a Computer Engineering major here at Hopkins. In college, I’ve immersed myself in a world I thought I never would encounter. Computer engineering has been significantly more rewarding than what I wanted in high school.

Electrical and Computer Engineering (ECE) courses opened me to numerous fields. One example is signal processing, where I utilize math to extract information from audio files such as recognizing which numbers are being pressed from a telephone keypad. 

Career-wise, I now have the tools to do more than just programming. The strong mathematical focus of ECE courses provides perspective on how software runs on hardware as well as how software interprets physical constructs in life, like radio signals. Fundamentally, appreciating mathematics and its applications relating to software provides an all-encompassing view of computer science and beyond. 

As a junior completing my second semester, having a comprehensive toolset of mathematics and programming has brought joy in various types of computer science and engineering fields. My programming background now provides me with the opportunities to develop projects that I never thought possible, including building a proof of concept medical scribe and basic computer graphic operations. The enjoyment of math has led me to be enamored with signals and the design of computer chips, the underlying engines that enable software to run. 

Now, I can see that my father’s advice was right. Little did I know then that I would be encountering a vastly different world than the computer-science-focused one I sought in high school. 

Jonathan Young is a junior from Potomac, Md. studying Computer Engineering. His column is about the nontraditional activities or events that have shaped him into the person he is today.

Have a tip or story idea?
Let us know!

Comments powered by Disqus

Please note All comments are eligible for publication in The News-Letter.