Networks and Security - MSc

This programme provides a broad coverage of computer networks, computer security and mobile device technologies. It looks in depth at some of the security issues that fixed and wireless networks are subject to, and the current solutions employed to address these problems.

Overview

This course will appeal to computing graduates seeking careers in the network or network security industries, or those who wish to carry on with this topic as an area of research. All taught Master's programmes are available with an optional industrial placement.

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

This talk describes why identity theft is so easy to enact today over the Internet, and how it can be prevented by utilising the latest research in verifiable credentials.

National ratings

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.

Course structure

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.

Modules

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.

Modules may include

Credits

CO838 - Internet of Things and Mobile Devices

The module will cover a mixture of theoretical and practical topics in the area of mobile devices and the Internet of Things (IoT), that is, the use of Internet technologies to access and interact with objects in the physical world. This will include coverage of the range of sensor and actuator devices available, ways in which they communicate and compute, methods for getting information to and from IoT-enabled devices, ways of visualising and processing data gained from the IoT, and associated privacy and security issues. A practical component will consist of building the hardware and software for a sensor network and a system to visualise data from that network. Application development for mobile devices such as smartphones will also be introduced using a popular mobile platform.

A synopsis of the curriculumIntroduction, 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.Real time data transmission and quality of service.Naming and addressing, including material on the domain name system, dynamic IP address allocation and address translation systems.Routing in data networksNetwork services.Firewalls and layer 3 network security.Recent developments. Topic will change from year to year and will be addressed prinicipally by research seminars and student centred research.

 A study of cryptographic algorithms including symmetric and asymmetric techniques and the distinction between encryption and signatures.

 Security mechanisms used with operating systems, including: access control lists and capabilities. Trusted operating systems and common criteria for evaluation.

 Problems of network security including wiretap, replay, masquerade and denial of service. Mechanisms to provide security such as firewalls and VPNs.

 Viruses and worms.

 Distributed Mechanisms, including client authentication (Needham-Schroeder, Kerberos and others); public key infrastructures and certification, with treatment of chains and authority, and the problem of revocation.

Students choose their project near the end of term 1 in coordination with the Project Research module (CO885). Projects are normally selected from a list of suggestions proposed by the school, a number of which may involve external collaboration. Alternatively, students may propose a project of their own if a suitable member of academic staff is available to act as the supervisor. In all cases the particular project must be appropriate for, and relevant to, the student's programme of study.

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. The project can be carried out individually or in groups, but the dissertation will always be individual. The project examines the student's ability to research the literature and related technologies, to understand and expand on a specific technical problem commensurate with their programme of study and relate it to other work, to carry out investigations and practical work generally including programming to describe results and draw conclusions from them and to write a coherent and well organised dissertation.

The crowning piece of most Masters degrees is the Project and Dissertation 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.

Training in research methods is provided through a series of workshops, covering the following topics:

 Introduction to research

 Project selection

 Topic analysis

 Information gathering

 Simulation, experimentation and data analysis

 Writing about research

 Presenting research

 Intellectual property

 The publication process

 The review process

The module culminates in a mini-conference where students present their research.

"Cloud computing is Internet-based computing, whereby shared servers provide resources, software, and data to computers and other devices on demand, as with the electricity grid. Cloud computing is a natural evolution of the widespread adoption of virtualization, service-oriented architecture and utility computing. Details are abstracted from consumers, who no longer have need for expertise in, or control over, the technology infrastructure "in the cloud" that supports them.

Cloud computing describes a new supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources. It is a byproduct and consequence of the ease-of-access to remote computing sites provided by the Internet. This frequently takes the form of web-based tools or applications that users can access and use through a web browser as if it were a program installed locally on their own computer."

The curriculum will include:

 Overview of web services and their use in grid/cloud computing;

 Review grid computing technologies and the relations and differences between grid computing and cloud computing;

Building upon CO881 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).

A computer system's architecture describes the underlying combination of software and hardware that needs to be provided before the system can be used; an understanding of the basic principles of computer architecture is essential if computer systems are to be used effectively.

Neural networks will be placed into a historical perspective related to symbolic approaches and in the context of the artificial intelligence hypothesis. Students will familiarise themselves with the Leabra environment.

The individual neuron.

The idea of the components of a neuron as a 'detector' will be developed. Neural networks will be explained in terms of the biology of the brain at a cellular electro-transmission level. The neurobiology will be abstracted into an initial neural network framework, i.e. a set of mathematical equations. Single neuron simulations.

Networks of Neurons.

A general framework will be provided for neural network architectures both at an abstract level and in terms of networks in the cortex. Unidirectional (feedforward) and bi-directional (recurrent) interactions will be explained together with inhibitory mechanisms.

Model Learning.

A simple Hebbian model of learning will be outlined, pertaining to neurobiology and neural networks. Other models of unsupervised learning will be introduced.

Task Learning.

Error-driven task learning will be outlined; the delta rule and back propagation will be presented. A discussion of the biological implausibility of back propagation networks will follow. Motivated by this implausibility, the generalised recirculation algorithm will be introduced and its mathematical formulation and properties discussed.

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. It is therefore proposed to allow students the opportunity to become exposed to these types of methods for use in their late careers.

The amount of data generated worldwide is more than doubling every year. Traditional data analysis techniques are inadequate for dealing with the vast ocean of data. This module introduces modern techniques, platforms and tools for analysing large data sets efficiently, along with key applications, to equip students to join the new generation of data scientists sought after by industry and academia.

 Information theory and information entropy

 More: it's all data rather than samples

 Messy: its disorder/uncertainty rather than accuracy (Chuas local activity)

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.

