Secure Programming in C and C++

  • Overview
  • Course Content
  • Requirements & Materials

Secure Programming in C and C++

Course Description

Frequently exploited software vulnerabilities are often caused by avoidable software defects. In this course, you will examine multiple examples of insecure code and learn steps that can be taken to prevent future problems. The course concentrates specifically on how these issues arise in the C and C++ languages, as well as their associated libraries. It also includes coverage of material presented in the SEI CERT C and C++ Coding Standard. The course assumes basic C and C++ knowledge, but does not assume a deep understanding of software security. Hands-on exercises reinforce concepts and provide practice using techniques. The material presented covers a variety of environments including Visual Studio on Windows and GCC/Clang on Linux.

Course Content


  • Introduction to security
  • X86 architecture and vulnerabilities


  • Common errors
  • Error handling and recovery
  • Strings and buffers
  • Pointer safety
  • Dynamic memory management
  • Concurrency


  • Dynamic and static analysis tools
  • Testing strategies
Requirements & Materials



  • Familiarity with C or C++ programming



  • Georgia Tech will provide a laptop with lab materials for use during the class

Session Details

  • Special Discounts: Georgia Tech Research Institute (GTRI) employees are eligible to receive a discount.  If you are a GTRI employee, please go to the Organizational Development website and look for the coupon code under GT Professional Development. Review coupon instructions for more information.

Who Should Attend

This course is designed for C and C++ software developers who are interested in the fundamentals of designing and developing secure software. This platform-agnostic course will be useful for any C and C++ programmers looking to reduce software vulnerabilities in their programs.

Coding boot camp professional working on laptop

What You Will Learn

  • An introduction of basic exploits used by attackers
  • How to recognize and correct common programming errors
  • How to avoid common buffer overflow vulnerabilities
  • How to avoid common dynamic memory management security issues
  • How to safely deal with concurrency
  • How to make use of available software tools to detect potential code issues
  • An introduction of basic exploits used by attackers
Cybersecurity professional working on computer

How You Will Benefit

  • Develop an understanding of vulnerabilities in a variety of platforms, frameworks, and libraries.
  • Avoid common errors that complicate debugging.
  • Recognize software vulnerabilities and improve security in C and C++ programs.
  • Write code that adheres to the SEI CERT C and C++ Coding Standard.
  • Taught by Experts in the Field icon
    Taught by Experts in the Field
  • Grow Your Professional Network icon
    Grow Your Professional Network

The course schedule was well-structured with a mix of lectures, class discussions, and hands-on exercises led by knowledgeable and engaging instructors.

- Abe Kani


We enable employers to provide specialized, on-location training on their own timetables. Our world-renowned experts can create unique content that meets your employees' specific needs. We also have the ability to deliver courses via web conferencing or on-demand online videos. For 15 or more students, it is more cost-effective for us to come to you.

  • Save Money
  • Flexible Schedule
  • Group Training
  • Customize Content
  • On-Site Training
  • Earn a Certificate
Learn More

Want to learn more about this course?