Skip to 0 minutes and 7 secondsWelcome to the course on defensive programming and debugging. We think it will be useful and we hope you'll also have some fun. So, you may wonder why we decided to create this course, and the answer is quite simple. Any non-trivial software contains bugs. Finding them, fixing them is time consuming, it's frustrating, and you'll actually want to spend that time more pleasantly. In the first week, we'll help you set up your environment so that you can follow along, do the exercises, and experiment. We'll discuss code quality because that's an important aspect that helps you avoid bugs in the first place. We'll also discuss documentation, because using software correctly will actually help you avoid a lot of problems.

Skip to 1 minute and 5 secondsIn the second week, we will concentrate on testing. That will hopefully increase the confidence you have in your code. We'll also talk about compilers, because those are your best friends for finding problems early. However, there will be bugs in your code. So in the third week, we'll discuss debuggers that help you track down those bugs. We'll also discuss verification tools to deal, for instance, with memory leaks and all the memory related issues. In the fourth week, things get more sophisticated because then we'll be discussing bugs in parallel code. You'll need professional tools in order to actually find those. Parallel programming comes with its own problems, like data races and deadlocks, and we'll discuss verification tools for those purposes as well.

Skip to 2 minutes and 9 secondsIn the fifth week, we'll give you an overview of the types of bugs may encounter. And then it's your turn, with a few more sophisticated exercises, to hone your skills.

Skip to 2 minutes and 23 secondsSo, the material consists of videos, screen casts, reading material, and each week ends with additional material which you can use to deepen your knowledge. Of course, there are also quizzes and exercises for you to assess how well you master the various subjects. We hope that you will participate in the online discussions since we all want to learn from your questions and answers. In short, welcome to this course, and have fun.

Welcome to Defensive programming and debugging

Dr. Geert Jan Bex, lead educator of Defensive Programming and Debugging introduces the course and gives an overview of the content of each of the 5 weeks.

He also presents the different type of materials this course uses to help you in your learning journey:

  • Videos
  • Reading material
  • Quizzes and tests
  • Discussions

In short, welcome to this course, and have fun!

About us

The lead educator, Geert Jan Bex is HPC analyst/consultant at Hasselt University and University of Leuven.

The other educators are:

Mag Selwa is an HPC consultant at University of Leuven.

Ingrid Barcena is an HPC consultant at University of Leuven.

Be sure to view their profiles and follow them so you can keep track in the course discussions.

Discussions points

To start let us and the rest of your fellow students know who you are and why you are joining this course:

  • What is your background?
  • Why do you want to learn debugging techniques?
  • Do you have experience doing it?
  • Are there specific topics that you would like to learn?

Share this video:

This video is from the free online course:

Defensive Programming and Debugging

Partnership for Advanced Computing in Europe (PRACE)