This module will introduce students to fundamental concepts of functional and concurrent programming, using a suitable language (e.g. Erlang) as a vehicle to put these concepts into practice. The first part of the module will cover basic ideas in functional programming, such as expressions, types, values, lists, pattern-matching and recursion, together with the specific language concurrency model, including process creation, message sending and receiving. Good concurrent design practices will be considered, based on networks of communicating processes (e.g. Actor and CSP models), and avoiding problems such as deadlock, livelock and starvation.

The later part of the module will cover more advanced topics (higher-order functions) and look at alternative concurrency models (e.g. synchronous, channel-based, join-based and shared-memory) and their relationship to the model described in the first part of the module. Alongside this, consideration will be given to the relevance and applicability of functional and concurrent programming for use in real applications.

Students taking this module will undertake one or (typically) more assignments for the Kent IT Clinic (KITC). Each assignment will be of one of three types:

Work on one of KITCs contracts with an external client. To the extent that client-funded work allows, every student will be given at least one assignment of this type. Wherever practical, a student will be encouraged to participate in the negotiation and pricing of contracts, under the ultimate supervision of KITC management. For each assignment, the student may work on the assignment individually or as part of a group, as directed by KITC. A contribution to the infrastructure of KITC itself.

A contribution to the infrastructure of KITC itself. These assignments work in a similar way to external assignments, but with KITC as the client.

Formulating a costed proposal for the future development of KITC, and presenting reasoned argument in support of the proposal to KITC management, as a candidate for inclusion in KITCs strategic plan for the following academic year.

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 state-of-the-art data-mining tool, and learn to evaluate the quality of discovered knowledge.

This module investigates the whole process of security management. A holistic view of security management is taken, starting with risk management and the formulation of security policies. Technical subjects include a description of the various security models, and showing how authorisation policies can be automatically enforced. The legal and privacy issues associated with information management are also addressed, as are the usability issues of security technologies. Finally, the module concludes by investigating how security has already been inbuilt into some existing applications, and how security issues will effect the uptake of ubiquitous computing systems

Concurrent design and programming skills are of growing importance as multi-core processor technology advances. A sound understanding of fundamental concurrency concepts and obstacles is essential. This module introduces fundamental theories of concurrency. It discusses how designs can be made parallel and identifies the common faults in concurrent programs and how to avoid them. It introduces a range of widely used programming paradigms and techniques for writing concurrent programmes.

Syllabus

Concurrency and parallelism, and their applications to software design.

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. (Note that students with substantial prior experience of programming take module CO871 Advanced Java for Programmers[1] instead.)

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.

Programme aims

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.

Learning outcomes

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)

computer networks and communications, including the latest technological developments and applications

security vulnerabilities of computer systems and networks and the countermeasures used to address them

the motivation, design, operation and management of modern systems for encryption, authentication and authorisation, including quality of service issues.

Intellectual skills

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.

Subject-specific skills

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.

Transferable skills

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 audiences

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.

Careers

Our programmes of study are designed to equip our graduates with the skills and knowledge that make them highly attractive to potential employers, providing a good balance between theoretical studies and real-life applications. The recent REF indicated that the School's research was in the top quartile of 89 Computing departments across the UK. Our graduates therefore benefit from a first-rate academic experience as well as being prepared to face the demands of the economic environment.

Graduate destinations

Our graduates have gone on to work in:

software engineering

mobile applications development

systems analysis

consultancy

networking

web design and e-commerce

finance and insurance

commerce

engineering

education

government

healthcare.

Recent graduates have gone on to develop successful careers at leading companies such as:

BAE Systems

Cisco

IBM

The Walt Disney Company

Citigroup

BT.

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.

Industrial placements

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:

Accenture

BT

GSK

IBM

Kent Police

Microsoft

Morgan Stanley

The Walt Disney Company

You can take your work placement abroad. Previous destinations include Hong Kong and the USA.

Study support

While studying on a taught Master’s, you can gain work experience. 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.

Postgraduate resources

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

The Kent IT Consultancy

The Kent IT Consultancy 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.

Entry requirements

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, and professional qualifications and experience will also be taken into account when considering applications.

International students

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.

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.

Research areas

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.

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

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.

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:

eHealth

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.

Systems

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.

Finance

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.

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.

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.

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.

Dr Marek Grzes: Lecturer

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.

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.

Fees

Networks and Security with an Industrial Placement - MSc at Canterbury:

UK/EU

Overseas

Full-time

£7300

£18400

Part-time

£3650

£9200

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 information@kent.ac.uk

The University of Kent makes every effort to ensure that the information contained in its publicity materials is fair and accurate and to provide educational services as described. However, the courses, services and other matters may be subject to change. Full details of our terms and conditions can be found at: www.kent.ac.uk/termsandconditions.

*Where fees are regulated (such as by the Department for Education or Research Council UK) permitted increases are normally inflationary and the University therefore reserves the right to increase tuition fees by inflation (RPI excluding mortgage interest payments) as permitted by law or Government policy in the second and subsequent years of your course. If we intend to exercise this right to increase tuition fees, we will let you know by the end of June in the academic year before the one in which we intend to exercise that right.

If, in the future, the increases to regulated fees permitted by law or Government policy exceed the rate of inflation, we reserve the right to increase fees to the maximum permitted level. If we intend to exercise this extended right to increase tuition fees, we will let you know by the end of June in the academic year before the one in which we intend to exercise that right.