School of Mathematical Sciences

Programme menu


Programme structure The programme is run jointly by the School of Mathematical Sciences and the School of Electronic Engineering and Computer Science and is offered full time (one year) and part-time (two years).  Full time students will take four modules per semester, followed by a 10,000 word dissertation. While some programming experience is beneficial, necessary background will be provided within a pre-sessional module. Additionally, our students will benefit from special lectures with our industrial stakeholders and from research open days with our research group.

Full-time Undertaking a masters programme is a serious commitment, with weekly contact hours being in addition to numerous hours of independent learning and research needed to progress at the required level. When coursework or examination deadlines are approaching independent learning hours may need to increase significantly. Please contact the course convenor for precise information on the number of contact hours per week for this programme.

Part-time Part-time study options often mean that the number of modules taken is reduced per semester, with the full modules required to complete the programme spread over two academic years. Teaching is generally done during the day and part-time students should contact the course convenor to get an idea of when these teaching hours are likely to take place. Timetables are likely to be finalised in September but you may be able to gain an expectation of what will be required.


Semester 1 Compulsory

MTH750P Graphs and Networks

MTH739N Topics in Scientific Computing

MTH700P Research Methods in Mathematical Science

Semester 1 Elective

ECS708P Machine Learning

ECS766P Data Mining

MTH744P Dynamical Systems

Semester 2 Compulsory 

MTH751P Processes on Networks

MTH780P MSc Dissertation Project

Semester 2 Elective

MTH743P Complex Systems

ECS757P Digital Media and Social Networks

MTH731N Computational Statistics

MTH777P Financial Programming

ECS740P Database Systems


Module Outlines

Graphs and Networks Networks characterize the underlying structure of a large variety of complex systems, from the Internet to social networks and the brain. This course is designed to teach students the mathematical language needed to describe complex networks, their basic properties and dynamics. The broad aim is to provide students with the key skills required fundamental research in complex networks, and necessary for application of network theory to specific network problems arising in academic or industrial environments. The students will acquire experience in solving problems related to complex networks and will learn the necessary language to formulate models of network-embedded systems.

Topics in Scientific Computing This module covers the use of computers & programming language (mainly Matlab) for solving applied mathematical problems in general, and problems in network science in particular. Its aim is to provide students with computational tools to solve problems they are likely to encounter in networks (search algorithms, generate network ensembles, ...) and in more generic applied mathematics problems (numerical solution of ordinary differential equations, random number generation) as well as to provide them with a sound understanding of a programming language used in applied sciences. 

Research Methods in Mathematical Sciences This module is designed to provide students with the skills and expertise to access, read and understand research literature in a wide range of mathematics and its applications. In addition, students will gain the necessary background for delivering efficient and professional oral presentations, poster presentations and scientific writing. Finally, the course is aimed to constitute a guide as well as a first training in research oriented tools and careers.

Processes on Networks Networks characterize the underlying structure of a large variety of complex systems, from the Internet to social networks and the brain. Models of complex systems therefore address dynamical processes taking place on top of these networks. For example, we search and navigate the Internet, opinions or infections spread on social networks, or neurons in the brain synchronize their dynamics. In this module students will learn the fundamental results on various dynamical process defined on complex networks, including random walks, percolation, epidemic spreading and synchronization, as well as applications and implications for real systems: from the PageRank algorithm as a fundamental method to search the Internet, to the effect of percolation on scale-free networks as a method to understand the robustness of many biological and technological networks to random failures or targeted attacks.

MSc Dissertation Project All students will have to deliver a final dissertation. We have a large pool of possible projects that range all areas of Network Science, linked to active research topics within the Complex Systems & Networks (CSN) group at the School of Mathematical Sciences. All projects will therefore have a large component of original work and cutting-edge research, and will be supervised by members of the CSN group. Additionally, a number of projects will be co-supervised by one of our sponsor company, Neo4j, for those students which are interested in developing a project with direct impact in network technologies.

Machine Learning This course covers methods for machine learning from signals and data, including statistical pattern recognition methods, neural networks, and clustering. The aim of the course is to give you an understanding of machine learning methods, including pattern recognition, clustering and neural networks, and to allow you to apply such methods in a range of areas. By the end of the course you will be able to: Recall a range of machine learning techniques and algorithms, including neural networks and statistical methods; Use concepts from probability theory in machine learning; Derive and analyse properties of machine learning methods; Discuss the relative merits of different machine learning techniques and approaches and apply machine learning methods to the analysis of signals and data.  

Data mining This is an introductory module that answers the question "how to extract meaningful and relevant information from a big dataset?", providing skills and tools to succeed in the era of big data. 

Complex Systems 
This module introduces the students to the exciting field of complexity and complex systems, systems composed by several units that interact nonlinearly and whose macroscopic behaviour cannot be understood
by looking at individual elements. The concepts of emergence and self-organisation will be thoroughly studied, and concrete topics include coupled and time-delayed dynamical systems (bifurcations, stability, chaos, Lyapunov exponents), basic stochastic processes, time series (measures of dimensions, entropies and complexity), fractals, multifractals, and particle models. Focus will be both on mathematical modelling aspects and on computational and numerical methods.      
Digital Media and Social Networks The fast rise in adoption of Online Social Networks (OSN) and digital media has evolved the way users interact on the Internet, in a manner that most personal communication is now taking place via such tools. The adoption of services such as Facebook, Twitter and YouTube affect the traffic patterns on the Internet as well. Recently, there have been a large number of studies on measurement and analysis of user connectivity, data sharing and traffic patterns on the Internet focusing on OSNs. This course covers different aspects of the concepts of OSN, recommender systems, user behaviour, advertising and privacy. The focus will be on the concepts around measurement, analysis, usability and privacy aspects of OSNs.

Computational statistics This module introduces modern methods of statistical inference for small samples, which use computational methods of analysis, rather than asymptotic theory. Some of these methods such as permutation tests and bootstrapping, are now used regularly in modern business, finance and science. The topics covered include nonparametric tests, cross-validation, model selection, and boostrapping among others.

Financial programming This course covers the fundamentals of development of financial applications based on a three tiered architecture. It will combine the use of Excel as a front end, VBA as middleware, and C++ as a compute engine to illustrate current practices in the financial industry. The course will emphasize code development best practices and object oriented development. 

Database systems This module provides an introduction to databases and their language systems in theory and practice. The main topics covered by the module include the principles and components of database management systems, the main modelling techniques used in the construction of database systems, and implementation of databases using an object-relational database management system. SQL, the main relational database language, Object-Oriented database systems and future trends (in particular information retrieval and data warehouses) are covered.

Special lectures As a complement to our academic programme, a number of special lectures will be delivered.
The first set of special lectures will be delivered by our industrial stakeholders. These lectures will provide students additional information and exposition to current hot topics in several sectors outside academia, and will give our students the possibility to learn from first hand what kind of problems are currently addressed and solved in industry using networks. These lectures will also constitute a forum that will enable direct communication between students and industry, regarding prospective internships or employment.
The second set of special lectures will be delivered within a network research open day, where our students will be exposed to real research activity which is currently carried out within the Complex Systems & Networks group. Our students will learn about the research atmosphere, research topics, everyday life in academia among other aspects, and will have the possibility to discuss with our research group (academics, postdocs, Phd students) in a relaxed environment. 

We constantly work to improve our programme
We are constantly working to improve our academic curriculum in order to provide our students the best possible programme. In an effort to cope with the intrinsic interdisciplinary nature of Network Science, we will be including additional, trandisciplinary modules to our programme in the near future. Please visit this webpage regularly to be updated.