‘Computer Science’ can be a bit misleading – I imagined learning lots about how computers and networks work. In fact, most of this course is spent either programming or studying how things are computed (sorting algorithms etc.).
If you’re a NatSci taking the Computer Science course you’ll just be taking Paper 1; CompScis also take Paper 2. But if you find you really like Computer Science you can always switch Tripos (at least one person usually does) with a bit of catch-up work over the summer leading into second year. If you like Decision maths, you’ll probably also enjoy this course, a good chunk of which is really an extension of the subject, but with more proof and real maths! Don’t worry if you’ve never programmed before – about half of the people taking this course won’t have and you’re taught everything you need to know about coding and doing it efficiently.
A recent addition is a ‘pre-arrival’ course to be completed over the summer before first year, to get those who haven’t coded before up-to-speed- this is also a chance to test-out the subject, as you can complete the course without committing to taking the subject when you arrive in October.
Practicals (called “ticks” by Comp-Scis) are fairly simple, weekly programming exercises (or ‘coursework’) in the first term: initially you’ll use the ML language (don’t worry if you don’t know any, most of the ‘pure’ Compscis don’t either and it’s really easy to pick up the basics) and in 2nd half of Michaelmas you’ll use Java. There are lecture courses to accompany these but it’s only when you put it into practice and program for yourself that things will really make sense – this is the purpose of the ticks. Last year, the 2nd term only included one compulsory ‘tick’ for Natscis (3 for ‘pure’ Compscis), and the 3rd term had none, to ease exam pressures.
These ticks are designed to be passed by everyone – a 100% pass rate is the target, and as long as you allocate the time there are many fellow students and demonstrators who are willing to make sure you pass every single one – given that this is about 25% of your overall grade, this is quite a kind system!
Every week, upon completion, you’ll test your work on an online application to check it functions correctly. Afterwards you go to a ‘ticking session’ to (hopefully!) get it ‘ticked’; this is largely a matter of formality to check it is your code and you haven’t just copied from a friend. Later on through the course, tickers will also check that your work is suitably efficient, though this is part of the lecture course you will become familiar with in good time.
Along side the compulsory ticks mentioned above, there are extra ‘starred’ ticks for each one if you fancy becoming an expert programmer. If you have the time, it’s a good idea to get as much practice as possible – some people like to save them as revision exercises in the ‘holidays’ and some like to do them alongside the lecture course instead; it’s really up to you, as there is no deadline for these. There are many ways to solve some problems and as long as you understand why your method works (as well as working efficiently, later on) you’ll get the tick.
Other subjects that the Computer Science course covers are: Floating Point Computation (how computers store numbers and the errors associated with them –useful for making sure your programs return accurate numbers) and Algorithms (how to write programs and store data in efficient ways).
Supervisions are organised separately for each module and most of the time they involve doing questions from Past Papers which is really good practice for technique in the exam. The lecture notes can sometimes be a little confusing so make the most of your supervisions and ask as many questions as you can.
In short, CompSci can be a challenging module as it requires a different way of thinking but it can also be really rewarding having a wide range of experience, and invaluable for future careers, the way the world is going. If you have a question, don’t hesitate to grab an older student or chat to your Tutor/Director of Studies.
Link to course: website: http://www.cl.cam.ac.uk/admissions/undergraduate/nst/