The Computer Science MSc prepares graduates from any discipline for a career in computing, or a career involving the application of computing within their original professional field. No prior knowledge of computer science is required.
The industrial placement was a highlight of the course. Working on real projects allowed me to apply the theory I had learnt during the first year to actual projects that would impact on businesses.
A first, 2.1 or good 2.2 honours degree (or equivalent) in any subject. You should also have mathematical skills equivalent to a grade C or above in GCSE Mathematics.
All applicants are considered on an individual basis and additional qualifications, professional qualifications and relevant experience may also be taken into account when considering applications.
Please see our International website for entry requirements by country and other relevant information. Due to visa restrictions, international fee-paying students cannot study part-time unless undertaking a distance or blended-learning programme with no on-campus provision.
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.
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.
Duration: 1 year full-time
This conversion programme prepares graduates from any discipline for a career in computing, or a career involving the application of computing within their original professional field. Our students come from a wide variety of backgrounds including natural sciences, engineering, arts, humanities and social sciences. No prior knowledge of computer science is required.
All taught Master’s programmes at Canterbury are available with an optional industrial placement.
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. You may also have the option to take modules from other programmes so that you may customise your programme and explore other subject areas that interest you.
This module covers the hardware and software components that computational devices and systems are built from. It addresses their relationship with each other and also the services that they provide to application software and users.
This module contains four main components, several of which are at the forefront of the academic discipline and are informed by research: Propositional and predicate logic, and resolution; Prolog programming; Search Techniques; Constraint Logic Programming.
The crowning piece of most Masters degrees is the Masters Project in which you apply a wide range of skills learned in the taught modules to an interesting research problem or practical application of your choice. The Project Research module provides useful transferable skills for doing the project, and supports you in some preparatory tasks such as literature study and project planning.
• Software processes.
• Modelling techniques, and the use of these techniques throughout the project lifecycle.
• Introduction to modelling principles (decomposition, abstraction, generalization, projection/views) and types of models (information, behavioural, structural, domain and functional).
• Risk and risk management in software.
• Approaches to software testing and inspection.
• Approaches to software configuration management.
• Software engineering tools: configuration control, project management, integrated development environments and modelling tools.
Web-based information systems form the heart of e-commerce. They are also increasingly the way businesses handle all their information needs. Building such systems requires an understanding of up-to-date tools and technologies such as web page creation, client side programing, server side programming and databases; it also calls for an understanding of how to design systems that genuinely meet user and business needs.
This module provides for well-qualified computer science students entering the MSc programme from a range of backgrounds. These students will have good programming skills but will not necessarily have used Java or another object-oriented language extensively. This module seeks to ensure that students have the Java and object-oriented design skills necessary for the rest of their programme.
This module provides an introduction to object-oriented programming using the popular Java language. It is designed for beginners who have not studied computer programming before. By the end students will be able to develop simple programmes using Java.
Building upon Introduction to Object-Oriented Programming, this module covers the design and implementation of high-quality software using OO techniques. Systems are modelled as configurations of objects communicating with one another. Techniques (e.g. inheritance) are introduced which allow objects to play different roles within a system. These two concepts are key to the support for adaptation and reuse that OOP provides. Much emphasis will be placed on gaining a deep understanding of these concepts and applying them in practice by developing programs in Java. The remainder of the module will explore software component frameworks, specifically those that come packaged with Java, placing most emphasis on the frameworks to support the structuring and manipulation of data (data structures and algorithms).
Introduction, including a review of network techniques, switching and multiple access. High speed local area networks. Network protocols, including data link, network, transport and application layers and their security issues. Problems of network security and mechanisms used to provide security such as firewalls. Real time data transmission and quality of service. Naming and addressing. Security of IEEE 802.11 networks. Recent developments: topics will change from year to year
This module covers the basic principles of machine learning and the kinds of problems that can be solved by such techniques. You learn about the philosophy of AI, how knowledge is represented and algorithms to search state spaces. The module also provides an introduction to both machine learning and biologically inspired computation.
Computer graphics and animation are important for a variety of technical and artistic applications including web design, HCI and GUI development, games and simulations, digital photography and cinema, medical and scientific visualization, etc. This module introduces the subject from the perspective of computing. You will learn about technologies and techniques for modelling, manipulating, capturing, displaying and storing visual scenes, digital images, animations and video. You will also gain practical experience of 3D modelling tools.
This module explores a range of different data mining and knowledge discovery techniques and algorithms. You learn about the strengths and weaknesses of different techniques and how to choose the most appropriate for any particular task. You use a data mining tool, and learn to evaluate the quality of discovered knowledge.
Neural networks will be placed into a historical perspective related to neuro-biology and in the context of the artificial intelligence hypothesis. Students will familiarise themselves with the Leabra/Emergent environment.
The module will explore existing and emerging legal issues in cyber security, cybercrime, privacy and data protection, including the domestic and cross-boundary legal regulatory frames and their associated ethical dimensions. Topics covered include cybercrime, privacy and data protection, Internet and cyber surveillance, cross-border information flows, and legal structures. Students will be challenged to critically examine the ethics and management of cyber data. It will require students to assess emerging legal, regulatory, privacy and data protection issues raised by access to personal information.
This module builds on CO871 Advanced Java for Programmers and extends your knowledge to cover the language C++ which is widely used by professional programmers.
The focus of the module is on the development of the advanced English language competence necessary for post graduate study in scientific disciplines. This includes the ability to interpret and evaluate authentic scientific texts; analyse, discuss and summarise written and visual information both in writing and orally; organise written texts effectively and submit them in grammatically accurate English, and present the results of research orally in a coherent and stimulating way.
Students undertake several projects for the Kent IT Consultancy (KITC). Each of these will be either a commercial project for an external client, or an internal development project, e.g. developing a future service offering for the KITC.
In addition to project work, students will be expected to engage in ongoing tasks related to the operation of the consultancy, including marketing, sales and mentoring/buddying colleagues.
Each assignment will be carried out under the supervision of KITC management and in accordance with client requirements, with deliverables de?ned by negotiation with the client.
The project consists of an extended period during which students work on a specific piece of project work and a report on this work in the form of a dissertation. Project work, particularly with a development focus, may be undertaken in groups. However, the dissertations are produced individually. The project examines the student's ability to research the literature, to understand and expand on a specific problem commensurate with their programme of study and relate it to other work, to carry out investigations and development, as appropriate, and describe results and draw conclusions from them and to write a coherent and well organised dissertation demonstrating the student's individual reflection and achieved learning.
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:
You gain knowledge and understanding of:
You develop intellectual skills in:
You gain subject-specific skills in:
You gain the following transferable skills:
Should you choose to take the Placement Year the fee is currently £1,385 for a 12-month placement, reduced pro-rata for shorter placements.
The 2020/21 annual tuition fees for this programme are:
Computer Science - Taught MSc at Canterbury
Computer Science with an Industrial Placement - MSc at Canterbury
For details of when and how to pay fees and charges, please see our Student Finance Guide.
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 firstname.lastname@example.org
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:
In The Complete University Guide 2020, the University of Kent was ranked in the top 10 for research intensity. This is a measure of the proportion of staff involved in high-quality research in the university.
Please see the University League Tables 2020 for more information.
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.
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:
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:
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.
Members are engaged in the following areas of research (research areas in more detail) .
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:
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:
Full details of staff research interests can be found on the School's website.
Simulation and modelling for biosciences, the teaching of introductory programming, chess cheating and legacy software.View Profile
Human attention, emotions, reasoning; connectionist modelling; symbolic modelling; EEG recording and analysis methods; formal methods and concurrency theory.View Profile
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
Molecular computing (including biochemical computers), stochastic neural networks, complexity and computation, mathematical modelling of stochastic systems.View Profile
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
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
Data mining; the biology of ageing; evolutionary algorithms; bioinformatics.View Profile
Expressiveness of programming languages, type systems, term rewriting, infinitary rewriting.View Profile
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
Abstract interpretation, logic programming and security.View Profile
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
Development of ant colony optimisation algorithms for data mining; economic applications of data mining; bioinformatics; evolutionary algorithms, mainly genetic programming.View Profile
Information visualisation; graph drawing; Euler diagrams.View Profile
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
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
Future computing; unconventional computing; non-Turing architecture; cloud computing; big data; deep learning; memristor; neural networks; nature-inspired computing; green computing.View Profile
Theory and application of session types, concurrency and service-oriented computing.View Profile
Stream processing, database systems, parallel data processing, networked systems, cloud computing, distributed systems, big data.View Profile
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
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
Machine learning, artificial intelligence for games, data analysis, probabilistic reasoning, and applications thereof.View Profile
Computer and network security, cryptography and cryptanalysis, steganography and steganalysis, data loss prevention and RFID security.View Profile
Computational creativity and its evaluation, music informatics, digital humanities, knowledge modelling, Semantic Web, and natural language processing.View Profile
The advantages and limitations that quantum theory conveys to communication, computation, metrology, and security.View Profile
Our graduates have gone on to work in:
Recent graduates have gone on to develop successful careers at leading companies such as:
The University has a friendly Careers and Employability Service, which can give you advice on how to:
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:
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 on a taught Master’s, you can gain work experience through our industrial placement scheme. 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.
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.
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 (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.
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.
Learn more about the applications process or begin your application by clicking on a link below.
Once started, you can save and return to your application at any time.