This course covers principles and techniques to improve the security of software. Secure software engineering principles using software development life cycle models are explored. Popular programming languages, vulnerabilities in the languages, execution platforms, compiler provisions, secure libraries, and cryptographic API are covered. Students will analyze code for vulnerabilities and design code to enhance security by exploiting security provisions at compile-time and run-time as well as use cryptographic API. Offered alternate years.
Prerequisites
Term Offered
Spring Only