Computer Science MSc

  • Programme duration: Full-time: 12 months   Part-time: 24 months
  • Programme start: September 2022
  • Entry requirements: The minimum entry requirement is a 2:1 honours degree (or above) in Science or Engineering other than Computer Science or closely related subject.
Computer Science msc

Module details

Compulsory modules

Research Methods in Computer Science (COMP516)
LevelM
Credit level15
SemesterFirst Semester
Exam:Coursework weighting0:100
Aims

1. To provide a deep and systematic understanding of the nature and conduct of CS research. 2. To enhance existing transferable key skills. 3. To develop high order transferable key skills. 4. To equip students with the ability to undertake independent research. 5. To remind students of the Legal, Social, Ethical and Professional (LSEP) issues applicable to the computer industry.

Learning Outcomes

(LO1) Have an understanding of how established techniques of research and enquiry are used to extend, create and interpret knowledge in Computer Science.

(LO2) Have a conceptual understanding sufficient to:(i) evaluate critically current research and advanced scholarship in Computer Science and (ii) propose possible alternative directions for further work.

(LO3) Be able to: (i) deal with complex issues at the forefront of the academic discipline of Computer Science in a manner, based on sound judgements, that is both systematic and creative, (ii) demonstrate self-direction and originality in tackling and solving problems within the domain of Computer Science, (iii) act autonomously in planning and implementing solutions in a professional manner and (iv) define, plan, and/or carry out a project related to research and to communicate conclusions clearly to both specialists and non-specialists.

(LO4) Make use of the qualities and transferable skills necessary for employment requiring:(i) the exercise of initiative and personal responsibility, (ii) decision making in complex and unpredictable situations, (iii) scientific risk identification, assessment and control, and (iv) the independent learning ability required for continuing professional development.

(LO5) Understand and participate within the professional, legal, social and ethical framework within which they would be expected to operate as professionals within the IT industry.

(LO6) Have the skills set to be able to continue to advance their knowledge and understanding, and to develop new skills to a high level, with respect to continuing professional development as a "self-directed life-long learner" across the discipline of Computer Science.

(S1) Communication (oral, written and visual) - Presentation skills – oral

(S2) Communication (oral, written and visual) - Listening skills

(S3) Communication (oral, written and visual) - Academic writing (inc. referencing skills)

(S4) Time and project management - Project planning

(S5) Research skills - Ethical awareness

Programming Fundamentals (COMP517)
LevelM
Credit level15
SemesterFirst Semester
Exam:Coursework weighting0:100
Aims

This module provides an intensive introduction to programming for postgraduate students who do not have a computer science background. The basics of program development, control flow, data structures and object-oriented design will be covered. The primary objective is to develop key programming and problem-solving skills using a modern programming language.

Learning Outcomes

(LO1) Demonstrate knowledge of fundamental imperative programming concepts such as variables and assignment, conditional statements, loops and methods.

(LO2) Be able to design and code applications in a suitable programming language.

(LO3) Critical knowledge of concepts and principles of object-orientation such as objects and classes, encapsulation, object state, coupling, cohesion and modularity.

(LO4) Critical awareness of important principles of software design and development, including appropriate naming of variables and classes, code layout, testing and debugging, and documentation.

(S1) Problem Solving - Numeracy and computational skills

(S2) Problem solving – analysing facts and situations and applying creative thinking to develop appropriate solutions.

Database and Information Systems (COMP518)
LevelM
Credit level15
SemesterFirst Semester
Exam:Coursework weighting25:75
Aims

To provide a deep, systematic and critical understanding of the nature of information systems, with a focus on database systems and their operation.

Learning Outcomes

(LO1) Design and implement relational databases with multiple tables.

(LO2) Understand the mathematical foundations of relational databases through the use of relational algebra.

(LO3) Use SQL effectively and efficiently as a data definition and data manipulation language in a modern DBMS.

(LO4) Demonstrate a systematic understanding of transaction management and concurrency control in database systems.

(S1) Skills in using technology - Using common applications (work processing, databases, spreadsheets etc.)

(S2) Critical thinking and problem solving - Creative thinking

(S3) Critical thinking and problem solving - Critical analysis

(S4) Critical thinking and problem solving - Synthesis

(S5) Skills in using technology - Information accessing

(S6) Numeracy/computational skills - Confidence/competence in measuring and using numbers

(S7) Problem solving

(S8) Business and customer awareness

(S9) Information Technology (IT) skills

(S10) Computer science principles

Web Programming (COMP519)
LevelM
Credit level15
SemesterFirst Semester
Exam:Coursework weighting0:100
Aims

To provide students with a deep, critical and systematic understanding of the most significant technologies for developing web applications.
To enable students to use these technologies in the development of web applications.
To provide knowledge of the characteristics of good web site design principles.

