# Mathematics and Computer Science BSc (Joint Honours)

## Key information

### Module details

Due to the impact of COVID-19 we are changing how the course is delivered.

### Programme Year One

Year 1 of the programme has been designed as an even split between subjects related to Computing and Mathematics.
In Year 1 students will study one of the modules COMP101 (Intro. to Programming) or COMP105 (Programming Language Paradigms). The option deemed most suitable will be determined, typically (although not exclusively) through indications of reasonable prior exposure to programming. For example, students who have obtained a recognised entry qualification in a computing related subject (eg Computer Science A-level) will study COMP105. Students without such background will normally study COMP101, however, may (at the discretion of Programme Director of Studies) be permitted to enrol on COMP105 instead. All other Year 1 modules are required.

#### Year One Compulsory Modules

• ##### Calculus I (MATH101)
Level 1 15 First Semester 50:50 1. To introduce the basic ideas of differential and integral calculus, to develop the basic skills required to work with them and to apply these skills to a range of problems.2. To introduce some of the fundamental concepts and techniques of real analysis, including limits and continuity.3. To introduce the notions of sequences and series and of their convergence. (LO1) Understand the key definitions that underpin real analysis and interpret these in terms of straightforward examples.(LO2) Apply the methods of calculus and real analysis to solve previously unseen problems (of a similar style to those covered in the course).(LO3) Understand in interpret proofs in the context of real analysis and apply the theorems developed in the course to straightforward examples.(LO4) Independently construct proofs of previously unseen mathematical results in real analysis (of a similar style to those demonstrated in the course).(LO5) Differentiate and integrate a wide range of functions;(LO6) Sketch graphs and solve problems involving optimisation and mensuration(LO7) Understand the notions of sequence and series and apply a range of tests to determine if a series is convergent(S1) Numeracy
• ##### Calculus II (MATH102)
Level 1 15 Second Semester 0:100 To discuss local behaviour of functions using Taylor’s theorem. To introduce multivariable calculus including partial differentiation, gradient, extremum values and double integrals. (LO1) Use Taylor series to obtain local approximations to functions(LO2) Obtain partial derivatives and use them in several applications such as, error analysis, stationary points change of variables.(LO3) Evaluate double integrals using Cartesian and Polar Co-ordinates.
• ##### Data Structures and Algorithms (COMP108)
Level 1 15 Second Semester 60:40 To introduce the notation, terminology, and techniques underpinning the study of algorithms. To introduce basic data structures and associated algorithms. To introduce standard algorithmic design paradigms and efficient use of data structures employed in the development of efficient algorithmic solutions. (LO1) Be able to describe the principles of and apply a variety of data structures and their associated algorithms;(LO2) Be able to describe standard algorithms, apply a given pseudo code algorithm in order to solve a given problem, and carry out simple asymptotic analyses of algorithms;(LO3) Be able to describe and apply different algorithm design principles and distinguish the differences between these principles;(LO4) Be able to choose and justify the use of appropriate data structures to enable efficient implementation of algorithms;(S1) Numeracy/computational skills - Reason with numbers/mathematical concepts(S2) Numeracy/computational skills - Problem-solving(S3) Critical thinking and problem-solving - Critical analysis
• ##### Designing Systems for the Digital Society (COMP107)
Level 1 15 First Semester 0:100 To provide the students with a wide-ranging understanding of the discipline of computing, and to introduce students to concepts of professional ethics as well as social and legal aspects of computing. To equip the students with the communication, time and project management, and employability skills required for a computing professional. To allow the students to gain an understanding of the importance of appropriate and efficient system design strategies, at the conceptual and logical levels, and how to communicate them effectively to stakeholders. (LO1) Identify and appraise professional, ethical, legal and social issues related to the work of a professional within the IT industry with particular regard to the BCS Codes of Conduct and Practice.(LO2) Recognise employability and entrepreneurship skills that prepare students to undertake paid work experience during the course of their degree or independently(LO3) Identify, describe and discuss economic, historical, organisational, research, ethical, and social aspects of computing as a discipline and computing in practice;(LO4) Understand the importance of requirement analysis, and demonstrate the ability to extract, analyse and organise end-user requirements;(LO5) Identity and apply principles of system design, including database conceptual design, using ER and UML design methodologies;(LO6) Recognise database logical design principles, and issues related to database physical design;(S1) Effectively communicate in writing and orally in a variety of styles, including the presentation of coherent and persuasive intellectual accounts/arguments(S2) Develop the ability to work effectively in group to design a project from conception to deployment(S3) Develop the ability to manage time effectively and to organise own skills(S4) Reflect on their own learning and professional development by producing a professional portfolio recording the skills developed in the course, which they can enhance in subsequent modules
• ##### Introduction to Linear Algebra (MATH103)
Level 1 15 First Semester 45:55 • To develop techniques of complex numbers and linear algebra, including equation solving, matrix arithmetic and the computation of eigenvalues and eigenvectors. • To develop geometrical intuition in 2 and 3 dimensions. • To introduce students to the concept of subspace in a concrete situation. • To provide a foundation for the study of linear problems both within mathematics and in other subjects (LO1) Manipulate complex numbers and solve simple equations involving them, solve arbitrary systems of linear equations.(LO2) Understand and use matrix arithmetic, including the computation of matrix inverses.(LO3) Compute and use determinants.(LO4) Understand and use vector methods in the geometry of 2 and 3 dimensions.(LO5) Calculate eigenvalues and eigenvectors.(S1) Numeracy
• ##### Object-oriented Programming (COMP122)
Level 1 15 Second Semester 0:100 To develop understanding of object-oriented software methodology, in theory and practice. To further develop sound principles in software design and software development. To understand basic concepts of software testing principles and software version control systems. (LO1) Describe object hierarchy structure and how to design such a hierarchy of related classes.(LO2) Describe the concept of object polymorphism in theory and demonstrate this concept in practice.(LO3) Design and code iterators for collection-based data management.(LO4) Design simple unit tests using appropriate software tools.(LO5) Demonstrate concepts of event-driven programming and be able to design simple GUI to demonstrate this understanding.(LO6) Identify and describe the task and issues involved in the process of developing interactive products for people, and the techniques used to perform these tasks.(S1) Communication (oral, written and visual) - Report Writing(S2) Time and project management - Personal organisation(S3) Critical thinking and problem-solving - Critical analysis(S4) Numeracy/computational skills - Reason with numbers/mathematical concepts

#### Year One Optional Modules

