Course Catalog Description: This course primarily focuses on security throughout the software development lifecycle. This means knowing and understanding common risks (including implementation bugs and architectural flaws), designing for security, and subjecting all software artifacts to thorough, objective risk analyses and testing.

Required Text:

  • Threat Modeling, Designing for Security by Adam Shostack, Paperback: 624 pages, Publisher: Wiley; 1 edition (February 17, 2014)ISBN-10: 1118809998, ISBN-13: 978-1118809990

Prerequisites: ICS 111 or equivalent

Student Learning Outcomes

  1. Produce software components that satisfy their functional requirements without introducing vulnerabilities [Secure Programming Practices] (ILO 3, 4; BASLO 1, 3; ISALO 1, 2).
  2. Describe the characteristics of secure programming [Secure Programming Practices] (ILO 1, 3, 4; BASLO 1, 3; ISALO 1, 2, 3).
  3. Identify and describe characteristics of malware [Vulnerability Analysis] (ILO 1, 3, 4; BASLO 1, 3; ISALO 1, 2).
  4. Apply tools and techniques for identifying vulnerabilities [Vulnerability Analysis] (ILO 1, 3, 4; BASLO 1, 3; ISALO 1, 2, 3).