Designing and Writing Efficient Programs

1 day aimed at participants with some experience of programming to introduce key skills of the programmer’s tool kit. The hands-on day will cover good programming practice: design, modularity, reuse, version control, documentation and testing.
This is followed by overviews of debugging, profiling, optimisation and compiler flags – for fuller training on these please see the “Profiling”, “Introduction to Optimisation”, “Introduction to Parallelism” and the OpenMP & MPI course modules.
Hands-on examples will allow participants to practise use of a debugger, of a profiler and to see how compiler flags can be used to improve performance. Successful completion of this course, provides the researcher with a tool kit, and the knowledge to use it, to solve programming problems during their career.

Related Training