• ##### Newtonian Mechanics (MATH122)
Level 1 15 Second Semester 50:50 To provide a basic understanding of the principles of Classical Mechanics and their application to simple dynamical systems.  Learning Outcomes: After completing the module students should be able to analyse real world problems involving: - the motions of bodies under simple force systems - conservation laws for momentum and energy - rigid body dynamics using centre of mass, angular momentum and moments of inertia (LO1) the motions of bodies under simple force systems(LO2) conservation laws for momentum and energy(LO3) rigid body dynamics using centre of mass, angular momentum and moments(LO4) oscillation, vibration, resonance(S1) Representing physical problems in a mathematical way(S2) Problem Solving Skills
• ##### Numbers, Groups and Codes (MATH142)
Level 1 15 Second Semester 50:50 - To provide an introduction to rigorous reasoning in axiomatic systems exemplified by the framework of group theory.- To give an appreciation of the utility and power of group theory as the study of symmetries.- To introduce public-key cryptosystems as used in the transmission of confidential data, and also error-correcting codes used to ensure that transmission of data is accurate. Both of these ideas are illustrations of the application of algebraic techniques. (LO1) Be able to apply the Euclidean algorithm to find the greatest common divisor of a pair of positive integers, and use this procedure to find the inverse of an integer modulo a given integer.(LO2) Be able to solve linear congruences and apply appropriate techniques to solve systems of such congruences.(LO3) Be able to perform a range of calculations and manipulations with permutations.(LO4) Recall the definition of a group and a subgroup and be able to identify these in explicit examples.(LO5) Be able to prove that a given mapping between groups is a homomorphism and identify isomorphic groups.(LO6) To be able to apply group theoretic ideas to applications with error correcting codes.(LO7) Engage in group project work to investigate applications of the theoretical material covered in the module.
• ##### Introduction to Statistics (MATH162)
Level 1 15 Second Semester 80:20 •To introduce topics in Statistics and to describe and discuss basic statistical methods. •To describe the scope of the application of these methods. (LO1) To know how to describe statistical data.(LO2)  To be able to use the Binomial, Poisson, Exponential and Normal distributions.(LO3) To be able to perform simple goodness-of-fit tests.(LO4) To be able to use an appropriate statistical software package to present data and to make statistical analysis.(S1) Numeracy(S2) Problem solving skills(S3) IT skills(S4) Communication skills
• ##### Introduction to Programming (COMP101)
Level 1 15 First Semester 0:100 To introduce concepts and principles of problem solving by computer, and the construction of appropriate algorithms for the solution of problems. To demonstrate the principles underlying the design of high level programming languages. To give students experience and confidence in the use of a high level programming language to implement algorithms. (LO1) Be able to implement, compile, test and run programmes, to address a particular software problem.(LO2) Understand how to include arithmetic operators and constants in a program.(LO3) Be able to make use of libraries.(LO4) Demonstrate the ability to employ various types of selection constructs in a program.(LO5) Demonstrate the ability to employ repetition constructs in a program.(LO6) Be able to employ a hierarchy of libraries/modules to provide a solution to a given set of requirements.(LO7) Demonstrate the ability to use simple data structures like arrays in a program.(LO8) Specific learning outcomes are listed above. General learning outcomes: An understanding of the principles and practice of program analysis and design in the construction of robust, maintainable programs which satisfy their requirements; A competence to design, write, compile, test and execute straightforward programs using a high level language; An appreciation of the principles of procedural programming; An awareness of the need for a professional approach to design and the importance of good documentation to the finished programs.(S1) Communication (oral, written and visual) - Report writing(S2) Time and project management - Personal organisation(S3) Critical thinking and problem solving - Critical analysis(S4) Numeracy/computational skills - Reason with numbers/mathematical concepts
• ##### Programming Language Paradigms (COMP105)
Level 1 15 First Semester 0:100 To introduce the functional programming paradigm, and to compare and contrastit with the imperative programming paradigm. To explore the common techniques that are employed to solve problems in a functional way. (LO1) Describe the imperative and functional programming paradigms including the differences between them.(LO2) Apply recursion to solve algorithmic tasks.(LO3) Apply common functional programming idioms such as map, filter and fold.(LO4) Write programs using a functional programming language.(S1) Time and project management - Personal organisation(S2) Communication (oral, written and visual) - Report writing(S3) Critical thinking and problem-solving - Critical analysis(S4) Numeracy/computational skills - Reason with numbers/mathematical concepts

### Programme Year Two

In Year 2 you continue with a mix of modules related to Computer Science and Mathematics but also have the opportunity to specialise in certain subject areas of your choice.

#### Year Two Compulsory Modules

• ##### Complexity of Algorithms (COMP202)
Level 2 15 Second Semester 70:30 To demonstrate how the study of algorithmics has been applied in a number of different domains. To introduce formal concepts of measures of complexity and algorithms analysis. To introduce fundamental methods in data structures and algorithms design. To make students aware of computationally hard problems and possible ways of coping with them. (LO1) At the conclusion of the module students should have an appreciation of the diversity of computational fields to which algorithmics has made significant contributions.(LO2) At the conclusion of the module students should  have fluency in using basic data structures (queues, stacks, trees, graphs, etc) in conjunction with classical algorithmic problems (searching, sorting, graph algorithms, security issues) and be aware of basic number theory applications, etc.(LO3) At the conclusion of the module students should  be familiar with formal theories providing evidence that many important computational problems are inherently intractable, e.g., NP-completeness.

#### Year Two Optional Modules

