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:
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, but it is expected that this will be the offering for 2013/14.
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.
Understanding how to programmatically access, in a massively parallel fashion, huge data sets, design/implement systems to manage big data, and formulate queries against big data.
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.
Theoretical and practical understanding of image processing and computer vision techniques for building advanced image-based applications
Representing and solving combinatorial problems.
Security aspects of computer systems; cryptographic techniques used to secure these systems.
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.
Designing good interfaces (and how to test that they really are good)
Human aspects of information security
Retrieval of relevant information (text, images, speech, video) from large document collections such as the Web.
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.
Reading, summarsing and oral presentation of research papers in Information Security
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.
