Computing Science (MRes)

Degree structure

All our Masters Programmes consist of a wide variety of courses, including compulsory courses, elective courses, and a project.

The compulsory courses for the MRes Computing Science programme focus on advanced computing topics, reflecting the research-driven nature of the degree.

Compulsory courses

You must take all of the following courses, totaling 100 credits:

Reading, summarizing, and oral presentation of research papers in all areas of computing science.

Reading, summarizing, and oral presentation of research papers in a selected area of computing science.

Review of computing science papers; literature search; design of computing science experiments; computing paradigms.

A project chosen by you to gain practice in solving a small research problem.

Literature survey, problem statement, and work plan for your chosen research project.

Elective courses

You must choose two of the following electives. Not all electives are taught every year.

How the fundamental principles of communications theory underpin the structures of the global telecommunications network and the Internet and determine the logic of how these networks interact.

Review of research literature on systems programming techniques and OS design; limitations of deployed systems; how the OS infrastructure might evolve to address the challenges of supporting modern computing systems.

Advanced algorithms and data structures, their complexity, and NP-completeness.

Design of intelligent agents, which perceive their environment and act rationally to fulfill their goals.

Development of a digital circuit that implements an instruction set architecture; the memory system, including cache and virtual memory; architecture support for the operating system.

Representing and solving combinatorial problems.

2D and 3D image processing, with applications such as information retrieval and medical imaging.

Algorithms and systems for distributed processing over local and wide area networks.

Design of integrated information systems across large organizations.

Principles of functional programming including functions, expressions, types, type inference, equational reasoning, and monads; solving substantial programming problems using Haskell.

Advanced topics in HCI, including multimodal interaction, novel forms of interaction, users with different abilities, and social media.

Retrieval of relevant information (text, images, speech, video) from large document collections such as the Web.

Development of dynamic web sites and internet applications.

Designing and maintaining integrity of large heterogeneous enterprise systems (in collaboration with IBM).

Theory of machine learning; practical application of machine learning techniques in a variety of domains, including human computer interaction, information retrieval, bioinformatics, computer vision and graphics.

Mobile interaction and ubiquitous systems; embedded software development for mobile interactive systems and associated services.

Formal process description and analysis techniques used in the design of reactive systems, such as process control systems.

Tools and techniques for development of safety-critical systems; analysis of failures.

Human aspects of information security.

Security aspects of computer systems; cryptographic techniques used to secure these systems.

               Fundamental concepts and practical aspects of wireless sensor networks, with a focus on creating actual sensor mote applications.

Project

To complete the MRes degree you must undertake a project worth 60 credits:

A project chosen by you to investigate a challenging but constrained research problem.