Learning Outcomes

(LO1) be able to use a range of technologies and programming languages available to organisations and businesses and be able to choose an appropriate architecture for a web application.

(LO2) be able to develop reasonably sophisticated client-side web applications using one or more suitable technologies and to make informed and critical decisions in that context.

(LO3) be able to develop reasonably sophisticated server-side web applications using one or more suitable technologies and to make informed and critical decisions in that context.

(S1) Problem Solving - Numeracy and computational skills

(S2) Problem solving – Analysing facts and situations and applying creative thinking to develop appropriate solutions.

MSc Project (COMP702)
LevelM
Credit level60
SemesterWhole Session
Exam:Coursework weighting0:100
Aims

To give students the opportunity to work in a guided but independent fashion to explore a substantial problem in depth, making practical use of principles, techniques and methodologies acquired elsewhere in the programme.
To give experience of carrying out a large piece of individual work and in producing a dissertation.
To enhance communication skills, both oral and written.

Learning Outcomes

(LO1) After completing the module students should be able to: Investigate and specify a substantial problem in the domain of Computer Science, to place it in the context of related work including, as appropriate, Computer Science reserach, and to produce a plan to address this problem

(LO2) Make use of the qualities and transferable skills necessary for the conduct of a Computer Science project: (i) the exercise of initiative and personal responsibility, (ii) decision making in complex situations, (iii) risk identification (including, as appropriate, commercial and scientific risk), assessment and control, and (iv) the independent learning ability required for continuing professional development

(LO3) Demonstrate effective time management, self-direction and originality in carrying out a project in the domain of Computer Science

(LO4) Locate and make use of information relevant to a given IT project

(LO5) Design a solution to a substantial IT problem

(LO6) Implement and test potential solutions to IT problems

(LO7) Evaluate critically, as relevant to the project, current research and advanced scholarship in Computer Science, evaluate their own work, and participate effectively in the process of peer review of other projects

(LO8) Conduct and evaulate critically the project within the professional, legal, social and ethical framework in Computer Science and Sortware Engineering

(LO9) Prepare and deliver formal presentations

(LO10) Prepare and deliver a demonstration of software

(LO11) Structure and write a dissertation describing their project

(S1) Communication (oral, written and visual) - Presentation skills – oral

(S2) Communication (oral, written and visual) - Presentation skills - written

(S3) Communication (oral, written and visual) - Academic writing (inc. referencing skills)

(S4) Time and project management - Project planning

(S5) Critical thinking and problem solving - Critical analysis

(S6) Critical thinking and problem solving - Evaluation

(S7) Commercial awareness - Ability to analyse/balance risk and reward

Optional modules

Safety and Dependability (COMP524)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting70:30
Aims

1. To provide a critical and in-depth understanding of all aspects of software safety and dependability; including issues realting to security, reliability and trustworthiness.
2. To provide a broad understanding of the state-of-the-art software engineering techniques currently used to address safety and dependability issues.
3. To provide an overview of the contemporary research issues relating to software safety and dependability.

Learning Outcomes

(LO1) At the end of the module, a student will understand some of the problems associated with the use of computer software in critical applications where safety, security and trust are issues.

(LO2) At the end of the module, a student will understand some of the contemporary mechanisms for ensuring dependability and reliability.

(LO3) At the end of the module, a student will understand a variety of approaches to the design and development of safe and dependable systems.

(LO4) At the end of the module, a student will understand formal verification techniques in relation to the assessment of safety and dependability.

(LO5) At the end of the module, a student will  be aware of some of the contemporary research problems in the areas of safety, security, dependability and trust.

(S1) Working in groups and teams - Group action planning

(S2) Skills in using technology - Using common applications (work processing, databases, spreadsheets etc.)

(S3) Numeracy/computational skills - Reason with numbers/mathematical concepts

(S4) Numeracy/computational skills - Problem solving

(S5) Communication skills - Presenting

(S6) Problem solving - Co-designing a program and a correctness proof

(S7) Problem solving - Model (MDP) design analysis

(S8) Business and customer awareness - Brief discussion of the cost of software bugs and the cost of applying formal techniques

(S9) Information Technology (IT) skills - Formulating (probabilistic) models as Markov chains and decision processes, and using of-the-shelf tools for their analysis

Reasoning About Action and Change (COMP525)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting75:24
Aims

1. Give the student a feel for several formalisms that deal with change
2. Show how logics can be used to specify and verify dynamic systems
3. Give students a deeper knowledge of the semantics of such systems
4. Develop awareness of the usual trade-off between expressivity and complexity of logical languages.

Learning Outcomes

(LO1) Provide formal specifications, using a logical language, of informal problem descriptions.

(LO2) Verify simple properties of models.

(LO3) Produce simple logical proofs.

