Matthew Gould - Computer Science MSc
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.
For those with prior knowledge of computer science, see our wide range of advanced computer science courses.
This conversion programme provides you with a broad and balanced introduction to computer science, including the key technologies and skills needed for employment. You can also explore your personal interests through a variety of optional modules.
The programme will equip you for technical roles in leading software houses, advanced technology companies and commercial sectors or for working at the interface with clients as a systems analyst or consultant. Graduates from this programme work across the globe for companies such as IBM, Cisco, Logica/CMG, Pfizer, Reuters, Shell and Zurich Financial.
While studying with us, you can gain work experience through an industrial placement. This optional placement is available between eight and 50 weeks. For students on a student visa, the placement is available for a year only. The industrial placement provides an opportunity to work in real-world, technical and business roles, enhancing your study experience and having a dramatic impact on your choices after graduation. Our dedicated placement team can help you gain a suitable paid position and provide support throughout your placement.
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) 2021; an impressive 100% of our research was classified as either 'world-leading' or 'internationally excellent' for impact.
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 computer science textbooks.
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.
A first or second class 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 Student website for entry requirements by country and other relevant information. Due to visa restrictions, students who require a student visa to study 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.
The project consists primarily of an extended period during which students undertake a substantial piece of work and a report on this in the form of a dissertation. It is usually preceded by an exploratory stage in which students review and summarise relevant literature or other technical background, and gain specific skills relevant to their project via a series of taught workshops. It may be permitted to undertake the work in groups, particularly for projects with a development focus. However, the dissertations are produced individually. The project examines the student's ability to research technical background, 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), to 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.
This module covers the fundamental components (hardware and software) of a typical computer system, and how they collaborate to execute programs. The module provides a comprehensive overview, from the lowest level of abstractions in hardware to the highest level of abstractions of modern programming languages. Examples of topics that may be covered include logic circuits, machine language, processor organization, memory management, processes and concurrency, file systems. Throughout, special attention is paid to abstraction, performance, and other quality requirements.
This module aims to strengthen the foundational programming-in-the-small abilities of students via a strong, practical problem-solving focus. Specific topics will include introductory algorithms, algorithm correctness, and algorithm runtime. Essential data structures and algorithmic programming skills will be covered, for example, arrays, lists and trees, searching and sorting, recursion, and divide and conquer. One part of the module will also introduce students to logical formalisms such as propositional and predicate logic and some of their applications in program development.
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 programming, server side programming and databases; it also calls for an understanding of how to design systems that genuinely meet user and business needs.
Cyber security has always been an important aspect of computing systems but its importance has increased greatly in recent years. The curriculum covers areas where cyber security is of major importance, but have different security requirements and may be exposed to different threats and attacks. It also covers techniques and mechanisms used to secure computer systems and data to meet those requirements and protect them. The areas looked at include computer operating systems (and increasingly, distributed operating systems), distributed applications (such as electronic commerce over the Internet), embedded systems (ranging from smart cards to large industrial plant and telecommunications systems), and users. The techniques and mechanisms looked at include cryptography, authentication & authorisation, and access control. Furthermore, the curriculum integrates the legal, ethical, and professional perspectives, for instance, to address concerns about data security, privacy, and societal impact of computing systems.
This module provides an introduction to human-computer interaction, user experience and a range of UX practices (UX - user experience - the study and practice of how people, individually and in groups, experience technologies and other artefacts, and interact with and through them.)
Fundamental aspects of human physiology and psychology are introduced and key features of interaction and common interaction styles delineated. A variety of design methods and UX practices are introduced (e.g. task-based usability testing, think-aloud protocols, first-use experiences, eye-tracking and post-session questionnaires). Throughout the course, the need for a professional, integrated and user-centred approach to interface development and evaluation is emphasised: rapid and low-fidelity prototyping feature as one aspect of this.
The module aim is to give students an overview and understanding of key theoretical, practical and philosophical research and issues around computational creativity, and to give them practical experience in writing and evaluating creative software.
The following is an indicative list of topics that may be covered:
Introduction to computational creativity
Examples of computational creativity software e.g. musical systems, artistic systems, linguistic systems, proof generator systems, systems for 2D and 3D design.
Evaluation of computational creativity systems (both of the quality and the creativity of systems)
Philosophical issues concerning creativity in computers
Comparison of computer creativity to human creativity
Collaborative creativity between humans and computers
Overview of recent research directions/results in computational creativity
Practical experience in writing creative software.
An overview of basic concepts related to eHealth and a perspective on current HIT (Health Information Technology) and innovation. Review of current healthcare related IT systems. The use of information technology for handling clinical data, health systems. Data representation and knowledge management. Security and privacy. Ethics and legal requirements of eHealth systems. Clinical decision support systems. TeleHealth tools for remote diagnosis, monitoring, and disease management. Delivery and monitoring platforms for both hospitals and home environment. Innovation in eHealth systems leading to start-up companies.
This module covers the basic principles of machine learning and the kinds of problems that can be solved by such techniques. Students will 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.
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.
This module investigates the whole process of information security management and associated activities including the concepts used and practices prescribed by relevant standards, such as those defined by ISO/IEC. A holistic view of information security management is taken, including risk management, the formulation of security policies, business continuity and resilience. Selected socio-technical topics that are important for information security management will also be covered. These shall include AAA (authentication, authorisation and accountability), important legal aspects especially data protection and privacy laws, data protection impact assessment, usability analysis and management, wider human factors in cyber security such as social engineering attacks and the importance of a positive cyber security culture for encouraging secure behaviours of employees and users.
In this module you learn what is meant by neural networks and how to explain the mathematical equations that underlie them. You also familiarise yourself with cognitive neural networks using state of the art simulation technology and apply these networks to the solution of problems. In addition, the module discusses examples of computation applied to neurobiology and cognitive psychology. The module also introduces artificial neural networks from the machine learning perspective. You will study the existing machine learning implementations of neural networks, and you will also engage in implementation of algorithms and procedures relevant to neural networks.
There is an increasing use of nature-inspired computational techniques in computer science. These include the use of biology as a source of inspiration for solving computational problems, such as developments in evolutionary algorithms and swarm intelligence. Similarly, there is now also an increasing interest in understanding how biological, chemical and other natural systems compute, and how this could be exploited for practical applications. It is therefore proposed to allow students the opportunity to become exposed to these types of methods for use in their later careers.
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.
Data types: nominal, numerical, ordinal, text, audio, visual, temporal and non-temporal. Basic descriptive statistics: measures of average and spread, different ways of graphing data. Choosing appropriate and valid methods for the analysis and presentation of data, and understanding the limitations of methods. Data at different scales, including big data, and the computational challenges of processing data at scale. The process of discovering useful knowledge from data: including understanding the need for preprocessing and cleaning data, the challenges of gathering relevant data, and the need to present results in a comprehensible and actionable way. Data mining: classification/regression and clustering, and the idea of predictive analytics. Elements of information retrieval from text. Vector representations of text documents. Fairness and ethical issues concerning data.
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 and network security protocols. Real time data transmission and quality of service. Naming and addressing and related security concerns. Security of IEEE 802.11 networks.
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).
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.
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 2023/24 annual tuition fees for this course are:
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 email@example.com.
The University will assess your fee status as part of the application process. If you are uncertain about your fee status you may wish to seek advice from UKCISA before applying.
Find out more about general additional costs that you may pay when studying at Kent.
The School of Computing is pleased to recognise the achievements of its overseas Master’s students who achieve the highest grades in their undergraduate degrees by awarding a £3,000 fee discount. Find full details, deadlines and criteria.
In the Research Excellence Framework (REF) 2021, research by the School of Computing was rated of high quality. An impressive 100% of the impact of Computing’s research was classified as either world leading and internationally excellent.
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, postgraduate programmes in other schools and UK activities to define curricula in Cyber Security.
Members are engaged in the following areas of research (research areas in more detail) .
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.
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:
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 IBM, Microsoft and Oracle.
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 a makerspace, which offers exciting 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.
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 application process or begin your application by clicking on a link below.
You will be able to choose your preferred year of entry once you have started your application. You can also save and return to your application at any time.