skip to primary navigationskip to content

Computer Science

Subject Summary: Part IA Computer Science

Computer science is becoming as essential to science as mathematics. Whole disciplines, ranging from particle physics to genomics, are now dependent on efficient and effective use of computers for the analysis of data. This option gives a foundation in computer science that concentrates on programming practice, algorithm design, and the underlying theory of computation. ML, a modern functional language, is used to survey the whole field before Object-Oriented Programming is studied in more detail. This is complemented by practical-based learning of Java. Both language modules have assessed exercises. The course also covers the use and abuse of digital computers in numerical calculations and simulations, and the design of efficient, effective algorithms. The course is useful for those who will need to apply computational methods in their future scientific career. Students who wish to continue with computer science may switch into the Computer Science Tripos at the end of their first year. For further details of the Computer Science NST option can be found at and Computer Science more generally at: 


Programme Specification: Part IA Computer Science

This course is taught by the Computer Laboratory. Undergraduates taking this course will sit Paper 1 of the Computer Science Tripos.

(The Biology of Cells and Computer Science options cannot be combined.)


  1. to provide Natural Science undergraduates with a thorough grounding in computer structure and programming, algorithm design, and the fundamental theories of computer science;
  2. to develop skills in programming and analysis of computational problems;
  3. to provide Natural Science undergraduates with a taste of academic Computer Science.

Learning outcomes

At the end of the course students should:

  1. have attained a solid foundation in the fundamentals of computer science, including computer structure, algorithm design and analysis, floating point and numerical computation, and computer programming;
  2. have developed practical programming skills through a range of assessed exercises and practical classes.

Teaching and Learning Methods

Lectures (60), supervisions (ideally one for every 3 to 6 lectures), assessed exercises, and practical programming classes.


Assessment for this course is through:

  • unseen written examinations;
  • submission of practical exercises.

Courses of Preparation

Essential: A Level Mathematics or equivalent.
Computer Science students are assumed to be taking NST Part 1A Mathematics in parallel with NST Part 1A Computer Science.

Recommended: AS- or A Level Further Mathematics and/or a physical science.

Additional Information

Further information is available on the Course Websites pages.