(LO4) Understand how temporal logics relate to each other.

(LO5) Understand and use model checkers.

(LO6) Understand and be able to explain and fomulate properties (such as "safety", "fairness" and "liveness") of systems and be able to formulate simple instances of them.

(S1) Numeracy/computational skills - Reason with numbers/mathematical concepts

(S2) Numeracy/computational skills - Problem solving

Applied Algorithmics (COMP526)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting50:50
Aims

The main aim of this module is to lay a strong foundation for research in the field of algorithms, with a clear emphasis on algorithmic problems and solutions that haven proven useful in applications (e.g., in bioinformatics, search engines, networks, and data compression). This is done through the rigorous study of selected algorithmic techniques, an in-depth, systematic, and critical discussion of their respective benefits and weaknesses (by means of mathematical and empirical analysis), and by gaining hands-on experience on solving new algorithmic challenges residing on the border of the theory of abstract algorithms and engineering of applied algorithmic solutions.

Learning Outcomes

(LO1) Be able to recognize standard algorithmic problems, apply and judge known solutions based on comprehensive and in-depth understanding of their properties and limitations.

(LO2) Be able to systematically compare the goals and approaches in algorithm theory and algorithm engineering.

(LO3) Be able to critically assess algorithmic solutions from the research literature and to adapt these solutions to a range of application scenarios.

(LO4) Be able to design algorithmic solutions for real-world applications in small-scale programming projects.

(LO5) Be able to critically communicate algorithmic problems and solutions (both within and outside of the algorithms/computer science community).

(S1) Critical thinking and problem solving - Critical analysis

(S2) Critical thinking and problem solving - Problem identification

(S3) Critical thinking and problem solving - Evaluation

(S4) Critical thinking and problem solving - Creative thinking

(S5) Numeracy/computational skills - Problem solving

Data Mining and VIsualisation (COMP527)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting70:30
Aims

To provide an in-depth, systematic and critical understanding of some of the current research issues at the forefront of the academic research domain of data mining.

Learning Outcomes

(LO1) A critical awareness of current problems and research issues in Data Mining.

(LO2) A comprehensive understanding of current advanced scholarship and research in data mining and how this may contribute to the effective design and implementation of data mining applications.

(LO3) The ability to consistently apply knowledge concerning current data mining research issues in an original manner and produce work which is at the forefront of current developments in the sub-discipline of data mining.

(LO4) A conceptual understanding sufficient to evaluate critically current research and advanced scholarship in data mining.

(S1) Critical thinking and problem solving - Problem identification

(S2) Critical thinking and problem solving - Critical analysis

Multi-agent Systems (COMP310)
Level3
Credit level15
SemesterSecond Semester
Exam:Coursework weighting100:0
Aims

To introduce the student to the concept of an agent and multi-agent systems, and the main applications for which they are appropriate.

To introduce the main issues surrounding the design of intelligent agents.

To introduce the main issues surrounding the design of a multi-agent society.

To introduce a contemporary platform for implementing agents and multi-agent systems.

Learning Outcomes

(LO1) Understand the notion of an agent, how agents are distinct from other software paradigms (eg objects) and understand the characteristics of applications that lend themselves to an agent-oriented solution;

(LO2) Understand the key issues associated with constructing agents capable of intelligent autonomous action, and the main approaches taken to developing such agents;

(LO3) Understand the key issues in designing societies of agents that can effectively cooperate in order to solve problems, including an understanding of the key types of multi-agent interactions possible in such systems;

(LO4) Understand the main application areas of agent-based solutions, and be able to develop a meaningful agent-based system using a contemporary agent development platform.

Technologies for E-commerce (COMP315)
Level3
Credit level15
SemesterSecond Semester
Exam:Coursework weighting100:0
Aims

To introduce the environment in which e-commerce takes place, the main technologies for supporting e-commerce, and how these technologies fit together.

To introduce security as a major issue in secure e-commerce, and to provide an overview of security issues.

To introduce encryption as a means of ensuring security, and to describe how secure encryption can be delivered.

To introduce issues relating to privacy.

To introduce auction protocols and negotiation mechanisms as emerging e-commerce technologies.

Learning Outcomes

(LO1) Understand the main technologies behind e-commerce systems and how these technologies interact;

(LO2) Understand the security issues which relate to e-commerce;

(LO3) Understand how encryption can be provided and how it can be used to ensure secure commercial transactions;

(LO4) Understand implementation aspects of e-commerce and cryptographic systems;

(LO5) Have an appreciation of privacy issues;

(LO6) Understand auction protocols and interaction mechanisms.

Ontologies and Semantic Web (COMP318)
Level3
Credit level15
SemesterSecond Semester
Exam:Coursework weighting70:30
Aims

