This course discusses how to incorporate security throughout the software development lifecycle. The main topics include threats to the software, software vulnerabilities, risk management, security requirements, secure design principles and patterns, an overview of secure programming and security testing. Prerequisite: Graduate student standing. (F;S;SS)