To outline the high-level considerations for producing good code
Tackling software complexity - recognize examples of strategies and tasks for minimizing software complexity. The people factor in programming - identify the characteristics of egoless programming. Defining software quality - recognize the software quality attributes for a given software application. The evolution of programming techniques - recognize the benefits of structured programming, OOP, and design by contract. Defensive programming - distinguish between examples of defensive programming techniques. Agile programming - identify the main tenets of Extreme Programming. Programming for success - recognize project implementations that are compatible with agile and defensive programming strategies.
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.