Cambridge Computer Science applications
This aims to provide general information about the application process: specifically highlighting that which is often miscommunicated.
What do I have to do to get an offer?
Work very hard, be very smart and know some programming.
These are the only things you need. The rest of your application serves only to validate intelligence and hard work. Any guide on what to do to get into Oxbridge isn’t a checklist: it’s a collection of things which would indicate to an academic that you are smart and work hard.
What you have to do
These are the things everyone receiving an offer will have done.
Do well at school
Everyone who gets an offer works hard and is genuinely smart. You need to work hard at A Level, especially maths. The more, the better. Even work which is not directly related to computer science (i.e., Maths, Physics, Chemistry) is helpful and looks good on a personal statement. Doing past paper questions, competitions, getting good exam results are all important.
Know how to program
Knowing how to program will help a lot, even if it isn’t technically necessary. I’d strongly recommend learning how to program: knowing how to invent or implement simple algorithms or data structures and ‘think like a programmer’. I would not recommend overly familiarising yourself with libraries. Lots of interview questions are much easier if you know some basic programming.
What you could do
Computer Science is very practical, so there is a lot you can do to demonstrate that you are smart: and which is best depends on you personally.
Read some books
This is less relevant than for other degrees. Here are my recommendations for computer science books (roughly in-order):
- Introduction to Algorithms
- Software and Security Engineering
You can usually find any these online by searching the name with pdf as a suffix.
Do some cool projects
If you can think of some projects to do, then do them! If I was an interviewer, this would be most impressive for me. Finding a sufficiently difficult and well-scoped project to do is challenging.
Go to events
If there are events which you can do, go for them! They can be very good.
Some examples which come to mind are:
- game jams
- hackathons
- CTFs
- summer camps
Learn a new language
Depth is significantly preferable to breadth: it’s far better to know how to program or to know one language inside out than know three at a surface-level. If you know how to program very well and are very confident in one language, then learning another strengthens your application.
My recommendations for languages are in this order:
- a ‘simple’ language i.e. Python
- an OOP language i.e. Java or C#
- an old language i.e. C++
- a difficult language i.e. Rust, OCaml, Haskell
It’s much better to know how to program than to learn different languages. Learning how to program will help at interview and A Level. Learning different languages will be confusing due to syntax differences.
Personal Statement
Personal statements are difficult to write. Everyone has a lot of trouble with theirs.
I would recommend writing a personal statement as follows:
- bulletpoint everything
- arrange the bulletpoints into sections
- write paragraphs from those bulletpoints
- iterate with competent people
Iterating with competent people is by far the most important. Choose a small group (1-2) of highly competent teachers to send your personal statement to and get feedback from. These teachers should know about either maths or computer science. Iterating with friends is useful: good friends care more; smarter friends generally give better feedback. Students are more willing to swap personal statements as the deadline approaches.
Choosing a College
This can feel daunting: don’t worry. The only ‘bad’ choice is an open application.
Things to consider:
- accommodation
- proximity to town/CL
- ‘looks’ and ‘feels’
- facilities
- subject distribution – how many other computer scientists there are and whether it’s STEM-centric or not etc
College choice does not meaningfully or predictably affect overall probability of an offer. Pooling exists to deal with oversubscribed colleges. College choice only affects probability of a pooled offer. There is also variety in quality of applicants between colleges.
Don’t get filtered by CTMUA
After applying, but before the interview, you will have to sit a test called CTMUA. There are a lot of candidates and this is just designed to filter out a lot early on. The past questions can feel easy, but don’t underestimate it: revise for it properly and don’t get filtered.
You should:
- read and understand the notes and specification
- do all the past papers without looking at solutions – there aren’t many so don’t waste them
The Interview
Colleges handle interviews separately and there is year-on-year variation. I therefore cannot give overly specific advice, but rather general themes which held across all or most interviews I’m aware of.
There’s a lot of incorrect information about interview questions
Most practice interview material you can find online is unrealistic. There’s a limited number of possible good computer science interview questions, so top universities don’t like publishing large repositories of them.
The Cambridge interview process consists of a few multi-part questions. Questions are computer science or maths problems which usually are phrased using real-world examples to make them answerable using only maths: think ‘Alice has a box and a coin, Bob has a padlock’ rather than ‘Alice has a public key, a private key and a message she wants to send to Bob’.
The first part of many questions easy and designed to verify that the candidate has understood the problem. The last part of a question is sometimes very difficult or materially unsolvable.
Some colleges, but not many, will make one of the questions depend on something mentioned in your CV. Most will not. It’s possible, but very rare, to get a direct personal question i.e. ‘why are you better than other applicants’ is the worst I’ve heard.
Check if your college uses CSAT
Some colleges use CSAT: a written exam. Make sure you know whether your college requires CSAT. Colleges which use CSAT sometimes go through CSAT answers as part of the interview.
Realistic interview preparation resources
Here are some resources which I think are more realistic and useful.
- A Level maths: be familiar with all topics in A Level maths
- CSAT
- Oxford has some example questions
- MAT contains relevant questions
- simple STEP questions on relevant topics are useful
- old BIO questions and other ‘easier’ CP questions are relevant (≤1200)
- ask competent teachers for resources