Published: July 22, 2026
Read: 3 min
In: News & Society


0(0)

Defensive Programming and Debugging

  • Categories
    IT
  • Duration
    13h
  • Total Enrolled
    0
  • Last Update
    December 8, 2020

About Course

Partnership for Advanced Computing in Europe

Description

Learn how to identify and solve software bugs in your code

Want to improve your ability to identify and fix bugs in code?

On this course, you’ll discover how to reduce bugs during software development. You’ll learn with examples in both C and Fortran programming languages and understand how to catch bugs early using compiler features and writing tests for your code.

You’ll learn to find the bugs in your code using the best tools available including debuggers and code analysers. You’ll also 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 and clean code.

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

Who will you learn with?

Geert Jan Bex

HPC analist/consultant at Hasselt University and University of Leuven.

 

 

Mag Selwa

During my physics studies I got interested in research in computational physics/astrophysics. After several postdoctoral positions I joined VSC and I stay close to science by supporting our HPC users.

 

Ingrid Barcena

I have been for more than 20 years helping users to take the most of the HPC systems. Since 2013 I work at the HPC User Support Team at KU Leuven.

 

 

Who developed the course?

Partnership for Advanced Computing in Europe (PRACE)

The Partnership for Advanced Computing in Europe (PRACE) is an international non-profit association with its seat in Brussels.

What Will I Learn?

  • Develop good written software codes
  • Produce clear and useful software documentation
  • Identify software bugs
  • Solve software bugs

Topics for this course

19 Lessons13h


Welcome to the course?

We will introduce the course and the educators, give you a chance to introduce yourself and prepare the technical environment needed to complete the course
Welcome to Defensive programming and debugging00:00:00

Prerequisites and structure of the course

Set up the technical environment

Impact of bugs

Draft Lesson


Best practices in coding?

Learn how to produce well writen code
Introduction to best coding practices

Coding best practices: reading material

Best practices coding: Fortran00:06:38

Error handling in Fortran

Best practices in coding: C/C++00:06:22

Error handling in C/C++

Assertions

Code obfuscation00:02:54

Getting help from your development environment


Documentation?

Documenting code properly is necessary as it can help to reduce bugs. In this section you will learn best practices and tools that will help you to good document your software.
Introduction to documentation

Documentation best practices: reading material

API documentation: Fortran00:09:00

API documentation: C/C++00:06:21

Application/Library documentation

USD$130 USD$29

Material Includes

  • Official Certificate

Target Audience

  • 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.