On mid-June, I already decided to go to Columbia University (among several other admissions from universities like Cornell, USC, JHU, NYU, etc.) to do my master’s. I even booked an appointment at the London Office of US Embassy for my Visa interview. Then, all of a sudden, I was informed that my application to the DPhil in Computer Science at Oxford University was successful, which was the only doctoral application that I have made for fall 2017.
This program would mainly focus on Formal Verification (FV) using (among other techniques) Machine Learning. My background was a great fit for this position as I had one-year research experience in Hybrid Hardware/Software Simulation and the goal of this program was to develop tools for Hardware/Software Co-verification. This studentship was funded by Semiconductor Research Corporation (SRC) and I was also awarded the Jason Hu Scholarship from Balliol College, Oxford. These two in total would cover all my living costs and tuition and college fees at Oxford.
While I was super excited when I knew the result, I was also trapped in a huge dilemma between Oxford and Columbia, as I always wanted to get my PhD in the US and I had a strong willing to try research in more fields before I fully decided to focus on a particular one for my PhD. Here are some reasons why I finally chose Columbia.
During my undergraduate years, I was mainly focused on Computer Architectures (CPU Simulation, Cache Coherence, Parallel Architectures, etc.). I did not get the chance to be exposed to research in other fields like Database Systems, Big Data, Robotics, Machine Learning, Computer Vision, etc., which I did have the intention to touch. That is also the main reason why I want to do a master’s - to give me the opportunities to study them thoroughly and might even carry out research under the supervision of the foremost specialists. I believe after a master’s, I will be more happily to take a PhD in the field I desire the most.
I would not say that I am not keen on doing research in FV, but it is simply not the field that I am crazy about, even though I am confident to handle it pretty well.
As for industry, the US is definitely on a higher level. I will finally land in America to start my career, so why not start with a master’s degree right now? Let alone that US has way more amazing Computer Science Departments for PhD, I will definitely have much more choices at the point when I graduate if I stand out at my master’s.
My girlfriend has gone to Boston to start her master’s.
Undoubtedly, Oxford University is also one of the most prestigious universities in the world with an amazingly rich and beautiful history. It has a world-leading verification group. But this program does not fit my future goals and I feel that I am more motivated at Columbia University. It would be better to not start than to do it without full effort.
Two things I have learnt through this experience:
While making a decision, do not listen too much to those who can not really understand the situation - for instance, those who have nothing to do with the Computer Science industry. Do not be trapped by the fame of a university or how laymen look at you. Their opinions are the least important. Talk more to the PhDs in Computer Science, especially those under the supervision of your potential supervisors.
As a matter of fact, whichever way you choose, there will be no difference if you spare no effort and stick with you plans. So, just go with the one which you think you will be most likely to try your best.