Back to course details

Computer Science MSc

Cambridge

Year 1

Machine Learning in Finance (15 credits)

Algorithmic trading has long been a dominant part of activity in the financial and securities markets. In recent years, machine learning and elements of artificial intelligence have been added to standard econometric algorithmic trading approaches. Machines analyse market behaviour, recognise patterns for successful trading, analyse text and video news, and calculate risks. Most state-of-the-art innovations, including AI, are first tested in financial and stock markets. This module is an introduction to the wide variety of research approaches to analysing stocks, currencies, commodities, cryptocurrencies, futures and other derivatives using machine learning. It uniquely combines a clear introduction to the financial instruments with advanced code for intraday, HFT and swing types of algorithmic trading. The module will primarily use the Python programming language and assumes familiarity with basic linear algebra, probability theory, and programming in Python. The practical sessions include working with real-world financial data for machine and deep learning. You will gain hands-on introductory experience as a Quant researcher at a hedge fund, clearing and analysing datasets and even creating and implementing trading models and calculating risks. You will get a chance to present your learnings as reports or presentations.

View the full module definition

Semantic Data Technologies (30 credits)

Businesses, large organisations and government departments at a local and European level are increasingly producing and using large semi structured data generated from data collection from their own activities and from the wider internet and social media. Semantic Data Technologies both identify and interpret the meaning of data according to its context. This module introduces this concept, alongside the key technologies and techniques for storing data and develops the skills needed for sophisticated data management. The technologies supporting the 'semantic web' have provided the tools, methodologies and theoretical underpinnings to enable data to be automatically interpreted by machines for knowledge based tasks. These techniques are increasingly being used in a more general approach to handling the kind of non-structured data that is important for recording, evaluating and guiding policy and decision making processes. This module will provide the knowledge and skills for students to structure semantic data, develop ontological models and use these to create knowledge based applications to analyse data, support decision making, enable intelligent access to information and add value to data. After completing this course students will be able to design and implement applications that comply with data re-use standards, utilise the semantic web as well as applying those technologies to the organisation and analysis of big data. The knowledge and skills learned in this module complement those of information system analysis design and data base implementation as well as advanced web server and application development, providing a theoretical and practical base for enterprise wide data handling.

View the full module definition

Machine Learning for Imaging (15 credits)

Image and video data is ubiquitous in everyday life, medicine, science, robotics, media and digital art being just a few of the fields that rely heavily on processing this type of information. Machine learning and, more specifically, deep learning provide state-of-the-art solutions to fundamental problems related to processing image and video data. This module presents the fundamental principles of machine learning, with focus on deep learning. You will study the details of convolutional neural networks and how they connect to classical image processing algorithms. Main categories of problems in digital signal processing will be tackled with appropriate deep learning solutions. Applications considered range from natural image processing to medical and microscopy image analysis.

View the full module definition

Research Methods (15 credits)

This module helps prepare you for undertaking research. Its purpose is twofold: to introduce you to the discipline of research and, at the same time, to help lay the essential foundations for a dissertation of MSc quality. Your interests, time constraints and other practical considerations usually set, and limit, the topic, the research approach and study, and the selection of suitable method(s) appropriate for a MSc dissertation. The module therefore includes: a consideration of research design issues; an introduction to research skills; an evaluation of alternative research methods. A programme of lectures, discussions, seminars and workshops supports the module. Topics covered include, for example, research planning and design, alternative research methods, productive use of the internet, research analysis and effective time management. During the module, you'll define an area of study that could or will form the basis of your research project. You'll be expected to undertake an appropriate and critical review of the available literature and other information germane to the proposed project. If a laboratory-based project is envisaged, you'll need to give due consideration to the instrumentation required, provide experimental design criteria, at least for the initial stages of the proposed work, and also take account of all health and safety regulations (including COSHH) and appropriate ethical considerations.

View the full module definition

Advanced Web Solutions (30 credits)

Creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies. This module will enable those who have some experience of software development technologies and HTML to build complex web solutions and advance to dynamic, database-enabled, framework driven website/intranet programming and applications using a scripting language and a database management system. As part of this process you will learn about the Model-View-Controller architectural pattern, object-oriented, event-driven programming, and databases and see how they all work together to deliver exciting applications. You will also learn how client-to-server data flows in a web environment and how to control it through the integration of fundamental security techniques in every step of the development process. Furthermore, you will gain an insight into how to use and apply version control and how to use specialised software to integrate it into your projects. Finally, you will learn about web testing techniques and which tools are best used for debugging different parts of the application. This module aims to provide students with an understanding of the issues, principles, techniques and tools associated with the development of rich Web applications, from design to implementation.

View the full module definition

Cyber Security and AI Case Studies (15 credits)

Here you will consider how machine learning is being applied to modern cyber security and threat detection. You will be introduced to the tools and techniques in network and software application threat mitigation, and discuss how artificial intelligence is currently, or should be, used to support security analysts in their jobs. The practical sessions of this module are very hands-on and you will learn basic cyber penetration testing techniques and tools, through a series of weekly laboratory tasks. Penetration testing framework tools such as Kali, will be used to test both network and software applications for vulnerabilities. Throughout this module, you will be encouraged to consider how the tools and techniques covered could be applied to ideas for you Major Project. You are not expected to have previous experience with threat detection, but it is desirable to have an understanding of the OSImodel and network protocol handshakes, together with an understanding of how software applications are built. You are also not expected to have previous experience with penetration testing, but would benefit from having used Linux operating systems such as Debian.

View the full module definition

Postgraduate Major Project (60 credits)

This module supports students in the preparation and submission of a Master's stage project, dissertation or artefact. The Module provides the opportunity for students to select and explore in-depth, a topic that is of interest and relevant to their course in which they can develop a significant level of expertise. It enables students to: demonstrate their ability to generate significant and meaningful questions in relation to their specialism; undertake independent research using appropriate, recognised methods based on current theoretical research knowledge, critically understand method and its relationship to knowledge; develop a critical understanding of current knowledge in relation to the chosen subject and to critically analyse and evaluate information and data, which may be complex or contradictory, and draw meaningful and justifiable conclusions; develop the capability to expand or redefine existing knowledge, to develop new approaches to changing situations and/or develop new approaches to changing situations and contribute to the development of best practice; demonstrate an awareness of and to develop solutions to ethical dilemmas likely to arise in their research or professional practice; communicate these processes in a clear and elegant fashion; evaluate their work from the perspective of an autonomous reflective learner.

View the full module definition