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.
Security aspects of computer systems; cryptographic techniques used to secure these systems.
Human aspects of information security
Investigates the challenges, methods and processes of specifying and managing large software system development projects.
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.
Reading, summarsing and oral presentation of research papers in Information Security
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, 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.
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)
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.
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 information security problem.