To provide guidelines, concepts and models for designing and evaluating applications utilising advanced web technologies To introduce Artificial Intelligence and Semantic Web techniques which can be applied to the application of advanced web technologies To introduce the notion of semantic web applications intended to be used by software.

Learning Outcomes

(LO1) At the conclusion of the module students shouldHave an understanding of the basic formal methods and techniques for designing and implementing advanced web applications

(LO2) Have an appreciation for Artificial Intelligence and Semantic Web research related to advanced web technology applications

(LO3) Be able to apply specific methods and techniques in the design and development of an application of advanced web technology for a case study

(S1) Information skills - trustability of information sources

(S2) Numeracy/computational skills - Problem solving

(S3) Information skills - Critical thinking

Machine Learning and Bioinspired Optimisation (COMP532)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting70:30
Aims

In this module we focus on learning agents that interact with an initially unknown world. Since the world is dynamic this module will put strong emphasis on learning to deal with sequential data unlike many other machine learning courses. The aims can be summarised as:
To introduce and give an overview to state of the art bio-inspired self-adapting methods. 
To enable students to not only learn to build models with reactive input/output mappings but also build computer programs that sense and perceive their environment, plan, and make optimal decisions. 
To familiarise students with multi-agent reinforcement learning, swarm intelligence, deep neural networks, evolutionary game theory, artificial immune systems and DNA computing.
To demonstrate principles of bio-inspired methods, provide indicative examples, develop problem-solving abilities and provide students with experience to apply the learnt methods in real-world problems.

Learning Outcomes

(LO1) A systematic understanding of bio-inspired algorithms that can be used for autonomous agent design and complex optimisation problems.

(LO2) In depth insight in  the mathematics of biologically inspired machine learning and optimisation methods.

(LO3) A comprehensive understanding of the benefits and drawbacks of the various methods.

(LO4) Demonstrate knowledge of using the methods in real-world applications (e.g. logistic problems).

(LO5) Practical assignments will lead to hands on experience using tools as well as coding of own algorithms.

Web Mapping and Analysis (ENVS456)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting0:100
Aims

The module has two main aims. First, it seeks to provide hands-on experience and training in the design and generation of web-based mapping and geographical information tools. Second, it seeks to provide hands-on experience and training in the use of software to access, analyse and visualize web-based geographical information.

Learning Outcomes

(LO1) Experience using tile rendering tools to generate content for map-based web sites.

(LO2) Web-based data collection techniques

(LO3) Programming skills to enable basic online data manipulation and web mapping

(LO4) Knowledge of web based mapping infrastructure

(S1) Communication skills

(S2) Problem solving skills

(S3) IT skills

(S4) Organisational skills

(S5) Numeracy

Computational Intelligence (COMP575)
LevelM
Credit level15
SemesterSecond Semester
Exam:Coursework weighting100:0
Aims

Understand the basic structures and the learning mechanisms underlying neural networks within the field of artificial intelligence and examine how synaptic adaptation can facilitate learning and how input to output mapping can be performed by neural networks. Obtain an overview of linear, nonlinear, separable and non separable classification as well as supervised and unsupervised mapping. Understand the benefit of adopting naturally inspired techniques to implement optimisation of complex systems and acquire the fundamental knowledge in various evolutionary techniques. Become familiar with the basic concepts of systems optimisation and its role in natural and biological systems and entities.

Learning Outcomes

(LO1) Learning  the advantages and main characteristics of neural networks in relation to traditional methodologies. Also, familiarity with different neural networks structures and their learning mechanisms.

(LO2) Appreciation of the advantages of evolutionary-related approaches for optimisation problems and their advantages compared to traditional methodologies. Also, understanding the different techniques of evolutionary optimisation for discrete and continuous configurations

(LO3) Understanding of the needs for genetic encoding and modelling for solving optimisation problems and familiarisation with the evolutionary operators and their performance.

(LO4) Understanding of the neural network learning processes and their most popular types, as well as  appreciation of how neural networks can be applied to artificial intelligence problems.

(S1) On successful completion of this module the student should be able to pursue further study in artificial intelligence as well as more advanced types of neural networks and evolutionary optimisation and bio-inspired techniques.

(S2) On successful completion of this module the student should be able to analyse numerically the mathematical properties of most major network types and apply them to artificial intelligence problems. Also, the student should be able to appreciate and understand the suitability of evolutionary optimisation in systems where classical methods cannot be effective.

(S3) On successful completion of this module the student should be able to approach methodologically artificial intelligence problems and bio-inspired algorithms in general and understand the principal mathematics of learning systems and the fundamental principles governing evolutionary optimisation techniques.


No more than 2 level 3 modules may be selected

Note: in exceptional circumstances, and with the approval of the programme Director of Studies, alternative modules available within the Computer Science provision may be substituted for optional and required modules, except COMP516 and COMP702.