compsci
Compsci - A Computer Scientist, or the subject of Computer Science.

The idea of this page is to give an unoffical and informal look at what compsci is like at Cambridge for those applying or those just curious. The generalities may be extendable to other computer science courses, especially those at top universities such York, Warwick, Imperial, Oxford etc. I intend to aim it at a fairly broad audience, so anyone doing compsci at uni already may find it somewhat unsurprising.

Structure of the course at Cambridge
Cambridge has a long history that gives rise to some pecularities. Amongst them is probably the continuation of the Tripos system. The Tripos system means for compscis you are also a Natural Scientist [natsci], and you have to do natsci maths and either one or two other natsci subjects during your first year. Those who are intending to continue with compsci usually only choose one natsci option and most choose Physics. The majority of compscis therefore spend half their first year doing compsci, a quarter maths and a quarter Physics. After that you can only do compsci.

This system has both its advantages and disadvantages - you aren't necessarily interested in the natsci subject and without further maths A-level some people find first year natsci maths very hard. Physics also mandates practicals that are continally assessed, which many people don't enjoy. However, if one is interested in aspects of Physics then it can be somewhat rewarding as they cover special relativity, some quantum mechanics as well as some extra electro and magneto-statics and Newtonian mechanics.

Personally, I had very mixed opinions of the first year Physics course. I found some aspects rather easy as I had already covered them in detail during further maths - such as most of the mechanics material they did. I enjoyed the special relativity, although it was only a small amount I hadn't covered previously (velocity transforms and relativistic doppler, for example). The electro and magneto-statics I found intensely dull, though I suspect this is my personal bias rather than the standard of the lecturing. The third term is devoted to Quantum and Statistical Physics, whilst I loved the 'proper' quantum stuff such as electon-tunneling, much of the rest of the course was committed to the history of discoveries or gas equations and statitistcal physics. Whilst this must excite some, even the extraordinary and brilliant lecturing of Professor Longair couldn't keep me awake, frankly.
This means although I love some aspects of Physics, the rest and the level of maths routinely required made my decision to stick with compsci rather easy.

So to surmise, in the first year you not only do compsci but also a natsci subject (or two and half the compsci course) and natsci maths.

Breaking you in? - Part IA (first year)
Compsci at Cambridge is a very diverse subject, which attempts to balance theory with practice. Some computing courses are regarded as very vocational, whilst I can't comment on them specifically, Cambridge is very definitely not vocational in style despite having some practical aspects. The first year illustrates this well with topics ranging from Discrete maths to Digital electronics, which superficially only have boolean logic in common.

The subjects seem fairly dichotomised and consequently split well between practicality and theory.
The theoretical courses are those such as Foundations of Computer Science, Software Engineering (part 2), Discrete Mathematics and Regular languages & Finite Automata. The first two of those are usually taught by my Director of Studies, Professor Lawrence Paulson, who is having a sabbatical during the academic year 2003-4. Although at the time there seems like a lot of theory for the sake of it in these courses, the material covered is built on extensively in later courses. So even if they seem pointless at first, it's actually very useful to understand them well. I found Discrete Maths a lot harder than I expected, but by the end of it was enjoying grappling with some of the set-theory questions. Unfortunately the exam questions on these topics are generally the type that require reproductions of proofs, which is something I find unusually difficult given my memory for other things pretty good. Those that are natural mathematicians will find it only a little challenging to very well in.

The practical subjects are fairly prevalent, with a programming course in Java whose lecturer I hope wouldn't be offended if I described his style as, at times unconventional. Digital Electronics and Structured Hardware Design [SHD] make up the areas of hardware that are covered in the first year. SHD being predominantly concerned with custom designed small computer centric systems, such as I recall there being an exemplar exam question of a television studio audience voting system. I found the lecturer pretty amusing, especially when he broke his singing shark (don't ask).

On the whole I'd recommend anyone who is going to Cambridge to study compsci to already know the theory behind programming and preferably have some experience too, as time seems to be a factor and those who hadn't coded previously seem much more loathed to when it's needed for projects. I'm not sure if this is a reflection of their lack of enthusiasm for coding or the method of teaching coding (functional language before an imperative one - funky!). The "Computer Science: A Modern Introduction" by Goldschalger and Lister certainly covered enough of the basics to get people going (such as looping and conditional structures, variables etc etc), and was mandatory preparatory reading. I wonder how many people (other than me) read it before coming to study.

Seems like a long ascent... - Part IB (second year)
The second year so far has seemed to be a bit of a long uphill climb, with little prospect of rest. There seems a greater emphasis on continuous assessment in IB because of there being ECAD+Architecture labs (Verilog and ARM ASM programming on an Excalibur multipurpose board) and the Group project. Lectures move out to the West Cambridge site from the New Museums site halfway through the first term (Michaelmas) and the more comfortable seats are welcome, even if it takes considerably longer to get there from Clare.
From the first term the Computer Architecture course is pretty enjoyable, though not very taxing if you are already familiar with the basics of computing history and how computers work on a hardware level. The Unix tools (non-examinable :)) and Data Structures & Algorithms courses are very useful and certainly in the case of DS&A - very important. The Concurrent systems course seemed to go fairly slowly, but that could partially be me prefering the fast but repetitive learning style.

So far I'm enjoying the Introduction to Security course in the second term, this is given by Markus Kuhn, who is disturbingly talented in the field of computer and physical security.

I'll update this page further once I'm further through term...




Page created: 16:12 28 Dec 2003, Last modified: 23:18 20 Jan 2004
© Copyright Alaric Nightingale, 2003. All rights reserved, offenders will be annihilated.
Site generated by xix content management system version 0.2.0.

Valid XHTML 1.1 Valid CSS! informationStorm.co.uk