Defensive Programming Literacy (Beginner Level)

  • 20m
  • 20 questions
The Defensive Programming Literacy (Beginner Level) benchmark evaluates your knowledge of fundamental defensive programming concepts and practices, cryptography concepts, and how to implement them in code. You will be assessed on your skills in applying specific defensive coding techniques such as exception handling, parameter checking, validation, component trust, and reuse. Learners who score high on this benchmark demonstrate that they have the skills to apply defensive and cryptographic techniques in programs.

Topics covered

  • apply defensive coding
  • apply exception handling effectively
  • apply parameter checking
  • apply the Flaw Hypothesis Method
  • describe basic cryptography applications to confidentiality and integrity
  • describe basic cryptography concepts, cryptography types, and applications
  • describe CDI/UDI, why it is important and how it should be done
  • describe component trust including when and how to achieve trust of components
  • describe how to reuse code effectively and defensively
  • describe reliability, resiliency, and recoverability and how it can be achieved in software engineering
  • describe the first five CERT Top 10 secure coding practices - Validate input, Heed compiler warnings, Architect and design for security, Keep it simple, and the Default deny
  • describe the last five CERT Top 10 secure coding practices - Adhere to the principle of least privilege, Sanitize data sent to other systems, Practice defense in depth, Use effective quality assurance techniques, and Adopt a secure coding standard
  • describe the role of Six Sigma in producing better quality, secure programming
  • identify general defensive concepts
  • use C# Cryptography
  • use C# validation
  • use Java Cryptography
  • use Java exception handling
  • use JavaScript validation
  • use Python exception handling