From Natural Science to Computer Science

Thanh Bui
Thanh Bui
May 5, 2018 · 5 min read

The University of Cambridge’s courses are well-known all over the world, not only for its academically rigorous nature, but also for its flexibility. If you already know what you want to focus on, you can start to specialise early on at Cambridge. However, if you don’t have a clear idea of the options you want to take just yet, our courses allow you to delay specialising until you’ve had the chance to fully explore the breadth of your subject and confirm which areas you’re most interested in. After your first year, since you would have studied subjects that are common between courses, there is an option of switching to another course. However, the reality is not always as easy as it may sound. There are, of course, many difficulties involved in such a decision.

In the scope of this post, the Hackers at Cambridge team try to assist you specifically if you intend to switch from Natural Sciences Tripos (NatSci — NST) to Computer Science Tripos (CompSci — CST). With many from our team have done so, we’ll clear some of your misconceptions, give you an insight into the challenges that you might encounter at various points and the steps you can take right now. This isn’t intended to be an exhaustive guide, so feel free to contact us if you think you have a problem that is not mentioned.

Getting into Cambridge’s CompSci via NatSci?

First, before any sixth formers might ask: “Wait, so you are saying that if I’m not sure about CST, I should apply to Cambridge via NST instead, then switch to CST in my second year?”, the answer is: NO. Let’s get this straight: if you think you would prefer to study CS at Cambridge, the most encouraged path is to apply for the Computer Science course directly, even if you don’t have any coding experience. However, we are saying that it is POSSIBLE for the NatSci undergraduates to switch to CST in their second year.

It is also worth mentioning here that, despite the course webpage saying “No prior knowledge of programming is required.”, we think that having some programming knowledge will put you in a slightly better position. Since nowadays, it is really easy to find resources on the Internet to learn the basic of programming in Python or Javascript, it is difficult to justify your interest in Computer Science when you don’t take the initiative to learn about it.

Choosing CS Paper 1 as a NatSci?

“ … Taking CS is difficult to score because you will compete with all the other CompScis… ”

So, you are the ‘‘NatScis’’ that find Computer Science interesting and would like to consider it as one of your three science subjects. However, you are struggling with the CS pre-arrival course, trying to understand why your Game Of Life prints the wrong output that you didn’t expect. On top of that, during freshers’ week, your friends start to throw in pieces of advice, one of those goes “Oh, taking CS is difficult to score because you will compete with all the CompScis.”.

Well, fret not! The truth is that the CS Paper 1 is designed to teach you the basic of programming and thus require no prior experience (That’s why there’s the pre-arrival course!!!). Moreover, despite some having coded before, many of the CompScis are also new to this like you. In fact, having coding experience doesn’t give them a major advantage. They are just more familiar to the syntax than you, that’s all. If you are still worried, yet remains interested in CS, we would suggest you discuss it with your Director of Studies. You could also have a casual chat with the elder NatScis who also took the CS option in their first year and listen to their advice.

If you have already decided that you’d love to take the challenge, then you could prepare yourself by looking through the suggested readings for each topics. Many of those books are largely available in the Computer Laboratory Library, the University Library or even your college’s library. We highly recommend:

  • “ML for the working programmers — Lawrence Paulson”
  • “Thinking in Java — Bruce Eckel”
  • “Introduction to Algorithms —Cormen et al.”

for your Michaelmas and Lent terms.

Getting an impostor syndrome?

If you are coping well with CS, we are glad to hear that. At this stage, you might have some ideas about what to do in part IB: continue with NatScis or opt to switch to do CST part IB.

However, some of the thoughts you might have at this stage include “Am I able to catch up if I switch now?”, “What is Linux? What is Github? Why is everyone mentioning and using them? I only know Windows”, “Everyone seems to be better than me. They know C++, Rust, R, SQL, etc. while the only languages I know are ML and Java… (and maybe Python)”, etc. In other words, you may experience an immense feeling of being inferior to some of your peers who appear to know a lot more than you do. Let us assure you that this imposter syndrome is absolutely normal and you are doing perfectly fine at the moment.

Programming languages are, pretty much, similar to the languages you speak: different languages have different syntax to get the same work done, and are suitable for different purposes. It’s not about how many languages you know, but how well you know the language. When the time comes, you will find yourselves learning the languages that you need. Or, you can always go one step ahead and equip yourselves with the language you enjoy or feel like learning. Moreover, you will also get to learn new languages (not just ML, Java and Python), new Operation Systems and version control systems in part IB and II. So, enjoy your time and there’s no need to rush and worry too much at this point.

What should I do now?

By now, hopefully you are doing well for Paper 1 and find CS more engaging. If you think you would enjoy doing more of that and would like to consider switching to CST, here are the suggested steps you could take:

The first thing you should do is to talk to your college’s Director of Studies and the Director of Studies in CS, let them know you might consider the option of doing CST part IB so they can give you appropriate advice. If you know someone who has done that before, you could also have a chat with them to confirm if that’s what you really enjoy .

After that, pretty much all you could do next is to study and revise for your Tripos examinations in June. Most of the colleges require you to obtain a minimum 2.i (some colleges may require a 1st) to switch to CST. For the specific requirements, you should check with your Directors of Studies.

If you are approved to change to CST, congratulations! What’s next is to enjoy your summer, at the same time, spend some of your time on reading and understanding the materials for the Paper 2 courses in the Long Vacation and be prepared to identify yourself as a cool Computer Scientist!

Further information

More information could be found at and/or the corresponding course websites.

Got any questions? Have you been through the same process and have any other advice, or think that ours needs a bit of changing? Leave a response below!

Hackers at Cambridge

We are a student-run technology society, promoting a culture of creators and innovators by organising workshops and events for any student who wants to take part. This blog is a platform to spread the thoughts, opinions and projects of the tech-enthusiasts who write for it.

Thanks to Tom Read Cutting

Thanh Bui

Written by

Thanh Bui

Computer Science at University of Cambridge

Hackers at Cambridge

We are a student-run technology society, promoting a culture of creators and innovators by organising workshops and events for any student who wants to take part. This blog is a platform to spread the thoughts, opinions and projects of the tech-enthusiasts who write for it.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade