• Online, Self-Paced
Course Description

Defensive Programming, model-view-controller (MVC), and domain-driven design (DDD) are software development techniques that can be leveraged to create clean code. In this course you'll learn about these techniques.

Learning Objectives

Defensive Programming

  • start the course
  • define defensive programming and its basic philosophy
  • specify techniques used in defensive programming
  • describe secure programming and how it relates to defensive programming
  • describe offensive programming and how it relates to defensive programming
  • specify how and why ISC can be reused

Model-view-controller (MVC)

  • define MVC and how it relates to clean coding
  • describe the purpose of MVC
  • specify how MVC can be implemented
  • list the pros and cons of MVC
  • describe how the MVC paradigm is illustrated by traditional web design
  • describe the availability of MVC frameworks for different languages

Domain-driven Design (DDD)

  • describe DDD and how it relates to clean coding
  • define the process of DDD
  • describe pros and cons of implementing DDD

Practice: Defensive Programming and MVC

  • describe defensive programming and MVC and how they contribute to clean coding

Framework Connections

The materials within this course focus on the Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.