1 year full-time, 2 years part-time - 180 credits
The Scientific Computing program aims to produce highly computationally skilled scientists and engineers capable of applying numerical methods and critical evaluation of their results to their field of science or engineering. It brings together best practices in computing with cutting edge science and fills in the computing gap in traditional science, engineering and mathematics programs.
This program has been designed to balance professional software development and high performance computing skills with a comprehensive selection of numerical mathematics and scientific subjects culminating in a scientific computing dissertation project. The dual aspect of science and computing degree will enable the students to tackle real life problems in a structured and rigorous way and produce professional software for their efficient solutions.
The program aims to develop a comprehensive set of skills that are in high demand both in industry and academia: professional software development skills including state of the art scripting and compiled languages, knowledge of techniques used in high-performance computing, understanding, and ability to apply a wide range of numerical methods and numerical optimization, deepen your knowledge in science subject of your choice, presentation skills both oral and in writing.
Course Structure
The programme is made up of modules to the value of 180 credits. The programme consists of a dissertation/report (60 credits) plus either 6 core modules (90 credits) and 2 optional modules (30 credits) or a research essay (30 credits,) 5 core modules (75 credits), and 1 option module (15 credits)
Core Modules (90/75credits)
All students take a selection of 5 or 6 of the following core modules:
- Computational and Simulation Methods
- Machine Learning with Big Data
- Numerical Methods
- Numerical Optimisation
- Techniques of High-Performance Computing
- Research Software Engineering with Python
- Research Computing with C++
- Standard Data Analysis
Optional Modules (up to 30 credits)
Options include a wide selection of modules across UCL Engineering and UCL Mathematical & Physical Sciences.
Project/Dissertation (60 credits)
The MSc programme culminates in the scientific computing dissertation project. The projects are built around cutting edge research across the faculties of MAPS and Engineering. The supervisor will provide a topic that will enable the student to make a contribution to research in the field. Furthermore, the project provides a taste of what to expect as a postgraduate researcher or while working in an advanced industry. As part of the dissertation, students may submit documented code, including some unit testing, through a public repository.
- Frequently Asked Questions
Q. Is this a programming course?
A. While your programming will undoubtedly improve as a result of taking the MSc, the aim is to provide a fully rounded training in scientific computing including numerical methods, software engineering, use of high performance facilities.
Q. What background in programming do I need for the course?
A. It is assumed that all students will have undertaken some programming in a high level language. In the first term, you will take a course in Research Software Engineering with Python. This is not a first course on programming: it is assumed that you have prior knowledge of at least one programming language, and are comfortable with all the basic concepts of computer programming variables, control flow, and functions. We do not mind what language you already know – we will teach our research software engineering course using Python, but will introduce the language at the beginning of the course. But you must have programmed in something before!
If you are not confident that you could, for example, write a function to load a data file, with the filename as an input function, and then print out only the mean of the numbers in the second column, but including only those lines with an even number in the third column, then you need to prepare by studying some programming before you join us. To practice Python, you can try: http://introtopython.org.
Similarly in the second term, there is a course Research Computing with C++. This course will assume that you have some familiarity with C++. You do not need to learn the basics of C++ before starting the course but if needed you should do this during the first term of the Christmas vacation.
Q. What project can I choose?
A. The project can be in a very wide ranging choice of topics in physical science, mathematics, computer science, and engineering. It must contain an element of programming either in the form of a new program or as a significant addition to an existing code. It can be done using any computer language. A list of projects is provided but many students arrange their own projects by directly approaching academics in whose research they are interested.
Q. I have not done maths since school. Is this a problem?
A. This is a fairly formal course in scientific computing and includes masters levels modules in numerical methods, computation, and simulation. This course requires a background in university level mathematics so students should have continued their studies of mathematics with courses as part of their first degree which covers calculus, linear algebra, and analysis.
Q. Is this a course for physicists?
A. No. The course is run jointly between the Department of Physics and Astronomy (which acts as the admitting department) and the Department of Computer Science. We accept students with numerate degrees in physical science, mathematics, computer science, or engineering.
Q. I am interested in an MSc in Financial Mathematics or Computing, is this an MSc for me?
A. No. UCL offers specialist MSc courses in these topics and applicants interested in Finance should take these courses. This MSc is based on the use of computational methods to solve problems in science or engineering.
Q. What are the Graduate Outcomes after completion of the Programme?
A. Our alumni who successfully completed the programme last year have all moved on to pursue full-time employment with reputable international organisations holding prominent positions, including Data Scientists, Data and Software Developers, Software Engineers, Data Analysts, Qualitative Researchers or Technologists. Over half of the alumni indicated that attaining a qualification in Scientific and Data Intensive Computing helped them secure their current employment. In addition, a few alumni have also pursued further studies with top-ranking universities or have stayed at UCL to complete their PhD research. Similarly, those pursuing PhD research had indicated that the qualification had helped them to gain entrance into top-ranking universities. (Programme Graduate Outcome Survey, 2022.) Over half of the alumni agreed that they are utilising what they had learnt on the programme in their further studies or at the workplace (Programme Graduate Outcome Survey, 2022).
Entry Requirements
We are looking for motivated and inquisitive minds with backgrounds in science, engineering, or a related subject and with a strong interest in computing. Students should have taken some university levels mathematics courses as part of the undergraduate degree,
Academic Requirements
Normally a first-class bachelor's degree in mathematics, computer science, engineering, physical sciences, or a closely related subject is required. Alternative overseas qualifications are accepted.
Further information
There is further information on UCL's information for prospective students page, MSc in Scientific and Data Intensive Computing, including:
- International equivalent qualifications by country
- English language requirements for international applicants
- Latest tuition fees
How to Apply
The department is now open for applications for entry in September 2024, and applicants should apply online.
Deadline for applications: 29 March 2024
Students are advised to apply as early as possible due to the competition for places.