• ##### Computer Networks (COMP211)
Level 2 15 First Semester 70:30 1. To introduce networked computer systems in general, and the Internet in particular. 2. To introduce the basic principles that govern their operation. 3. To introduce the design and organisation principles of successful computer networks. 4. To introduce the key protocols and technologies that are used in the Internet. (LO1) Students should be able to describe and justify the OSI Reference Model and the key protocols that govern the Internet.(LO2) Students should be able to program applications and protocols for computer networks.(LO3) Students should be able to illustrate and debate the use and need of cryptographic techniques in nework security.(S1) Problem Solving - Numeracy and computational skills(S2) Problem solving – analysing facts and situations and applying creative thinking to develop appropriate solutions.
• ##### Computer Systems (COMP124)
Level 1 15 Second Semester 80:20 To introduce how computers function at the instruction operation level. To introduce the relationships between the instruction operation level and both the higher (software) and lower (hardware) levels.To introduce students to the structure and functionality of modern operating systems. To explain how the principal components of computer-based systems perform their functions and how they interact with each other. (LO1) Describe the structure and operation of computer hardware at the register transfer level.(LO2) Implement and reason about simple algorithms at the level of machine code.(LO3) Describe the overall structure and functionality of a modern operating system and its interactions with computer hardware and user processes.(LO4) Explain how modern operating systems and programming languages implement concurrency and the issues that arise when working with concurrent processes.(LO5) Use the Linux command line and describe how files, devices and processes are managed by the Linux kernel.(S1) Numeracy/computational skills - problem solving
• ##### Software Engineering I (COMP201)
Level 2 15 First Semester 60:40 The module is intended to develop an understanding of the problems associated with the development of significant computing systems (that is, systems that are too large to be designed and developed by a single person, and are designed to be used by many users) and to appreciate the techniques and tools necessary to develop such systems efficiently, in a cost-effective manner. (LO1) Realise the problems in designing and building significant computer systems;(LO2) Understand the need to design systems that fully meet the requirements of the intended users including functional and non functional elements;(LO3) Appreciate the need to ensure that the implementation of a design is adequately tested to ensure that the completed system meets the specifications;(LO4) Be fully aware of the principles and practice of an O-O approach to the design and development of computer systems;(LO5) Be able to apply these principles in practice;(LO6) Produce O-O requirements and design documentation in UML which demonstrates the features of good design such as loose coupling and high cohesion;(LO7) Be able to demonstrate how to effectively  implent an O-O design in an O-O languuge such as Java or Python;(S1) Information skills - Information accessing:[Locating relevant information] [Identifying and evaluating information sources](S2) Skills in using technology - Using common applications (work processing, databases, spreadsheets etc.)(S3) Time and project management - Personal action planning
• ##### Database Development (COMP207)
Level 2 15 First Semester 70:30 To introduce students to - the problems arising from databases, including concurrency in databases, information security considerations and how they are solved;- the problems arising from the integration of heterogeneous sources of information and the use of semi-structured data;- non-relational databases and the economic factors involved in their selection;- techniques for analysing large amounts of data, the security issues and commercial factors involved with them. (LO1) Demonstrate an understanding of basic and advanced SQL topics;(LO2) At the end of this module the student will be able to identify and apply the principles underpinning transaction management within DBMS and the main security issues involved in securing transaction;(LO3) Illustrate the issues related to Web technologies as a semi-structured data representation formalism;(LO4) Interpret the main concepts and security aspects in data warehousing, and the concepts of data mining and commercial considerations involved in adopting the paradigm.(S1) Problem Solving - Numeracy and computational skills(S2) Problem solving – Analysing facts and situations and applying creative thinking to develop appropriate solutions.
• ##### Decision, Computation and Language (COMP218)
Level 2 15 First Semester 70:30 To introduce formal concepts of automata, grammars and languages.To introduce ideas of computability and decidability. To illustrate the importance of automata, formal language theory and general models of computation in Computer Science and Artificial Intelligence. (LO1) Define the relationship between language as an object recognised by an automaton and as a set of words generated by a formal grammar.(LO2) Apply standard translations between different models of computation.(LO3) Discuss the distinct types of formal grammar (e.g. Chomsky hierarchy) and the concept of normal form for grammars.(LO4) Illustrate the limitations (with respect to expressive power) of different automata and grammar forms.(LO5) Explain the difference between decidable and recognisable languages.(S1) Numeracy/computational skills - Reason with numbers/mathematical concepts(S2) Numeracy/computational skills - Problem solving(S3) Information skills - Information accessing:[Locating relevant information] [Identifying and evaluating information sources]
• ##### Math201 - Ordinary Differential Equations (MATH201)
Level 2 15 First Semester 0:100 •To familiarize students with basic ideas and fundamental techniques to solve ordinary differential equations.•To illustrate the breadth of applications of ODEs and fundamental importance of related concepts. (LO1) To understand the basic properties of ODE, including main features of initial value problems and boundary value problems, such as existence and uniqueness of solutions.(LO2) To know the elementary techniques for the solution of ODEs.(LO3) To understand the idea of reducing a complex ODE to a simpler one.(LO4) To be able to solve linear ODE systems (homogeneous and non-homogeneous) with constant coefficients matrix.(LO5) To understand a range of applications of ODE.(S1) Problem solving skills(S2) Numeracy
• ##### Introduction to the Methods of Applied Mathematics (MATH224)
Level 2 15 Second Semester 50:50 •To provide a grounding in elementary approaches to solution of some of the standard partial differential equations encountered in the applications of mathematics.•To introduce some of the basic tools (Fourier Series) used in the solution of differential equations and other applications of mathematics. (LO1) After completing the module students should: - be fluent in the solution of basic ordinary differential equations, including systems of first order equations:- be familiar with the concept of Fourier series and their potential application to the solution of both ordinary and partial differential equations:- be familiar with the concept of Laplace transforms and their potential application to the solution of both ordinary and partial differential equations: - be able to solve simple first order partial differential equations: - be able to solve the basic boundary value problems for second order linear partial differential equations using the method of separation of variables.
• ##### Vector Calculus With Applications in Fluid Mechanics (MATH225)
Level 2 15 First Semester 70:30 To provide an understanding of the various vector integrals, the operators div, grad and curl and the relations between them. To give an appreciation of the many applications of vector calculus to physical situations. To provide an introduction to the subjects of fluid mechanics and electromagnetism. (LO1) After completing the module students should be able to: - Work confidently with different coordinate systems. - Evaluate line, surface and volume integrals. - Appreciate the need for the operators div, grad and curl together with the associated theorems of Gauss and Stokes. - Recognise the many physical situations that involve the use of vector calculus. - Apply mathematical modelling methodology to formulate and solve simple problems in electromagnetism and inviscid fluid flow. All learning outcomes are assessed by both examination and course work.
• ##### Mathematical Models: Microeconomics and Population Dynamics (MATH227)
Level 2 15 First Semester 50:50 •To provide an understanding of the techniques used in constructing, analysing, evaluating and interpreting mathematical models.•To do this in the context of two non-physical applications, namely microeconomics and population dynamics. •To use and develop mathematical skills introduced in Year 1 - particularly the calculus of functions of several variables and elementary differential equations. (LO1) After completing the module students should be able to: - Use techniques from several variable calculus in tackling problems in microeconomics. - Use techniques from elementary differential equations in tackling problems in population dynamics. - Apply mathematical modelling methodology in these subject areas. All learning outcomes are assessed by both examination and course work.
• ##### Classical Mechanics (MATH228)
Level 2 15 Second Semester 50:50 To provide an understanding of the principles of Classical Mechanics and their application to dynamical systems. (LO1) To understand the variational principles, Lagrangian mechanics, Hamiltonian mechanics.(LO2) To be able to use Newtonian gravity and Kepler's laws to perform the calculations of the orbits of satellites, comets and planetary motions.(LO3) To understand the motion relative to a rotating frame, Coriolis and centripetal forces, motion under gravity over the Earth's surface.(LO4) To understand the connection between symmetry and conservation laws.(LO5) To be able to work with inertial and non-inertial frames.(S1) Applying mathematics to physical problems(S2) Problem solving skills
• ##### Metric Spaces and Calculus (MATH241)
Level 2 15 First Semester 50:50 To introduce the basic elements of the theory of metric spaces and calculus of several variables. (LO1) After completing the module students should: Be familiar with a range of examples of metric spaces.(LO2) Have developed their understanding of the notions of convergence and continuity.(LO3) Understand the contraction mapping theorem and appreciate some of its applications.(LO4) Be familiar with the concept of the derivative of a vector valued function of several variables as a linear map.(LO5) Understand the inverse function and implicit function theorems and appreciate their importance.(LO6) Have developed their appreciation of the role of proof and rigour in mathematics(S1) Problem solving skills
• ##### Complex Functions (MATH243)
Level 2 15 First Semester 0:100 To introduce the student to a surprising, very beautiful theory having intimate connections with other areas of mathematics and physical sciences, for instance ordinary and partial differential equations and potential theory. (LO1) To understand the central role of complex numbers in mathematics;.(LO2) To develop the knowledge and understanding of all the classical holomorphic functions.(LO3) To be able to compute Taylor and Laurent series of standard holomorphic functions.(LO4) To understand various Cauchy formulae and theorems and their applications.(LO5) To be able to reduce a real definite integral to a contour integral.(LO6) To be competent at computing contour integrals.(S1) Problem solving skills(S2) Numeracy(S3) Adaptability
• ##### Linear Algebra and Geometry (MATH244)
Level 2 15 First Semester 50:48 To introduce general concepts of linear algebra and its applications in geometry and other areas of mathematics. (LO1) To understand the geometric meaning of linear algebraic ideas.(LO2) To know the concept of an abstract vector space and how it is used in different mathematical situations.(LO3) To be able to apply a change of coordinates to simplify a linear map.(LO4) To be able to work with matrix groups, in particular GL(n), O(n) and SO(n),.(LO5) To understand bilinear forms from a geometric point of view.(S1) Problem solving skills(S2) Numeracy(S3) Adaptability
• ##### Commutative Algebra (MATH247)
Level 2 15 Second Semester 50:50 To give an introduction to abstract commutative algebra and show how it both arises naturally, and is a useful tool, in number theory. (LO1) After completing the module students should be able to: • Work confidently with the basic tools of algebra (sets, maps, binary operations and equivalence relations). • Recognise abelian groups, different kinds of rings (integral, Euclidean, principal ideal and unique factorisation domains) and fields. • Find greatest common divisors using the Euclidean algorithm in Euclidean domains. • Apply commutative algebra to solve simple number-theoretic problems.
• ##### Geometry of Curves (MATH248)
Level 2 15 Second Semester 50:50 To introduce geometric ideas and develop the basic skills in handling them.To study the line, circle, ellipse, hyperbola, parabola, cubics and many other curves.To study theoretical aspects of parametric, algebraic and projective curves.To study and sketch curves using an appropriate computer package. (LO1) After completing this module students should be able to use a computer package to study curves and their evolution in both parametric and algebraic forms.(LO2) After completing this module students should be able to determine and work with tangents, inflexions, curvature, cusps, nodes, length and other features.(LO3) After completing this module students should be able to determine the position and shape of some algebraic curves including conics.(S1) Problem solving skills(S2) Numeracy(S3) IT skills(S4) Adaptability
• ##### Introduction to Methods of Operational Research (MATH261)
Level 2 15 First Semester 50:50 The aims of the module are to develop an understanding of how mathematical modelling and operational research techniques are applied to real-world problems and to gain an understanding of linear and convex programming, multi-objective problems, inventory control and sensitivity analysis. (LO1) To understand the operational research approach.(LO2) To be able to apply standard methods of operational research to a wide range of real-world problems as well as to problems in other areas of mathematics.(LO3) To understand the advantages and disadvantages of particular operational research methods.(LO4) To be able to derive methods and modify them to model real-world problems.(LO5) To understand and be able to derive and apply the methods of sensitivity analysis.(LO6) To understand the importance of sensitivity analysis.(S1) Adaptability(S2) Problem solving skills(S3) Numeracy(S4) Self-management readiness to accept responsibility (i.e. leadership), flexibility, resilience, self-starting, initiative, integrity, willingness to take risks, appropriate assertiveness, time management, readiness to improve own performance based on feedback/reflective learning
• ##### Statistical Theory and Methods I (MATH263)
Level 2 15 Second Semester 50:50 To introduce statistical methods with a strong emphasis on applying standard statistical techniques appropriately and with clear interpretation.To introduce students to an appropriate statistical software package. (LO1) To have a conceptual and practical understanding of a range of commonly applied statistical procedures.(LO2) To have developed some familiarity with an appropriate statistical software package.(S1) Problem solving skills(S2) Numeracy(S3) IT skills(S4) Communication skills
• ##### Statistical Theory and Methods II (MATH264)
Level 2 15 Second Semester 50:50 To introduce statistical distribution theory which forms the basis for all applications of statistics, and for further statistical theory. (LO1) To have an understanding of basic probability calculus.(LO2) To have an understanding of a range of techniques for solving real life problems of probabilistic nature.(S1) Problem solving skills(S2) Numeracy
• ##### Numerical Methods for Applied Mathematics (MATH266)
Level 2 15 Second Semester 20:80 To demonstrate how these ideas can be implemented using a high-level programming language, leading to accurate, efficient mathematical algorithms. (LO1) To strengthen students’ knowledge of scientific programming, building on the ideas introduced in MATH111.(LO2) To provide an introduction to the foundations of numerical analysis and its relation to other branches of Mathematics.(LO3) To introduce students to theoretical concepts that underpin numerical methods, including fixed point iteration, interpolation, orthogonal polynomials and error estimates based on Taylor series.(LO4) To demonstrate how analysis can be combined with sound programming techniques to produce accurate, efficient programs for solving practical mathematical problems.(S1) Numeracy(S2) Problem solving skills
• ##### Operational Research: Probabilistic Models (MATH268)
Level 2 15 First Semester 50:50 To introduce a range of models and techniques for solving under uncertainty in Business, Industry, and Finance. (LO1) The ability to understand and describe mathematically real-life optimization problems.(LO2) Understanding the basic methods of dynamical decision making.(LO3) Understanding the basics of forecasting and simulation.(LO4) The ability to analyse elementary queueing systems.(S1) Problem solving skills(S2) Numeracy
• ##### Financial Mathematics (MATH260)
Level 2 15 Second Semester 50:50 To provide an understanding of basic theories in Financial Mathematics used in the study process of actuarial/financial interest.To provide an introduction to financial methods and derivative pricing financial instruments in discrete time set up. (LO1) Know how to optimise portfolios and calculating risks associated with investment.(LO2) Demonstrate principles of markets.(LO3) Assess risks and rewards of financial products.(LO4) Understand mathematical principles used for describing financial markets.
• ##### Introduction to Artificial Intelligence (COMP111)
Level 1 15 First Semester 60:40 To provide an introduction to AI through studying search problems, reasoning under uncertainty, knowledge representation, planning, and learning in intelligent systems. To equip the students with an awareness of the main applications of AI and the history, philosophy, and ethics of AI. (LO1) Students should be able to identify and describe the characteristics of intelligent agents and the environments that they can inhabit.(LO2) Students should be able to identify, contrast and apply to simple examples the basic search techniques that have been developed for problem-solving in AI.(LO3) Students should be able to apply to simple examples the basic notions of probability theory that have been applied to reasoning under uncertainty in AI.(LO4) Students should be able to identify and describe logical agents and the role of knowledge bases and logical inference in AI.(LO5) Students should be able to identify and describe some approaches to learning in AI and apply these to simple examples.(S1) Problem-solving / critical thinking/ creativity analysing facts and situations and applying creative thinking to develop appropriate solutions.(S2) Literacy application of literacy, ability to produce clear, structured written work and oral literacy - including listening and questioning.
• ##### Cyber Security (COMP232)
Level 2 15 Second Semester 60:40 1. To provide students with understanding of the main problems in security, confidentiality and privacy in computers and in networks, and the reasons for their importance. 2. To enable students to understand the main approaches adopted for their solution and/or mitigation, together with the strengths and weaknesses of each of these approaches. 3. To develop knowledge and skills in practical applications of available security solutions. 4. To introduce students to theoretical foundations of cybersecurity and attract their attention to the open problems requiring further research. (LO1) Understand the main problems in security, confidentiality andprivacy in computers and in networks, and the reasons for theirimportance;(LO2) Understand the main approaches adopted for their solutionand/or mitigation, together with the strengths and weaknessesof each of these approaches;(LO3) Understand the main encryption algorithms and security protocols;(LO4) Understand the main principles of prevention, detection and mitigation of computer network security threats(LO5) Appreciate the applications of cryptographic algorithms and security protocols(S1) Problem solving skills(S2) IT skills(S3) Digital scholarship participating in emerging academic, professional and research practices that depend on digital systems(S4) Information technology (application of) adopting, adapting and using digital devices, applications and services(S5) Positive attitude/ self-confidence A 'can-do' approach, a readiness to take part and contribute; openness to new ideas and the drive to make these happen(S6) Problem solving/ critical thinking/ creativity analysing facts and situations and applying creative thinking to develop appropriate solutions.(S7) Learning skills online studying and learning effectively in technology-rich environments, formal and informal
• ##### Group Software Project (COMP208)
Level 2 15 Second Semester 0:100 Students will work in small groups to produce a working software system. The deliverables and working methods will be prescribed. The aims of the module are:1. to provide experience of group working;2. to provide experience of all aspects of the development of a moderately sized software system;3. to prepare students for their individual projects in the third year;4. to consolidate material from the first semester of the second year, in particular COMP201 and COMP207. (LO1) Show an awareness of the issues involved in working as part of a team.(LO2) Demonstrate improved personal, interpersonal and communication skills.(LO3) Demonstrate a more in depth understanding of the software development process.(LO4) An ability to specify the requirements of a software system.(LO5) Demonstrate some experience in the design of a software system.(LO6) Demonstrate practical experience in the implementation and testing of a moderately sized software system.(LO7) Show an awareness of the typical project management issues.(LO8) Understanding of the process and role of software documentation.(LO9) Experience in the writing of a sizeable report on a software project.(S1) Better interpersonal skills(S2) Awareness of the benefits of structuring the development process(S3) Better knowledge of the main design techniques
• ##### Distributed Systems (COMP212)
Level 2 15 Second Semester 70:30 This module is intended to provide an understanding of the technical issues involved in the design, analysis and evaluation of modern distributed systems and algorithms. Besides conveying the central principles involved in designing distributed systems, this module also aims to introduce the students to the main principles of distributed computing and of algorithms for distributed tasks. (LO1) An appreciation of the main principles underlying distributed systems: processes, communication, naming, synchronisation, consistency, fault tolerance, and security.(LO2) Familiarity with some of the main paradigms in distributed systems: object-based systems, file systems, and coordination-based systems.(LO3) Knowledge and understanding of the essential facts, concepts, principles and theories relating to Computer Science in general, and Distributed Computing in particular.(LO4) A sound knowledge of the criteria and mechanisms whereby traditional and distributed systems can be critically evaluated and analysed to determine the extent to which they meet the criteria defined for their current and future development.(LO5) An in depth understanding of the appropriate theory, practices, languages and tools that may be deployed for the specification, design, implementation and evaluation of both traditional and Internet related distributed computer systems.(S1) Numeracy/computational skills - Problem solving

