We may earn an affiliate commission when you visit our partners.
Course image
Geert Jan Bex, Ingrid Barcena, Mag Selwa, and Yulia Kallistratova

Topics Covered

  • 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

Save this course

Save Defensive Programming and Debugging to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Defensive Programming and Debugging. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Defensive Programming and Debugging will develop knowledge and skills that may be useful to these careers:

Reading list

We haven't picked any books for this reading list yet.
Provides a collection of practical tips and techniques for debugging Python code, covering common issues and pitfalls.
This beginner-friendly book introduces the basic concepts of debugging and provides step-by-step instructions for debugging common problems in various programming languages.
Comprehensive guide to using the debugging features of Microsoft Visual Studio, covering topics such as setting breakpoints, examining call stacks, and using diagnostic tools.
Provides a comprehensive overview of the underlying principles of debugging and describes various advanced techniques used in practice. It is suitable for readers with some prior knowledge of debugging.
This advanced guide to GDB covers advanced topics such as debugging multi-threaded programs, debugging user-space programs, and using GDB with hardware debugging tools.
Provides a comprehensive overview of the debugging techniques and tools for PHP code.
Provides a comprehensive overview of debugging techniques and practices, covering both general principles and specific tools. It is an excellent resource for both beginners and experienced developers.
This classic textbook provides a thorough introduction to computer architecture, covering topics such as processor design, memory hierarchies, and I/O systems. Understanding computer architecture principles is essential for optimizing code performance.
Explores advanced techniques for compiler optimization, with a focus on dependence analysis and parallelization. Understanding compiler optimizations can provide insights into how code is transformed and optimized at the compiler level.
Similarly to the previous entry, this book introduces the Go programming language, which is designed for high performance and concurrency. Understanding Go's concurrencyモデル and memory management can aid in writing efficient and scalable code.
Focuses on optimization techniques specific to the C++ programming language. Written by an expert in C++ optimization, the book provides practical guidance and insights for writing efficient and high-performance C++ code.
Provides an in-depth explanation of modern Fortran, a language that is particularly suitable for high-performance scientific computing. Understanding Fortran's features and capabilities can enable developers to write highly optimized code for scientific applications.
Covers performance optimization techniques for Python code. It provides practical guidance on identifying and eliminating performance bottlenecks, as well as optimizing for specific hardware and software environments.
While not explicitly focused on code optimization, this book provides a comprehensive introduction to the Rust programming language, which is known for its emphasis on performance and memory safety. Understanding Rust's design principles and features can contribute to writing more efficient and optimized code.
Provides a comprehensive overview of code optimization techniques, covering both theoretical foundations and practical implementation. Co-authored by distinguished computer scientists and pioneers in the field, this foundational book in the study of code optimization.
While not directly focused on code optimization, this book provides a comprehensive guide to software development best practices. Understanding software design principles and coding conventions can contribute to writing maintainable and efficient code.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser