专业详情

As in other branches of applied mathematics and engineering, improvements in the practice of programming require determined and meticulous application of methods of mathematical understanding, calculation and proof.

Recognising this, this full-time, twelve-month MSc has been designed to teach the mathematical principles of specification, design and efficient implementation of both software and hardware.

The MSc is designed to combine theory and practice. It teaches the advanced techniques and ideas that are being developed in application domains (such as machine learning, verification and computer security) and the rich and diverse theories that underpin them. These include models of computation and data, and mathematical analysis of programs and algorithms.

The course aims:

  • to provide a foundation for research into the theory and practice of programming and the design of computer-based systems;
  • to present knowledge, experience, reasoning methods and design and implementation techniques that are robust and forward-looking;
  • to provide the foundation for a professional career in the computing-based industries, including telecommunications, process control, business-, mission-, and safety-critical fields; and
  • to enhance the skills of a professional who is already working in one of these industries.

The Department of Computer Science is committed to the development and application of effective theory based on realistic practice, and some of the modules were developed through consultation and collaboration with industry. The department believes that only by the interplay of theory and practice can you be trained properly in such a rapidly advancing subject. Practice alerts us to real contemporary problems – theory is a shield against professional obsolescence.

Entrants to the course will come from either a computer science or mathematical background. You may be a recent graduate in computer science and will supplement your knowledge with the kind of sound mathematical basis which is not always found in undergraduate courses. If you are a graduate in mathematics you will apply your training in the context of a rigorous application of the fundamental techniques of computer science.

You will develop knowledge and understanding of a formal disciplined approach to computer science, a range of relevant concepts, tools and techniques, the principles underpinning these techniques and the ability to apply them in novel situations. On subsequent employment, you will be able to select techniques most appropriate to your working environment, adapt and improve them as necessary, establish appropriate design standards for both hardware and software, train colleagues and subordinates in the observance of sound practices, and keep abreast of research and development.