title | layout | slidelink |
---|---|---|
Research Software Engineering with C++ |
default |
false |
In this course, we build on your knowledge of C++ to enable you to work on complex numerical codes for research. Research software needs to handle complex mathematics quickly, so the course focuses on writing software to perform multi-threaded computation. But research software is also very complicated, so the course also focuses on techniques which will enable you to build software which is easy for colleagues to understand and adapt.
-
Prior knowledge of C++, see below.
-
You should understand how your compiler toolchain works.
-
You must also understand how to use a Unix style terminal, including commands such as
ls
,cd
and creating and editing files in a text editor of your choice. -
We have provided setup instructions for installing the software needed for the course on your computer.
-
Eligibility: This course designed for UCL post-graduate students but with agreement of their course tutor a limited number of undegraduate students can also take it.
Your C++ knowledge should include:
- Compiling a library, using CMake.
- Testing and debugging
- Arrays and structures
- Containers
- Classes
- Operator overloading
- Inheritance and polymorphism
This could be obtained through online resources such as the the C++ Essential Training course by Bill Weinman on LinkedIn Learning (accessable using your UCL single sign-on) or via a variety of C++ courses in college, such as MPHYGB24.
Members of doctoral training schools, or Masters courses who offer this module as part of their programme should register through their course organisers.
This course may not be audited without the prior permission of the course organiser Dr. Jim Dobson as due to the practical nature of the lectures there is a cap on the total number of students who can enroll.
##Synopsis
This year we propose to cover the following topics. These notes will be updated as we go through the course.
|
|
|
|
|
|
|
|
|
|
You can find the course notes as HTML via the navigation bar to the left.
The notes are also available in a printable pdf format.