MSc in Computer Security
This programme consists of modules to an overall total of 180 credits.
The programme is taught in two semesters (each of 60 credits) followed by a summer project (also 60 credits).
You will study 80 credits of compulsory core modules which deliver the topics essential to computer security. The Internet Computing Workshop (40 credits) takes your knowledge of programming and, through lectures and extensive practical work, introduces specific technologies and tool kits for building internet-based software. Other core modules cover computer security, network security, secure programming and cryptography.
|First Semester||Second Semester||Summer|
|Computer Security||Network Security||
|Internet Computing Workshop|
|Optional Module 1||Optional Module 2|
|Optional Module 3||Optional Module 4|
In each of the first and second semesters, you choose two optional modules to extend or deepen your knowledge of computing. Like the core modules, these are taught by experts in their fields, relating research and current practice. These modules range from software testing and distributed systems and component-based software to software engineering and systems programming in C/C++. The range of modules available will vary from year-to-year: the selection for current year is given here.
The four summer months are spent working on the extended project. This has been designed to enable you to demonstrate your professional competence in a substantial software-related task. It also allows you to apply material learned in modules other than the Internet Computing Workshop. More details.
Examinations and assessments
Assessment is by both practical and written coursework and examination. The project is assessed on the basis of a practical demonstration and a written report; the Internet Computing Workshop is assessed by practical work, including a substantial group project.
Please note that actual course modules may vary from year to year, however the following are typical course modules:
- Computer Security
This module introduces the fundamentals of computer security and its basic building blocks, including cryptography, access control, authentication, and trusted computing. There are also some guest lectures from industry.
The module describes cryptographic systems in depth. The theory and practice of the main symmetric and public-key systems are covered, and more advanced topics like zero-knowledge proofs and quantum cryptography are introduced. The module is accompanied by assessed exercises.
- Network Security
The means to secure networks at different layers of the IP stack is described. IPSec, web security, PGP, wireless security, and security at the application layer are covered in depth. The module includes assessed work.
- Secure Programming
This module covers software-based attacks and countermeasures, including SQL injection attacks, buffer overflows, and exploitation of race conditions. There are assessed practical exercises accompanying the module.
- Internet Computing Workshop
Building on your prior knowledge of object-oriented programming, the module introduces specific technologies and toolkits for building secure internet-based software. Through lectures and extensive practical work, the module prepares you to make an effective contribution to building and securing internet-based software systems as professional software engineers.
- Project (CompSci - MSc)
The Summer Project is the culmination of the degree programme. Here, you work intensively on a topic of your choice, while benefiting from regular meetings with your project supervisor. The project can be development of software to solve some problem in computer security, or it can be investigation and analysis of existing designs and solutions. The topic can be any area of computer security.
- Automatic Verification
- Compilers & Languages
- Databases 2
- Distributed Systems
- Formal MethodFormal Methods
- Human Computer Interaction 2
- Principles of Programming Languages
- Systems Programming in C/C++
- Commercial Programming (Extended)
- Component-based Software
- Computer Networks (Extended)
- Individual Study 2
- Operating Systems (Extended)
- Software Testing
- Human Computer Interaction (MSc)