#### Year Three Optional Modules

• ##### Knowledge Representation and Reasoning (COMP304)
Level 3 15 First Semester 75:25 1. To introduce Knowledge Representation as a research area; 2. To give a complete and critical understanding of the notion of representation languages and logics.; 3. To study description logics and their use; 4. To study epistemic logics and their use; 5. To study the trade-off between expressive power and computational complexity of reasoning. (LO1) Translate between English and the languages of modal and description logics.(LO2) Explain whether formulas of propositional, modal and description logic are true or valid.(LO3) Analyse simple scenarios involving knowledge, and represent them in modal and description logics.(LO4) Apply formal proof methods in description logics.(S1) Problem Identification(S2) Critical Analysis(S3) Solution Synthesis(S4) Evaluation of Problems and Solutions
• ##### Biocomputation (COMP305)
Level 3 15 First Semester 70:30 To introduce students to some of the established work in the field of neural computation. To highlight some contemporary issues within the domain of neural computation with regard to biologically-motivated computing particularly in relation to multidisciplinary research. To equip students with a broad overview of the field of evolutionary computation, placing it in a historical and scientific context.To emphasise the need to keep up-to-date in developing areas of science and technology and provide some skills necessary to achieve this.To enable students to make reasoned decisions about the engineering of evolutionary ('selectionist') systems. (LO1) Account for biological and historical developments neural computation(LO2) Describe the nature and operation of MLP and SOM networks and when they are used(LO3) Assess the appropriate applications and limitations of ANNs(LO4) Apply their knowledge to some emerging research issues in the field(LO5) Understand how selectionist systems work in general terms and with respect to specific examples(LO6) Apply the general principles of selectionist systems to the solution of a number of real world problems(LO7) Understand the advantages and limitations of selectionist approaches and have a considered view on how such systems could be designed(S1) Improving own learning/performance - Reflective practice(S2) Improving own learning/performance - Self-awareness/self-analysis(S3) Critical thinking and problem solving - Critical analysis(S4) Critical thinking and problem solving - Evaluation(S5) Critical thinking and problem solving - Synthesis(S6) Critical thinking and problem solving - Problem identification(S7) Critical thinking and problem solving - Creative thinking(S8) Research skills - All Information skills(S9) Research skills - Awareness of /commitment to academic integrity(S10) Numeracy/computational skills - Numerical methods(S11) Numeracy/computational skills - Problem solving(S12) Skills in using technology - Information accessing
• ##### Efficient Sequential Algorithms (COMP309)
Level 3 15 First Semester 70:30 To learn some advanced topics in the design and analysis of efficient sequential algorithms, and a few key results related to the study of their complexity. (LO1) At the conclusion of the module students should have an understanding of the role of algorithmics within Computer Science.(LO2) Have expanded their knowledge of computational complexity theory.(LO3) Be aware of current research-level concerns in the field of algorithm design.(S1) Problem Solving - Numeracy and computational skills(S2) Problem solving – Analysing facts and situations and applying creative thinking to develop appropriate solutions.
• ##### Multi-agent Systems (COMP310)
Level 3 15 Second Semester 100:0 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. (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.
• ##### Formal Methods (COMP313)
Level 3 15 Second Semester 100:0 As more complex computational systems are used within critical applications, it is becoming essential that these systems are formally specified.  Such specifications are used to give a precise and unambiguous description of the required system. While this is clearly important in criticial systems such as industrial process management and air/spacecraft control, it is also becoming essential when applications involving E-commerce and mobile code are developed. In addition, as computational systems become more complex in general, formal specification can allow us to define the key characteristics of systems in a clear way and so help the development process.Formal specifications provide the basis for verification of properties of systems. While there are a number of ways in which this can be achieved, the model-checking approach is a practical and popular way to verify the temporal properties of finite-state systems. Indeed, such temporal verification is widely used within the design of critical parts of integrated circuits, has recently been used to verify parts of the control mechanism for one of NASA’s space probes, and is now beginning to be used to verify general Java programs. (LO1) Understand the principles of standard formal methods, such as Z;(LO2) Understand the basic notions of temporal logic and its use in relation to reactive systems;(LO3) Understand the use of model checking techniques in the verification of reactive systems;(LO4) Be aware of some of the current research issues related to formal methods.
• ##### Technologies for E-commerce (COMP315)
Level 3 15 Second Semester 100:0 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. (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.
• ##### Software Engineering II (COMP319)
Level 3 15 First Semester 100:0 The overall aim of this module is to introduce students to a range of advanced, near-research level topics in contemporary software engineering. The actual choice of topics will depend upon the interests of the lecturer and the topics current in the software engineering research literature at that time. The course will introduce issues from a problem (user-driven) perspective and a technology-driven perspective – where users have new categories of software problems that they need to be solved, and where technology producers create technologies that present new opportunities for software products. It will be expected that students will read articles in the software engineering research literature, and will discuss these articles in a seminar-style forum. (LO1) At the end of the module, the student will: Understand the key problems driving research and development in contemporary software engineering (eg the need to develop software for embedded systems).(LO2) Be conversant with approaches to these problems, as well as their advantages, disadvantages, and future research directions.(LO3) Understand the key technological drivers behind contemporary software engineering research (eg the increased use of the Internet leading to the need to engineer systems on and for the web).(LO4) Be able to present, analyse, and give a reasoned critique of articles in the software engineering research literature.(LO5) Be able to read and understand articles in the research literature of software engineering.
• ##### Introduction to Computational Game Theory (COMP323)
Level 3 15 First Semester 70:30 To introduce the student to the notion of a game, its solutions, concepts, and other basic notions and tools of game theory, and the main applications for which they are appropriate, including electricity trading markets.To formalize the notion of strategic thinking and rational choice by using the tools of game theory, and to provide insights into using game theory in modeling applications.To draw the connections between game theory, computer science, and economics, especially emphasizing the computational issues.To introduce contemporary topics in the intersection of game theory, computer science, and economics. (LO1) A student will understand the notion of a strategic game and equilibria, and understand the characteristics of main applications of these concepts;(LO2) Given a real world situation a student should be able to identify its key strategic aspects and based on these be able to connect them to appropriate game theoretic concepts;(LO3) A student will understand the key connections and interactions between game theory, computer science and economics;(LO4) A student will understand the impact of game theory on its contemporary applications, and be able to identify the key such application areas;(S1) Numeracy/computational skills - Problem solving(S2) Critical thinking and problem solving - Creative thinking(S3) Numeracy/computational skills - Reason with numbers/mathematical concepts
• ##### Computational Game Theory and Mechanism Design (COMP326)
Level 3 15 Second Semester 70:30 To provide an understanding of the inefficiency arising from uncontrolled, decentralized resource allocation.To provide a foundation for modelling various mechanism design problems together with their algorithmic aspects.To provide the tools and paradigms for the design and analysis of efficient algorithms/mechanisms that are robust in environments that involve interactions of selfish agents.To review the links and interconnections between algorithms and computational issues with selfish agents. (LO1) Have a systematic understanding of current problems and important concepts in the field of computational game theory.(LO2) Ability to quantify the inefficiency of equilibria.(LO3) The ability to formulate mechanism design models or network games for the purpose of modeling particular applications.(LO4) The ability to use, describe and explain appropriate algorithmic paradigms and techniques in context of a particular game-theoretic or mechanism design problem.(S1) Critical Thinking and Problem Solving - Critical Analysis(S2) Information Skills - Critical Reading(S3) Numeracy - Computational Skills - Problem Solving(S4) Critical thinking and problem solving - Creative thinking(S5) Numeracy/computational skills - Reason with numbers/mathematical concepts
• ##### Optimisation (COMP331)
Level 3 15 First Semester 70:30 To provide a foundation for modelling various continuous and discrete optimisation problems. To provide the tools and paradigms for the design and analysis of algorithms for continuous and discrete optimisation problems. Apply these tools to real-world problems. To review the links and interconnections between optimisation and computational complexity theory.    To provide an in-depth, systematic and critical understanding of selected significant topics at the intersection of optimisation, algorithms and (to a lesser extent) complexity theory, together with the related research issues. (LO1) A conceptual understanding of current problems and techniques in the field of optimisation.(LO2) The ability to formulate optimisation models for the purpose of modelling particular applications.(LO3) The ability to use appropriate algorithmic paradigms and techniques in context of a particular optimisation model. (S1) Critical thinking and problem solving - Critical analysis
• ##### Chaos and Dynamical Systems (MATH322)
Level 3 15 First Semester 50:50 To develop expertise in dynamical systems in general and study particular systems in detail. (LO1) After completing the module students will be able to understand the possible behaviour of dynamical systems with particular attention to chaotic motion;(LO2) After completing the module students will be familiar with techniques for extracting fixed points and exploring the behaviour near such fixed points;(LO3) After completing the module students will understand how fractal sets arise and how to characterise them.(S1) Problem solving skills(S2) Numeracy
• ##### Further Methods of Applied Mathematics (MATH323)
Level 3 15 First Semester 50:50 •To give an insight into some specific methods for solving important types of ordinary differential equations.•To provide a basic understanding of the Calculus of Variations and to illustrate the techniques using simple examples in a variety of areas in mathematics and physics.•To build on the students'' existing knowledge of partial differential equations of first and second order. (LO1) After completing the module students should be able to: - use the method of "Variation of Arbitrary Parameters" to find the solutions of some inhomogeneous ordinary differential equations.- solve simple integral extremal problems including cases with constraints;- classify a system of simultaneous 1st-order linear partial differential equations, and to find the Riemann invariants and general or specific solutions in appropriate cases;- classify 2nd-order linear partial differential equations and, in appropriate cases, find general or specific solutions.  [This might involve a practical understanding of a variety of mathematics tools; e.g. conformal mapping and Fourier transforms.]
• ##### Cartesian Tensors and Mathematical Models of Solids and Viscous Fluids (MATH324)
Level 3 15 First Semester 50:50 To provide an introduction to the mathematical theory of viscous fluid flows and solid elastic materials. Cartesian tensors are first introduced. This is followed by modelling of the mechanics of continuous media. The module includes particular examples of the flow of a viscous fluid as well as a variety of problems of linear elasticity. (LO1) To understand and actively use the basic concepts of continuum mechanics such as stress, deformation and constitutive relations.(LO2) To apply mathematical methods for analysis of problems involving the flow of viscous fluid or behaviour of solid elastic materials.(S1) Problem solving skills(S2) Numeracy(S3) Adaptability
• ##### Quantum Mechanics (MATH325)
Level 3 15 First Semester 50:50 The aim of the module is to lead the student to an understanding of the way that relatively simple mathematics (in modern terms) led Bohr, Einstein, Heisenberg and others to a radical change and improvement in our understanding of the microscopic world. (LO1) To be able to solve Schrodinger's equation for simple systems.(LO2) To have an understanding of the significance of quantum mechanics for both elementary systems and the behaviour of matter.(S1) Problem solving skills(S2) Numeracy
• ##### Group Theory (MATH343)
Level 3 15 First Semester 50:50 To introduce the basic techniques of finite group theory with the objective of explaining the ideas needed to solve classification results. (LO1) Understanding of abstract algebraic systems (groups) by concrete, explicit realisations (permutations, matrices, Mobius transformations).(LO2) The ability to understand and explain classification results to users of group theory.(LO3) The understanding of connections of the subject with other areas of Mathematics.(LO4) To have a general understanding of the origins and history of the subject.(S1) Problem solving skills(S2) Logical reasoning
• ##### Combinatorics (MATH344)
Level 3 15 First Semester 50:50 To provide an introduction to the problems and methods of Combinatorics, particularly to those areas of the subject with the widest applications such as pairings problems, the inclusion-exclusion principle, recurrence relations, partitions and the elementary theory of symmetric functions. (LO1) After completing the module students should be able to: understand of the type of problem to which the methods of Combinatorics apply, and model these problems; solve counting and arrangement problems; solve general recurrence relations using the generating function method; appreciate the elementary theory of partitions and its application to the study of symmetric functions.
• ##### Applied Probability (MATH362)
Level 3 15 First Semester 50:50 To give examples of empirical phenomena for which stochastic processes provide suitable mathematical models. To provide an introduction to the methods of probabilistic model building for ‘‘dynamic" events occurring over time. To familiarise students with an important area of probability modelling. (LO1) 1. Knowledge and Understanding After the module, students should have a basic understanding of: (a) some basic models in discrete and continuous time Markov chains such as random walk and Poisson processes (b) important subjects like transition matrix, equilibrium distribution, limiting behaviour etc. of Markov chain (c) special properties of the simple finite state discrete time Markov chain and Poisson processes, and perform calculations using these.2. Intellectual Abilities After the module, students should be able to: (a) formulate appropriate situations as probability models: random processes (b) demonstrate knowledge of standard models (c) demonstrate understanding of the theory underpinning simple dynamical systems 3. General Transferable Skills (a) numeracy through manipulation and interpretation of datasets (b) communication through presentation of written work and preparation of diagrams (c) problem solving through tasks set in tutorials (d) time management in the completion of practicals and the submission of assessed work (e) choosing, applying and interpreting results of probability techniques for a range of different problems.
• ##### Linear Statistical Models (MATH363)
Level 3 15 First Semester 40:60 - To understand how regression methods for continuous data extend to include multiple continuous and categorical predictors, and categorical response variables.- To provide an understanding of how this class of models forms the basis for the analysis of experimental and also observational studies.- To understand generalized linear models.- To develop skills in using an appropriate statistical software package. (LO1) Be able to understand the rationale and assumptions of linear regression and analysis of variance.(LO2) Be able to understand the rationale and assumptions of generalized linear models.(LO3) Be able to recognise the correct analysis for a given experiment.(LO4) Be able to carry out and interpret linear regressions and analyses of variance, and derive appropriate theoretical results.(LO5) Be able to carry out and interpret analyses involving generalised linear models and derive appropriate theoretical results.(LO6) Be able to perform linear regression, analysis of variance and generalised linear model analysis using an appropriate statistical software package.
• ##### Networks in Theory and Practice (MATH367)
Level 3 15 First Semester 50:50 •To develop an appreciation of network models for real world problems.•To describe optimisation methods to solve them.•To study a range of classical problems and techniques related to network models. (LO1) After completing the module students should be able to model problems in terms of networks and be able to apply effectively a range of exact and heuristic optimisation techniques.
• ##### Advanced Artificial Intelligence (COMP219)
Level 2 15 First Semester 70:30 • To equip students with the knowledge about basic algorithms that have been used to enable the AI agents to conduct the perception, inference, and planning tasks;• To equip students with the knowledge about machine learning algorithms;• To provide experience in applying basic AI algorithms to solve problems;• To provide experience in applying machine learning algorithms to practical problems. (LO1) Ability to explain in detail how the techniques in the perceive-inference-action loop work.(LO2) Ability to choose, compare, and apply suitable basic learning algorithms to simple applications.(LO3) Ability to explain how deep neural networks are constructed and trained, and apply deep neural networks to work with large scale datasets.(LO4) Understand probabilistic graphical models, and is able to do probabilistic inference on the probabilistic graphical models.(S1) Self-management (readiness to accept responsibility (i.e. leadership), flexibility, resilience, self-starting, appropriate assertiveness, time management, readiness to improve own performance based on feedback/reflective learning.)(S2) Positive attitude (A 'can-do' approach, a readiness to take part and contribute; openness to new ideas and a drive to make these happen. Employers also value entrepreneurial graduates who demonstrate an innovative approach, creative thinking, bring fresh knowledge and challenge assumptions.)(S3) Application of numeracy (manipulation of numbers, general mathematical awareness and its application in practical contexts (e.g. measuring, weighing, estimating and applying formulae))(S4) Computer Science practice
• ##### Computational Game Theory and Mechanism Design (COMP326)
Level 3 15 Second Semester 70:30 To provide an understanding of the inefficiency arising from uncontrolled, decentralized resource allocation.To provide a foundation for modelling various mechanism design problems together with their algorithmic aspects.To provide the tools and paradigms for the design and analysis of efficient algorithms/mechanisms that are robust in environments that involve interactions of selfish agents.To review the links and interconnections between algorithms and computational issues with selfish agents. (LO1) Have a systematic understanding of current problems and important concepts in the field of computational game theory.(LO2) Ability to quantify the inefficiency of equilibria.(LO3) The ability to formulate mechanism design models or network games for the purpose of modeling particular applications.(LO4) The ability to use, describe and explain appropriate algorithmic paradigms and techniques in context of a particular game-theoretic or mechanism design problem.(S1) Critical Thinking and Problem Solving - Critical Analysis(S2) Information Skills - Critical Reading(S3) Numeracy - Computational Skills - Problem Solving(S4) Critical thinking and problem solving - Creative thinking(S5) Numeracy/computational skills - Reason with numbers/mathematical concepts
• ##### Final Year Second Semester 15 Credit Project (COMP392)
Level 3 15 Second Semester 0:100 To give students the opportunity to work in a guided but independent fashion to explore an individual problem in depth, making practical use of principles, techniques and methodologies acquired elsewhere in the course.To give experience of carrying out a sustained piece of individual work and in producing a dissertation.To enhance communication skills, both oral and written. (LO1) To be able to specify a problem, and produce a plan to address the problem.
• ##### Complex Information Networks (COMP324)
Level 3 15 Second Semester 70:30 To understand the software development opportunities offered by the emergence of these networks, through the study of information retrieval algorithms like the one used by Google. To understand the application development possibilities offered by social networks environments like Facebook. To understand how elementary graph-theoretic concepts may help understanding the structure and certain properties (like the "mysterious" small world phenomenon, or the resilience to failures) of such networks. (LO1) At the end of this module students should be able to explain the most common metrics and techniques of complex network analysis and classification.(LO2) Explain the most recent applications of these techniques in the area of social and technological networks.(LO3) Be able to identify the main issues, techniques, and tools needed for the development of applications in the area of social networks.(S1) Learning Skills: Design appropriate social network solutions and interface or extend the designs of existing social network infrastructures.(S2) Learning Skills: Identify and analyse complex network characteristics.(S3) Learning Skills: Identify and interpret domain and societal requirements for the deployment of network solutions.(S4) Learning Skills: Combine knowledge from other algorithmic course to solve specific network design and analysis problems.(S5) Employability Skills: Evaluate existing software systems and infrastructures(S6) Employability Skills: Present a technological solution within a broader context(S7) Research Skills: Establish the potential of social networking technologies in specific contexts and domains.(S8) Research Skills: Articulate appropriate frameworks for the analysis of particular social networks.
• ##### Communicating Computer Science (COMP335)
Level 3 15 Whole Session 0:100 1. To enable key transferrable skills such as communication and team working within an educational context2. To provide first-hand experience of developing and delivering lessons in Computer Science at Key Stage 43. To encourage and inspire a new generation of Computer Science teachers, and provide role models for pupils who visit the university as part of its widening participation agenda (LO1) Understand the UK education system, including Key Stages and the National Curriculum in Computing.(LO2) Appreciate the widening participation and outreach agenda of the university.(LO3) Apply appropriate safeguarding protocols when working with young people.(LO4) Communicate a computer science topic in a classroom setting, using a delivery style appropriate to the age and ability of pupils.(LO5) Critically reflect on the effectiveness of an activity given feedback from those who took part.
• ##### Data Mining and Visualisation (COMP337)
Level 3 15 Second Semester 70:30 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. (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 pmplementation of data mining applications.(LO3) The ability of 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 - Ciritcal analysis
• ##### Relativity (MATH326)
Level 3 15 First Semester 50:50 (i) To introduce the physical principles behind Special and General Relativity and their main consequences;(ii) To develop the competence in the mathematical framework of the subjects - Lorentz transformation and Minkowski space-time, semi-Riemannian geometry and curved space-time, symmetries and conservation laws, Variational principles.(iii) To develop the understanding of the dynamics of particles and of the Maxwell field in Minkowski space-time, and of particles in curved space-time(iv) To develop the knowledge of tests of General Relativity, including the classical tests (perihelion shift, gravitational deflection of light)(v) To understand the basic concepts of black holes and (time permitting) relativistic cosmology and gravitational waves. (LO1) To be proficient at calculations involving Lorentz transformations, the kinematical and dynamical quantities associated to particles in Minkowski space-times, and the application of the conservation law for the four-momentum to scattering processes.(LO2) To know the relativistically covariant form of the Maxwell equations .(LO3) To know the action principles for relativistic particles, the Maxwell field and the gravitational field.(LO4) To be proficient at calculations in semi-Riemannian geometry as far as needed for General Relativity, including calculations involving general coordinate transformations, tensor fields, covariant derivatives, parallel transport, geodesics and curvature.(LO5) To understand the arguments leading to the Einstein's field equations and how Newton's law of gravity arises as a limiting(LO6) To be able to calculate the trajectories of bodies in a Schwarzschild space-time.(S1) problem solving skills(S2) numeracy
• ##### Differential Geometry (MATH349)
Level 3 15 Second Semester 50:50 This module is designed to provide an introduction to the methods of differential geometry, applied in concrete situations to the study of curves and surfaces in euclidean 3-space.  While forming a self-contained whole, it will also provide a basis for further study of differential geometry, including Riemannian geometry and applications to science and engineering. (LO1) 1a. Knowledge and understanding: Students will have a reasonable understanding of invariants used to describe the shape of explicitly given curves and surfaces.(LO2) 1b. Knowledge and understanding: Students will have a reasonable understanding of special curves on surfaces.(LO3) 1c. Knowledge and understanding: Students will have a reasonable understanding of the difference between extrinsically defined properties and those which depend only on the surface metric.(LO4) 1d. Knowledge and understanding: Students will have a reasonable understanding of the passage from local to global properties exemplified by the Gauss-Bonnet Theorem.(LO5) 2a. Intellectual abilities: Students will be able to use differential calculus to discover geometric properties of explicitly given curves and surfaces.(LO6) 2b. Intellectual abilities: Students will be able to understand the role played by special curves on surfaces.(LO7) 3a. Subject-based practical skills: Students will learn to compute invariants of curves and surfaces.(LO8) 3b. Subject-based practical skills: Students will learn to interpret the invariants of curves and surfaces as indicators of their geometrical properties.(LO9) 4a. General transferable skills: Students will improve their ability to think logically about abstract concepts,(LO10) 4b. General transferable skills: Students will improve their ability to combine theory with examples in a meaningful way.(S1) Problem solving skills(S2) Numeracy
• ##### Game Theory (MATH331)
Level 3 15 Second Semester 50:50 To explore, from a game-theoretic point of view, models which have been used to understand phenomena in which conflict and cooperation occur. To see the relevance of the theory not only to parlour games but also to situations involving human relationships, economic bargaining (between trade union and employer, etc), threats, formation of coalitions, war, etc. To treat fully a number of specific games including the famous examples of "The Prisoners' Dilemma" and "The Battle of the Sexes". To treat in detail two-person zero-sum and non-zero-sum games. To give a brief review of n-person games. In microeconomics, to look at exchanges in the absence of money, i.e. bartering, in which two individuals or two groups are involved.To see how the Prisoner's Dilemma arises in the context of public goods. (LO1) To extend the appreciation of the role of mathematics in modelling in Economics and the Social Sciences.(LO2) To be able to formulate, in game-theoretic terms, situations of conflict and cooperation.(LO3) To be able to solve mathematically a variety of standard problems in the theory of games and to understand the relevance of such solutions in real situations.
• ##### Mathematical Risk Theory (MATH366)
Level 3 15 Second Semester 50:50 •To provide an understanding of the mathematical risk theory used in the study process of actuarial interest• To provide an introduction to mathematical methods for managing the risk in insurance and finance (calculation of risk measures/quantities)• To develop skills of calculating the ruin probability and the total claim amount distribution in some non‐life actuarial risk models with applications to insurance industry• To prepare the students adequately and to develop their skills in order to be ready to sit for the exams of CT6 subject of the Institute of Actuaries (MATH366 covers 50% of CT6 in much more depth). (LO1) After completing the module students should be able to: (a) Define the loss/risk function and explain intuitively the meaning of it, describe and determine optimal strategies of game theory, apply the decision criteria's, be able to decide a model due to certain model selection criterion, describe and perform calculations with Minimax and Bayes rules. (b) Understand the concept (and the mathematical assumptions) of the sums of independent random variables, derive the distribution function and the moment generating function of finite sums of independent random variables.(c) Define and explain the compound Poisson risk model, the compound binomial risk model, the compound geometric risk model and be able to derive the distribution function, the probability function, the mean, the variance, the moment generating function and the probability generating function for exponential/mixture of exponential severities and gamma (Erlang) severities, be able to calculate the distribution of sums of independent compound Poisson random variables. (d) Understand the use of convolutions and compute the distribution function and the probability function of the compound risk model for aggregate claims using convolutions and recursion relationships.(e) Define the stop‐loss reinsurance and calculate the (mean) stop‐loss premium for exponential and mixtures of exponential severities, be able to compare the original premium and the stoploss premium in numerical examples.(f) Understand and be able to use Panjer's equation when the number of claims belongs to theR(a, b, 0) class of distributions, use the Panjer's recursion in order to derive/evaluate the probability function for the total aggregate claims.(g) Explain intuitively the individual risk model, be able to calculate the expected losses (as well as the variance) of group life/non‐life insurance policies when the benefits of the each person of the group are assumed to have deterministic variables.(h) Derive a compound Poisson approximations for a group of insurance policies (individual risk model as approximation), (i) Understand/describe the classical surplus process ruin model and calculate probabilities of the number of the risks appearing in a specific time period, under the assumption of the Poisson process.(j) Derive the moment generating function of the classical compound Poisson surplus process, calculate and explain the importance of the adjustment coefficient, also be able to make use of Lundberg's inequality for exponential and mixtures of exponential claim severities.(k) Derive the analytic solutions for the probability of ruin, psi(u), by solving the corresponding integro‐differential equation for exponential and mixtures of exponential claim amount severities, (l) Define the discrete time surplus process and be able to calculate the infinite ruin probability, psi(u,t) in numerical examples (using convolutions). (m) Derive Lundberg's equation and explain the importance of the adjustment coefficient under the consideration of reinsurance schemes.(n) Understand the concept of delayed claims and the need for reserving, present claim data as a triangle (most commonly used method), be able to fill in the lower triangle by comparing present data with past (experience) data.(o) Explain the difference and adjust the chain ladder method, when inflation is considered.(p) Describe the average cost per claim method and project ultimate claims, calculate the required reserve (by using the claims of the data table).(q) Use loss ratios to estimate the eventual loss and hence outstanding claims.(r) Describe the Bornjuetter‐Ferguson method (be able to understand the combination of the estimated loss ratios with a projection method). Use the aforementioned method to calculate the revised ultimate losses (by making use of the credibility factor).
• ##### Medical Statistics (MATH364)
Level 3 15 Second Semester 50:50 The aims of this module are to: demonstrate the purpose of medical statistics and the role it plays in the control of disease and promotion of health explore different epidemiological concepts and study designs apply statistical methods learnt in other programmes, and some new concepts, to medical problems and practical epidemiological research enable further study of the theory of medical statistics by using this module as a base. (LO1) identify the types of problems encountered in medical statistics(LO2) demonstrate the advantages and disadvantages of different epidemiological study designs(LO3) apply appropriate statistical methods to problems arising in epidemiology and interpret results(LO4) explain and apply statistical techniques used in survival analysis(LO5) critically evaluate statistical issues in the design and analysis of clinical trials(LO6) discuss statistical issues related to systematic review and apply appropriate methods of meta-analysis(LO7) apply Bayesian methods to simple medical problems.(S1) Problem solving skills
• ##### Number Theory (MATH342)
Level 3 15 Second Semester 35:65 To give an account of elementary number theory with use of certain algebraic methods and to apply the concepts to problem solving. (LO1) To understand and solve a wide range of problems about integers numbers.(LO2) To have a better understanding of the properties of prime numbers.(S1) Problem solving skills(S2) Numeracy(S3) Communication skills
• ##### Population Dynamics (MATH332)
Level 3 15 Second Semester 50:50 - To provide a theoretical basis for the understanding of population ecology - To explore the classical models of population dynamics - To learn basic techniques of qualitative analysis of mathematical models (LO1) The ability to relate the predictions of the mathematical models to experimental results obtained in the field.(LO2) The ability to  recognise the limitations of mathematical modelling in understanding the mechanics of complex biological systems.(LO3) The ability to use analytical and graphical methods to investigate population growth and the stability of equilibrium states for continuous-time and discrete-time models of ecological systems.(S1) Problem solving skills(S2) Numeracy