4.75(4)

#IT-02-30 Defensive Programming and Debugging

  • Categories IT
  • Duration 13h
  • Total Enrolled 8
  • Last Update January 9, 2021

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

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.

Student Feedback

4.8

Total 4 Ratings

5
3 ratings
4
1 rating
3
0 rating
2
0 rating
1
0 rating

My favorite part of the course was learning how to use the best tools available, including a debugger and a code parser, to find bugs in your code. I also learned about parallel programs and explored tools for debugging parallel code on a large scale. Cool!

I have to say that in this course I learned examples written in the C and Fortran programming languages and learned how to use compiler features and write tests for code to catch errors early. Not bad.

This course teaches us how to reduce errors during software development. It's a very practical course.

In this course, I can learn how to identify and solve software errors in the code, which helps me improve my ability to identify and fix code errors. Good.

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.