- Platform
- FutureLearn
- Provider
- Partnership for Advanced Computing in Europe (PRACE)
- Effort
- 4 hours/week
- Length
- 5 weeks
- Language
- English
- Credentials
- Paid Certificate Available
- Course Link
Overview
Learn how to keep your code clean and bug-free
Identifying and fixing bugs in code often proves difficult.
On this course, you’ll discover tools and techniques to minimise the number of bugs during software development.
You’ll learn how to catch bugs early using compiler features and writing tests for your code.
You’ll find out how to pinpoint bugs in your code using the best tools available including debuggers, code analysers and more.
You’ll look at parallel programs and explore tools for debugging parallel code at scale.
By the end of the course, you’ll feel confident writing high-quality code that is clean, robust and easy to maintain.
This is an intermediate level course aimed at people with some programming experience. Although examples will be given in C and Fortran, the principles (and most of the tools) are transferable to other programming languages.
What topics will you cover?
Geert Jan Bex
Learn how to keep your code clean and bug-free
Identifying and fixing bugs in code often proves difficult.
On this course, you’ll discover tools and techniques to minimise the number of bugs during software development.
You’ll learn how to catch bugs early using compiler features and writing tests for your code.
You’ll find out how to pinpoint bugs in your code using the best tools available including debuggers, code analysers and more.
You’ll look at parallel programs and explore tools for debugging parallel code at scale.
By the end of the course, you’ll feel confident writing high-quality code that is clean, robust and easy to maintain.
This is an intermediate level course aimed at people with some programming experience. Although examples will be given in C and Fortran, the principles (and most of the tools) are transferable to other programming languages.
What topics will you cover?
- Defensive programming: the use of good coding style, documentation strategies and good code testing
- Preventing bugs: how to use compiler flags and static code checkers to identify bugs in an early stage
- Finding bugs: debugging concepts and technics
- Using the debugging tools GDB and Valgrind to fix serial programs
- Debugging parallel code: using Intel Inspector and ITAC
Geert Jan Bex