Information Security (MSc)
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 MSc Information Security programme focus on advanced skills in software and security.
Compulsory courses
You must take all of the following courses:
The development of software components in software architecture, design, implementation and testing; and their re-use, including selection, adaptation and integration.
Reading, summarizing, and oral presentation of non-specialist papers in computing science
Ethical, legal, professional, and social issues in information technology, and advanced communication skills
Review of computing science papers; literature search; design of computing science experiments; computing paradigms.
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.
Investigates the challenges, methods and processes of specifying and managing large software system development projects.
Background survey, problem statement, and work plan for your chosen project
Elective courses
You must choose three 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.
Fundamental concepts and practical aspects of wireless sensor networks, with a focus on creating actual sensor mote applications.
Project
To complete the MSc degree you must undertake a project worth 60 credits:
A project chosen by you to investigate a challenging but constrained research problem.
