My first experience with computer science, excluding self-teaching HTML to make my Neopets page look snazzier than everyone else’s, was in the spring of my freshman year, when I took an introductory course (CIS110) as a way of fulfilling the Formal Reasoning and Analysis requirement. It was never my intention to continue down the C.S. path beyond that course, but somewhere along the way, I accidentally became intrigued.
Fast-forward a little bit, I have now spent three and a half months waking up for an 8:30am class every Monday and Wednesday, staying up way too late typesetting assignments, and feeling dumbfounded because how on earth are you supposed to connect five vertices with only two edges? (note: that is impossible--but in said scenario I had misunderstood the premise of the problem. Frown face.)
While CIS160: Mathematical Foundations to Computer Science is not even cross-listed in the College like CIS110 is, the College curriculum gives students the flexibility to take some non-College electives, and I would definitely recommend the class to anyone as crazy as I am, i.e. willing to spend too much time feeling very dumb until you figure out the proof. Even if math is not your thing, because it definitely isn’t mine, understanding concepts like graph theory and induction gives me a completely different way to approach the content I am learning in my English classes. In fact, these theories and applications are surprisingly applicable to all facets of life.
As cheesy as that sounds, I believe maintaining different skills that complement each other is very important. Additionally, my professor, Rajiv Gandhi, is notorious for assigning many difficult problem sets, but all of his students love him despite the fact. We are either masochistic students, or he is an efficient and dedicated professor. I’ll tell you now it is definitely the latter, and if there is anything that I know holds true across all fields of study, it is that a good professor is the most important factor of them all.
-Julia Wang '18