Teaching is provided through lectures, practical classes and supervisions. In Year 1, you can typically expect 20 hours of teaching every week, including up to 12 lectures and practical classes.

Assessment is by three-hour examinations taken in the final term each year. Practical work is also assessed in the second and third years, and you submit a 12, 000 word dissertation on your third-year project.

### Foundations

You take four papers, including two compulsory Computer Science papers and at least one Mathematics paper.

The two compulsory Computer Science papers cover topics including foundations of computer science (taught in ML), Java and object-oriented programming, operating systems, discrete mathematics, algorithms, and digital electronics. The algorithms, ML, Java and digital electronics topics involve laboratory work.

Most students take the Part IA Mathematics paper from Natural Sciences. The fourth paper is chosen from the following:

- a third Computer Science paper covering topics including computer graphics, human-machine interaction and machine learning (students not taking this paper in Year 1 must take it in Year 2)
- a social psychology paper from the Psychological and Behavioural Sciences course
- one of Chemistry, Earth Sciences, Evolution and Behaviour, Physics or Physiology of Organisms from Natural Sciences

Alternatively, you may take the compulsory first-year Computer Science papers alongside two of the first-year papers of the Mathematics course. This is known as Computer Science with Mathematics, and some Colleges require applicants who want to take Computer Science with Mathematics in their first year to take STEP Mathematics.

You should indicate which combination you wish to take in your first year - Computer Science, Computer Science with Social Psychology, Computer Science with Natural Sciences, or Computer Science with Mathematics - in your Supplementary Application Questionnaire (SAQ).

### Core technologies and theories

You take four papers, spanning the core discipline through topics including:

- theory – including logic and proof, computation theory
- systems – including computer design, computer networking
- programming – including compiler construction, advanced algorithms
- applications and professionalism – including artificial intelligence, graphics, security

You also undertake a group project which reflects current industrial practice.

Students who don’t take the third Computer Science paper in Year 1 must take it in Year 2, instead of one of the Part IB papers (which must then be taken in Year 3).

### Specialisation

You can choose 15 topics from a large selection (some options may not be available to those students taking a Year 2 paper in Year 3). These are examined across three papers to allow you to concentrate more on systems, theory or applications. The advanced topics are wide-ranging and usually include:

- mobile and sensor networks, principles of communication
- specification and verification of hardware and software, semantics
- quantum computing, bioinformatics
- human-computer interaction, natural language processing, e-commerce
- advanced artificial intelligence, advanced graphics

All students also work on a substantial project demonstrating their computer science skills, writing a 12, 000 word dissertation on it. Projects are often connected with current Cambridge research and many utilise cutting-edge technology.

### Research preparation

The fourth year is designed for students considering a career in academic or industrial research. You explore issues at the very forefront of computer science and undertake a substantial research project.