Secure Software Development

Course Description

Learn good practice and techniques for developing software in a way that prevents the inadvertent introduction of security vulnerabilities in mobile, enterprise, web-based and embedded software systems. This three-day course contains a mix of lecture and hand-on exercises that emphasize not only the development of code that is secure, but as a result of the application of secure coding techniques, is maintainable and resilient.

Course ID: DEF 4655P
Course Format: Classroom

Available Classroom Sections

Start Date End Date Registration Deadline Format Location Cost CRN
Section Details Aug 28, 2018 Aug 30, 2018 Tuesday, August 28, 2018 - 23:59 Classroom Atlanta, Georgia $1,695 18319

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.




  • Programming experience with C, HTML, and Java

Who Should Attend

Hands on managers, lead engineers and software developers that are interested in learning the theory and practice of developing maintainable, robust and secure software.

How You Will Benefit

  • Develop foundational knowledge of the concepts, techniques and standards that guides the development of software that reduces the risk of deploying code that contains exploitable vulnerabilities.
  • Learn good design principle and practice for developing software systems that are secure and robust.
  • Understand techniques for conducting static code analysis and reviews that seek to identify vulnerabilities in legacy code and code under development.
  • Learn techniques for securing legacy software systems.
  • Develop good working knowledge of techniques for securing data at rest and in motion.


  • Background, impetus and concepts for developing secure code
  • Introduction of the top secure coding standards for enterprise, embedded and web-based software systems
  • Incorporating secure coding practices into the Software Development Lifecycle
  • Good practice for designing secure software systems
  • Techniques for conducting static analysis and code reviews with the goal of identifying security flaws
  • Hands-on exercise for finding the bugs in source code
  • Survey of software testing principles aiding the development of secure code
  • Introduction to software security for embedded software systems
  • Overview of embedded code security vulnerabilities
  • Workshop focused on understanding and securing against dynamic memory attacks
  • Developing defensive embedded software architectures
  • Techniques for securing data at rest and in motion
  • Hands-on exercise looking at hashing and encryption techniques
  • Techniques for adding security to deployed software systems
  • Introduction of software security for Enterprise and Web applications
  • Overview of Enterprise and Web application security flaws and vulnerabilities
  • Workshop providing hands-on understanding of Cross Site Scripting and SQL Injection vulnerabilities
  • Developing Enterprise and Web application architectures that reduce security risks
  • Workshop focused on buffer exploitations
  • Overview of Mobile Device security
  • Hands-on exercise exploring malicious code injection vulnerabilities of mobile devices

For Course-Related Questions

Please contact the course administrator: Renita Folds