Love Maths? Computer science is perfect for you!

Introduction

Hi! I am Tushant, a third-year graduate student at the University of Chicago, pursuing my Master's+PhD in the area of Theoretical Computer Science (TCS).

Research Interest

While I'm dabbling in a few distinct areas, one of my favourites is computational complexity. It primarily involves not just designing efficient algorithms but also proving barriers against their existence.

To take a simple example, we have efficient sorting algorithms that run in O(nlogn) time, and we also know that we can't do better, i.e., every comparison-based sorting takes as much time in the worst case. This is what is referred to as a lower bound. This is a sweet example as the upper bound (algorithm) matches the lower bound. Sadly, in many cases, the known algorithm is way more inefficient than the lower bound we know.

The goal then is to bridge this gap by either constructing algorithms or raising the lower bound. The most famous question of this kind is the P vs. NP problem, one of the Seven Millennium Prize problems.

Beginning of Academic Journey

My academic journey begins in Hyderabad, where I grew up. I went to Bharatiya Vidya Bhavan's Public School till grade 10 and moved to FIITJEE for 11th and 12th. Fortunately, I did well in JEE (2014) and was able to get admitted to the CS program at IIT Kanpur, which I chose not because I had any special interest in the subject but rather out of the prevalent social norm.

In fact, I didn't even have CS in my curriculum in 11th and 12th, so I had little idea what that entailed. The Introduction to Programming course in my first semester made me realize that I liked thinking about the algorithm much more than coding it. I started getting interested in abstract math and spent my free time learning algebra.

I ended up doing both my internships in pure math instead of atypical CS.

In the summer of 2016, the first one was at IISER Mohali in the broad area of algebraic geometry. I did not have a great deal of background in the subject but was introduced to it by my professor, who taught me algebra, a course that I greatly liked. The internship was more of a reading project at the end of which I reproved a classical result. This internship deepened my interest in algebra.

One year later, I interned at the University of Montreal, where I worked on one of Boyd's conjectures in Analytic number theory. I chose this as it was related to elliptic curves, and I had just taken a course in precisely that! It was a truly wonderful experience for me as I did actual research, trying to prove a decades-old conjecture. On top of that, I had a great mentor and got to spend my summer in the beautiful city of Montreal.

Decision Of PhD

These experiences of my internship made me decide to apply for a PhD. The only thing that remained was to decide on an area. I decided to try out Theoretical Computer Science (TCS) instead of math. This was motivated largely by the fact that IITK has a rich tradition of TCS and excellent faculty in the area ensured that there was always a lot of activity in the department. I worked on a project about algebraic complexity for a semester before grad school applications and decided to apply to TCS. I shortlisted three areas, which I thought would be the best areas in the coming future and also included significant math, namely:

  • Complexity theory
  • The hardness of approximation
  • Cryptography

based on the courses I had taken and the kind of math being used in these (I was really looking for things with an algebraic flavour).

It's hard to decide on a topic at that stage as one knows little about any subject's different fields. To be honest, I wasn't sure at that point what exactly I wanted to do for a PhD, and I'm still searching for my thesis topic! I received acceptances from a few colleges, and I visited most of them before making a decision, which, no surprise here, was the University of Chicago.

Guidance

As is evident from my trajectory, I've explored quite a bit and continue to do so, sometimes of my own accord and sometimes forced by the circumstances! I'd advise the reader not to be too calculative while picking projects and be willing to take a shot at something outside one's comfort zone.

You never know what might interest you, and the only way to find out is to actually do it!

Instead of picking courses based on what friends/seniors say, spend time finding out about their content. Attending the first lecture is usually helpful in getting a decent idea. For courses that you enjoy, talk to the instructor and seek out projects to further explore. More often than not, these efforts might not seem rewarding, but that's totally okay. Occasionally, you might encounter something really cool, and you can then dig into it. And when you get tired of that one too? Repeat the cycle! If courses in a topic you like aren't offered at your institute, learn things by yourself or, if possible, talk to a professor in a related area and read with them.

Recommendations

Instead of recommending textbooks or the like, which I feel depend on quite a bit on one's learning styles, I'd like to urge you to read popular science/math books. I urge you to read such books apart from course books. They provide a lot of information in an interesting and digestible manner and redefine your conception of the subject and kindle your curiosity. There are many such books, but here are some that inspired me as a young student.

  1. Every book by Simon Singh!

    • Fermat's Last Theorem was the first book in this genre that I read way back in grade 8, and it just blew my mind.
    • The Code Book, Big Bang and The Simpsons and Their Mathematical Secrets are his other books, which are easy recommendations.
  2. Dealers of Lightning: Xerox PARC and the Dawn of the Computer Age by Michael A. Hiltzik Narrates the famous PARC story, which was the birthplace of many innovations like laser printers, GUI, ethernet, and many more. Highly recommend this, especially if you're more into the tech kind.
  3. Gamma: Exploring Euler's Constant by Julian Havil: This is relatively more "dry" and technical than the rest but is still something I enjoyed.
  4. For more narrative-style math books, I'd recommend Ian Stewart.

Enjoy Learning. Enjoy Coding. Enjoy Algorithms!

Share Your Insights

More from EnjoyAlgorithms

Self-paced Courses and Blogs

Coding Interview

Machine Learning

System Design

Our Newsletter

Subscribe to get well designed content on data structure and algorithms, machine learning, system design, object orientd programming and math.