#IT-02-30 Defensive Programming and Debugging
About CoursePartnership for Advanced Computing in Europe
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.
- 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
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
Welcome to the course
Welcome to Defensive programming and debugging00:00:00
Prerequisites and structure of the course
Set up the technical environment
Impact of bugs
Best practices in coding
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++
Getting help from your development environment
Introduction to documentation
Documentation best practices: reading material
API documentation: Fortran00:09:00
API documentation: C/C++00:06:21
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.