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 in science or engineering. It brings together best practice 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 the professional software development and high performance computing skills with 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 a professional software for their efficient solution.
The program aims to develop a comprehensive set of skills which 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 you knowledge in science subject of your choice, presentation skills both oral and in writing.
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 Organisation
- 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 build around the cutting edge research across the faculties of MAPS and Engineering. The supervisor will provide a topic which will enable the student to make a contribution to research in the field. Furthermore, the project provides the taste of what to expect as the 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.
We are looking for motivated and inquisitive minds with background 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,
An upper second class degree in mathematics, computer science, engineering, physical sciences or closely related subject is required. Alternative overseas qualifications are accepted.
There is further information on UCL's information for prospective students page, MSc Scientific 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 2019 and applicants should apply online.
Deadline for applications: 24 July 2020.
Students are advised to apply as early as possible due to competition for places.
- 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 provided 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 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 be 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 with 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 chose?
A. The project can be in a very wide ranging choice of topic 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 fairly formal course in scientific computing and includes masters levels modules in numerical methods, and computation and simulation. These course require a background in university level mathematics so students should have continued their studies of mathematics with courses as part of their first degree which cover 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 (who acts as the admitting department) and the Department of Computer Science. We accept students from numerate degrees in physical science, mathematics, computer science or engineering.