This flexible course offers a largely free choice of modules from our range of Advanced Master's programmes.
It is likely to appeal to computing graduates whose interests span more than one specialism and/or those seeking the freedom to explore a variety of advanced topics. Depending on the options chosen, this course can serve as a springboard for employment or research.
This programme is available with an optional industrial placement of between eight and 50 weeks. The course duration varies depending on the options taken. You can apply for these options by clicking on the 'Apply' tab.
About the School of Computing
Our world-leading researchers, in key areas such as cyber security, programming languages, computational intelligence and data science, earned us an outstanding result in the recent Research Excellence Framework (REF). Our submission was ranked 12th in the UK for research intensity, with an impressive 98% of our research judged to be of international quality.
Strong links with industry underpin all our work, notably with Cisco Systems Inc, Microsoft, Oracle, IBM, Nvidia, Erlang Solutions, GCHQ and Google.
Our programmes are taught by leading researchers who are experts in their fields. The School of Computing at Kent is home to several authors of leading textbooks, a National Teaching Fellow, an IET (Institute of Engineering and Technology) Fellow and two Association of Computer Machinery (ACM) award-winning scientists. Kent was awarded gold, the highest rating, in the UK Government’s Teaching Excellence Framework*
While studying with us, you can gain work experience through an industrial placement. Our dedicated placement team can help you gain a suitable paid position and provide support throughout your placement.
We have a large range of equipment providing both Linux and PC-based systems. Our resources include a multicore enterprise server and a virtual machine server that supports computer security experiments.
The School also has a makerspace, The Shed, which offers exciting teaching and collaboration opportunities. Among other equipment it contains a milling machine, 3D printers, laser cutter and extensive space for building and making digital artefacts.
Think Kent video series
In this lecture, Dr Mark Batty from the School of Computing explores how mathematics can be used to better specify and design computer systems. He makes the case that computer systems should not be built above prose specifications and that a solid basis for computer-system engineering does not exist.
*The University of Kent's Statement of Findings can be found here
In the Research Excellence Framework (REF) 2014, research by the School of Computing was ranked 12th in the UK for research intensity.
An impressive 98% of our research was judged to be of international quality, with 81% of this judged world-leading or internationally excellent. The School’s environment was judged to be conducive to supporting the development of research of international excellence.
Each of our taught MSc courses is available in several formats to accommodate students from different backgrounds and to provide maximum flexibility. See more about Taught Master's course formats.
The following modules are indicative of those offered on this programme. This list is based on the current curriculum and may change year to year in response to new curriculum developments and innovation. Most programmes will require you to study a combination of compulsory and optional modules.
Modules may include:
CO885 - Project Research (15 credits)
CO889 - C++ Programming (15 credits)
CO871 - Advanced Java for Programmers (15 credits)
CO881 - Object-Oriented Programming (15 credits)
CO882 - Advanced Object-Oriented Programming (15 credits)
CO884 - Logic and Logic Programming (15 credits)
CO874 - Networks and Network Security (15 credits)
CO876 - Computer Security (15 credits)
CO892 - Advanced Network Security (15 credits)
CO899 - System Security (15 credits)
PL583 - Philosophy of Cognitive Science and Artificial Intelligence (30 credits)
CO528 - Introduction to Intelligent Systems (15 credits)
CO545 - Functional and Concurrent Programming (15 credits)
CO641 - Computer Graphics and Animation (15 credits)
CO832 - Data Mining and Knowledge Discovery (15 credits)
CO834 - Trust, Security and Privacy Management (15 credits)
CO836 - Cognitive Neural Networks (15 credits)
CO837 - Natural ComputationCO837 - Natural Computation (15 credits)
CO838 - Internet of Things and Mobile Devices (15 credits)
CO841 - Cyber Law (15 credits)
CO843 - Extended IT Consultancy Project (60 credits)
CO880 - Project and Dissertation (60 credits)
Teaching and Assessment
Assessment is through a mixture of written examinations and coursework, the relative weights of which vary according to the nature of the module. The final project is assessed by a dissertation.
This programme aims to:
- enhance the career prospects of graduates seeking employment in the computing/IT sector
- prepare you for research and/or professional practice at the forefront of the discipline
- develop an integrated and critically aware understanding of one or more areas of computing/IT and their applications (according to your degree title)
- develop a variety of advanced intellectual and transferable skills
- equip you with the lifelong learning skills necessary to keep abreast of future developments in the field.
Knowledge and understanding
You gain knowledge and understanding of:
- how to engineer software systems that satisfy the needs of customers using a state-of-the art methodology and an industrially-relevant programming language
- a broad variety of advanced topics relating to computing/IT (the specific topics will depend on the optional modules you chose and may vary from year to year in response to developments in the field, staff changes etc).
You develop intellectual skills in:
- the ability to identify, analyse and formulate criteria and specifications appropriate to a given problem
- the ability to model problems and their solutions with an awareness of any tradeoffs involved
- the ability to evaluate systems, processes or methodologies in terms of general quality attributes and possible tradeoffs
- the ability to deal with complex issues both systematically and creatively
- the ability to work with self-direction and originality in tackling and solving problems
- the ability to make sound judgements in the absence of complete data
- the ability to review a research paper or technical report critically and to present your findings to a group of peers
- the ability to plan and execute a substantial research or development-based project and to report the work in the form of a dissertation.
You gain subject-specific skills in:
- the ability to specify, design, implement and test computer-based systems
- the ability to deploy effectively the tools used for the construction and documentation of software
- the ability to undertake practical work that explores techniques covered in the programme and to analyse and comment on the findings.
You gain the following transferable skills:
- the ability to plan, work and study independently and to use relevant resources in a manner that reflects good practice
- the ability to make effective use of general IT facilities, including information retrieval skills
- time management and organisational skills, including the ability to manage your own learning and development
- an appreciation of the importance of continued professional development as part of lifelong learning
- the ability to work effectively as a member of a team
- the ability to communicate technical issues clearly to specialist and nonspecialist
- the ability to present ideas, arguments and results in the form of a well-structured written report
- the ability to act autonomously in planning and implementing tasks at professional or equivalent level.
Our graduates have gone on to work in:
- software engineering
- mobile applications development
- systems analysis
- web design and e-commerce
- finance and insurance
Recent graduates have gone on to develop successful careers at leading companies such as:
- BAE Systems
- The Walt Disney Company
Help finding a job
The University has a friendly Careers and Employability Service, which can give you advice on how to:
- apply for jobs
- write a good CV
- perform well in interviews.
The School has a dedicated Employability Coordinator who is a useful contact for all student employability queries.
You can gain practical work experience as part of your degree through our industrial placements scheme - we have a dedicated Placement Team who can give advice and guidance. All our placements are in paid roles.
In previous years, students have worked at a wide range of large and small organisations, including well-known names such as:
- Kent Police
- Morgan Stanley
- The Walt Disney Company.
You can take your work placement abroad. Previous destinations include Hong Kong and the US.
An industrial placement gives you invaluable workplace experience, which greatly enhances your employment prospects and also helps put your academic learning into a real-world context.
While studying, you can gain work experience through our industrial placement. We have strong links with industry including Cisco, IBM, Microsoft and Oracle and are among the top ten in the UK for graduate employment prospects.
The School of Computing has a large range of equipment providing both UNIX (TM) and PC-based systems and a cluster facility consisting of 30 Linux-based PCs for parallel computation. New resources include a multi-core enterprise server with 128 hardware threads and a virtual machine server that supports computer security experiments.
All students benefit from a well-stocked library, giving access to e-books and online journals as well as books, and a high bandwidth internet gateway. The School and its research groups hold a series of regular seminars presented by staff as well as by visiting speakers and our students are welcome to attend.
The School of Computing has recently built a makerspace on the Canterbury campus, which offers exciting new teaching and collaboration opportunities. Among other equipment, it contains milling machines, a 3D printer, laser cutter and extensive space for building and making digital artefacts.
Our taught postgraduate students enjoy a high level of access to academic staff and have their own dedicated laboratory and study room. Students whose course includes an industrial placement are supported by a dedicated team which helps them gain a suitable position and provides support throughout the placement.
Dynamic publishing culture
Staff and research students publish regularly and widely in journals, conference proceedings and books. Among others, they have recently contributed to: Journal of Artificial Evolution and Applications; International Journal of Computer and Telecommunications Networking; Journal of Visual Languages and Computing; Journal in Computer Virology.
Links with industry
Strong links with industry underpin all our work, notably with Cisco, Microsoft, Oracle, IBM, Agilent Technologies, Erlang Solutions, Hewlett Packard Laboratories, Ericsson and Nexor.
The Kent IT Consultancy
The Kent IT Consultancy (KITC) provides School of Computing students with consultancy experience while studying. KITC provides a project-based consulting service to small businesses in Kent. Its wide variety of services range from e-commerce solutions and network support contracts to substantial software development projects.
Global Skills Award
All students registered for a taught Master's programme are eligible to apply for a place on our Global Skills Award Programme. The programme is designed to broaden your understanding of global issues and current affairs as well as to develop personal skills which will enhance your employability.
A first, 2.1 or good 2.2 honours degree (or equivalent) in computing or a related subject.
All applicants are considered on an individual basis and additional qualifications, professional qualifications and experience will also be taken into account when considering applications.
Please see our International Student website for entry requirements by country and other relevant information for your country. Please note that international fee-paying students cannot undertake a part-time programme due to visa restrictions.
English language entry requirements
The University requires all non-native speakers of English to reach a minimum standard of proficiency in written and spoken English before beginning a postgraduate degree. Certain subjects require a higher level.
For detailed information see our English language requirements web pages.
Need help with English?
Please note that if you are required to meet an English language condition, we offer a number of pre-sessional courses in English for Academic Purposes through Kent International Pathways.
Programming Languages and Systems Group
Our research involves all aspects of programming languages and systems, from fundamental theory to practical implementation. The Group has interests across a wide range of programming paradigms: object-oriented, concurrent, functional and logic. We research the links between logic and programming languages, the verification of the correctness of programs, and develop tools for refactoring, tracing and testing. We are interested in incorporating safe concurrent programming practices into language design.
The Group is also interested in practical implementation of programming languages, from massively concurrent parallel processing to battery-operated mobile systems. Particular research topics include lightweight multi-threading kernels, highly concurrent operating systems, memory managers and garbage collectors.
Research areas include:
- theoretical and architectural questions concerning designs for both hardware and software
- abstractions and implementations of concurrency in programming languages
- formal specification of systems and their architecture
- design patterns and tools for enabling the safe and scalable exploitation of concurrency
- compilers, memory managers and garbage collectors
- lightweight multi-threading kernels and highly concurrent operating systems
- refactoring of functional and concurrent languages
- applications of formal methods to provably correct, secure systems
- model checking and abstract interpretation, including applications to discovering security vulnerabilities
- program verification and theorem proving
Computational Intelligence Group
This Group brings together interdisciplinary researchers investigating the interface between computer science and the domains of bioscience and cognition. In terms of applying computation to other domains, we have experts in investigating the modelling of gene expression and modelling of human attention, emotions and reasoning. From the perspective of applying biological metaphors to computation, we research new computational methods such as genetic algorithms and swarm intelligence.
The Group also develops novel techniques for data mining, visualisation and simulation. These use the results of interdisciplinary research for finding solutions to computationally expensive problems.
The Group has strong links with other schools at the University of Kent, as well as with universities, hospitals and scientific research institutes throughout the country and internationally.
Areas of research activity within the group include:
- bio-inspired computing including neural networks, evolutionary
- computing and swarm intelligence
- application of computational simulations in biology and medicine
- systems biology including gene expression modelling
- theory and application of diagrammatic visualisation methods
- data mining and knowledge discovery
- construction of computational models of the human cognitive and neural system.
Cyber Security Research Group
Security - of information, systems, and communications - has become a central issue in our society. Interaction between people's personal devices (far beyond just phones and computers) and the rest of the connected world is nearly continuous; and with the advent of the Internet Of Things its scope will only grow.
In that context, so much can go wrong - every communication can potentially be intercepted, modified, or spoofed, and surreptitiously obtained data can be commercially exploited or used for privacy invasions. In fact, data flows in society are such that many people already feel they have lost control over where (their) data goes.
The cyber security research group operates within that context. All members bring a particular technological emphasis - the analysis of particular classes of security problems or their solutions - but are fully aware that it all fits within a wider context of people using systems and communicating data in secure and insecure ways, and how external pressures beyond the mere technology impact on that. The topic of computer security then naturally widens to include topics like privacy, cyber crime, and ethics and law relating to computing, as well as bringing in aspects of psychology, sociology and economics.
From that perspective, the Cyber Security research group played a key role in setting up, and continues to be a core contributor to, the University's Interdisciplinary Cyber Security Research Centre, see www.cybersecurity.kent.ac.uk.
The group has a strong involvement with postgraduate teaching in this area. It teaches most of the core modules in MSc programmes in Computer Security, and Networks and Security. A new (from September 2017) MSc Course in Cyber Security has been provisionally certified by GCHQ. The group is also involved in undergraduate modules in this area, as well as postgraduate programmes in other schools such as the MSc Information Security and Biometrics, and in UK activities to define curricula in Cyber Security.
Areas of Research Activity
Members are engaged in the following areas of research (research areas in more detail) .
- Data Ethics and Privacy
- Authorisation Infrastructures
- Internet Of Things Security and Privacy
- Quantum Computation and Information, with Security Applications
- Formal Methods for Cryptography
- Steganography and Steganalysis
- Trust Management and Metrics and Reputation Systems
- Tools for Vulnerability Analysis
- Self-Adaptation applied to Security and Privacy
- Cloud Security
- Human Aspects of Security
- Blockchain and Distributed Ledger Technology
- Identity Management
Computing Education Group
We focus on disciplinary-specific pedagogy, especially the teaching and learning of computer science and programming.
Our research interests focus on understanding the aspects of learning that are specific to computing education, and which range from examining general theories of learning, through thematically focused investigations (such as gender), to tool construction. We examine education from multiple aspects, including supporting computing education research infrastructure, working with teachers, or focusing on student learning.
Areas of interest include:
- building an evidence base of research on early programming education
- tool support for learning and teaching of programming, including custom-made development tools, such as educational programming languages, or development environments, which can adapt to changes in programming paradigms and technology and pedagogical advances
- analysis of data generated as a part of the learning process, which could be text-based, naturally occurring in the classroom (eg, assessments), generated as a reflective process on learning (eg, diaries), or generated from interaction with programming environments.
Data Science Research Group
Data Science is about developing new techniques to better understand data and draws on many areas within and outside of computer science. Our research group develops and applies methods to interpret rich information sources.Our research comes under three themes:
- Dr Caroline Li gathers and analyses EEG data for the study of seasonal affective disorder.
- Dr Srivas Chennu works on neurodynamics of consciousness, developing new tools to study brain networks, including improved diagnostics and prognostics during emergence from coma. He also uses neural network modelling for predictive coding in cognition.
- Professor Ian McLoughlin studies speech signal processing, human hearing, automatic speech recognition as well as deep neural network acoustic models.
- Dr Palani Ramaswamy has worked on biological signal analysis, brain-computer interfaces and biometrics. He has applied machine learning techniques to these and other fields.
- Dr Fernando Otero, Professor Alex Frietas and Dr Matteo Migliavacca, have developed new search-based approaches to computation, such as ant colony optimisation methods for predicting protein function.
- Professor Frank Wang has shown that memristors can provide a radically new way to construct neural networks. In addition he has developed models of cloud computing for big data.
- Dr Michael Kampouridis and Dr Fernando Otero research in the areas of algorithmic trading and financial forecasting. They have worked with different types of data, such as foreign exchange ultra-high frequency data. Algorithms they've used include genetic programming and ant colony optimisation.
- Dr Kampouridis works on the pricing of weather derivatives by using machine learning algorithms.
Staff research interests
Full details of staff research interests can be found on the School's website.
David Barnes: Senior Lecturer
Simulation and modelling for biosciences, the teaching of introductory programming, chess cheating and legacy software.View Profile
Professor Howard Bowman: Professor of Cognition and Logic
Human attention, emotions, reasoning; connectionist modelling; symbolic modelling; EEG recording and analysis methods; formal methods and concurrency theory.View Profile
Professor David Chadwick: Professor of Information Systems Security
Public key infrastructures; privilege management infrastructures; trust management; identity management; privacy management; policy based authorisation; cloud security; autonomic access controls and internet security research.View Profile
Dr Olaf Chitil: Lecturer
Semantics and theoretical foundations of programming languages; type theory; program transformation; compiler construction; message-passing- based concurrency; programming tools; how to write programs.View Profile
Dr Dominique Chu: Lecturer
Molecular computing (including biochemical computers), stochastic neural networks, complexity and computation, mathematical modelling of stochastic systems.View Profile
Dr Rogerio de Lemos: Senior Lecturer
Software engineering for self-adaptive systems: dynamic generation of management processes, abstractions for supporting self-adaptability and self-organisation, resilience evaluation; self-adaptive dependable and secure systems; architecting dependable systems: abstractions for fault tolerance, and verification and validation of dependable software architectures; software development for safety-critical systems; dependability and bio-inspired computing.View Profile
Professor Sally Fincher: Professor of Computing Education
The construction and boundaries of CS education; the teacher perspective, especially teacher decision-making; patterns and pattern languages, their use in knowledge-transfer, and their application to CS pedagogy.View Profile
Professor Alex Freitas: Professor of Computational Intelligence
Data mining; the biology of ageing; evolutionary algorithms; bioinformatics.View Profile
Dr Colin Johnson: Reader
Bioinformatics; computer simulation in biology; bio-inspired computing including genetic algorithms, genetic programming and swarm intelligence methods.View Profile
Professor Richard Jones: Professor of Computer Systems
Implementation of programming languages; memory management; garbage collection, distributed garbage collection; object demographics; program analysis for improved memory management; program visualisation.View Profile
Dr Stefan Kahrs: Lecturer
Expressiveness of programming languages, type systems, term rewriting, infinitary rewriting.View Profile
Michael Kampouridis: Lecturer
Computational finance; application of computational intelligence (CI) techniques to business-related problems, such as economics and finance; use of evolutionary techniques (eg, genetic algorithms, genetic programming); financial forecasting; intelligent decision support systems for business.View Profile
Dr Andy King: Reader in Program Analysis
Abstract interpretation, logic programming and security.View Profile
Dr Caroline Li: Lecturer
Tools for controlling computer/robot using brain signal; body sensor data fusion for healthcare and sports; methods for diagnosing, classifying and monitoring states of brain health/ illness; signal processing and machine learning methods.View Profile
Fernando Otero: Lecturer
Development of ant colony optimisation algorithms for data mining; economic applications of data mining; bioinformatics; evolutionary algorithms, mainly genetic programming.View Profile
Scott Owens: Lecturer
Semantics of shared memory concurrency; design of programming languages; formal verification for software and interactive theorem proving.View Profile
Dr Peter Rodgers: Reader
Information visualisation; graph drawing; Euler diagrams.View Profile
Professor Simon Thompson: Professor of Logic and Computation
Functional programming in Haskell, OCaml and Erlang; refactoring functional programs: tool building, theory and practice; dependently-typed functional programming; testing of complex and concurrent systems using properties; property extraction from test suites.View Profile
Gerald Tripp: Lecturer
Techniques for the analysis and control of high-speed packet networks, including system monitoring and network intrusion detection; use of special-purpose hardware and firmware designs to perform high-speed string and regular expression matching.View Profile
Ian Utting: Senior Lecturer
Tool support for teaching and learning in CS, especially programming, and especially small and mobile devices; large scale data-driven studies of initial programming education, especially using Black Box.View Profile
Professor Frank Wang: Professor of Future Computing; Head of School
Future computing; unconventional computing; non-Turing architecture; cloud computing; big data; deep learning; memristor; neural networks; nature-inspired computing; green computing.View Profile
Dr Laura Bocchi: Lecturer
Theory and application of session types, concurrency and service-oriented computing.View Profile
Professor Ian McLoughlin: Head of School (Medway)
Speech is the primary communications mechanism for humans, and is increasingly the way we interact with computers and mobile devices. In my research I deal with all aspects of speech, language and hearing, and ally this with powerful machine learning techniques that mimic how human brains acquire language and recognise sounds (machine hearing). My research team also works with speech-impaired patients to develop techniques that enable them to regain the power of speech in their daily lives.View Profile
Dr Matteo Migliavacca: Lecturer
Stream processing, database systems, parallel data processing, networked systems, cloud computing, distributed systems, big data.View Profile
Dr Palaniappan Ramaswamy: Reader, Admissions Officer (Medway)
Analysis of biomedical signals (such as EEG, PCG and ECG) for various applications: brain-computer interface, biometrics, electrophysiological analysis, cardiovascular disease diagnosis and stress management. Also, analysis of speech and image data for various engineering and computer science applications. Tools utilised: advanced signal processing and machine learning (such as neural networks and genetic algorithms).View Profile
Dr Mark Batty: Senior Lecturer
Empirical testing of the behaviour of hardware and compilers, building formal models of parts of the system, the development of algorithms and data-structures that use fine-grained concurrency, and the verification of those pieces of concurrent code.View Profile
Dr Marek Grzes: Lecturer
Machine learning, artificial intelligence for games, data analysis, probabilistic reasoning, and applications thereof.View Profile
Professor Julio Hernandez-Castro: Professor of Computing
Computer and network security, cryptography and cryptanalysis, steganography and steganalysis, data loss prevention and RFID security.View Profile
Dr Anna Jordanous: Lecturer
Computational creativity and its evaluation, music informatics, digital humanities, knowledge modelling, Semantic Web, and natural language processing.View Profile
Dr Carlos Perez-Delgado: Lecturer
The advantages and limitations that quantum theory conveys to communication, computation, metrology, and security.View Profile
The 2019/20 annual tuition fees for this programme are:
|Advanced Computer Science - MSc at Canterbury:|
|Advanced Computer Science with an Industrial Placement - MSc at Canterbury:|
For students continuing on this programme fees will increase year on year by no more than RPI + 3% in each academic year of study except where regulated.* If you are uncertain about your fee status please contact email@example.com
General additional costs
Find out more about general additional costs that you may pay when studying at Kent.
Search our scholarships finder for possible funding opportunities. You may find it helpful to look at both: