CS 356 Computer Security • 5 Cr.


This course covers the principles and practice of computer security using a hands-on approach. Participants will learn about techniques, methodologies and processes for the development of efficient and secure software. In addition, the course also covers security development processes, threat modeling, common software vulnerabilities, web site vulnerabilities, defensive coding practices, and security testing. Prerequisite: CS 341.


After completing this class, students should be able to:

  • Apply core computer security concepts to computing systems design, implementation, and operation.
  • Identify the appropriate computer security policies, defense mechanism(s) and its limitations given a different threat.
  • Evaluate the computer network and information security needs of an organization.
  • Develop contingency planning, risk assessment, risk management and compliance standards for various businesses.
  • Troubleshoot, maintain and update an enterprise-level information security system.
  • Apply, evaluate and classify appropriate security and penetration testing techniques to obtain results of testing
  • Describe the cost and tradeoffs associated with designing security into a product.
  • Describe and apply appropriate cryptographic techniques and list ways it is used in data communications.
  • Identify the risks and benefits of outsourcing to the cloud.