#IT-02-30 Defensive Programming and Debugging
-
by Start Smart
- Course level: All Levels
-
Share:
- Categories IT
- Duration 13h
- Total Enrolled 8
- Last Update January 9, 2021
About Course
Partnership for Advanced Computing in EuropeDescription
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?
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.
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?
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
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
Draft Lesson
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++
Assertions
Code obfuscation00:02:54
Getting help from your development environment
Documentation?
Introduction to documentation
Documentation best practices: reading material
API documentation: Fortran00:09:00
API documentation: C/C++00:06:21
Application/Library documentation
Student Feedback
4.8
Total 4 Ratings
4 years ago
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!
4 years ago
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.
4 years ago
This course teaches us how to reduce errors during software development. It's a very practical course.
4 years ago
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.
Material Includes
- Official Certificate
Login
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.