INTRODUCTION TO SOFTWARE SECURITY
Teaches the security considerations that occur during all steps of the software development life cycle: methodologies for designing secure software, programming using secure programming techniques, in-depth vulnerability assessment methodologies, static and dynamic analysis tools for evaluating software security, and system defenses reducing security threats.
Prerequisites & course information
Requisites: COMP SCI 400 or 320 , graduate/professional standing, or declared in the Capstone Certificate in Computer Sciences for Professionals Course Designation: Level - Advanced L&S Credit - L&S Liberal Arts and Science Repeatable for Credit: No Last Taught: Spring 2026 Learning Outcomes: 1. Think like an attacker, that is to think about software the way that an adversary would. Audience: Undergraduate 2. Design secure programs based on a structured methodology such as Threat Modeling. Have security in mind before writing the first line of code. Audience: Undergraduate 3. Program in a secure way by mastering a comprehensive set of techniques for producing code that is more resilient to attack. Audience: Undergraduate 4. Think like a security analyst, that is how to perform an in-depth software vulnerability assessments using a structured methodology such as First Principles Vulnerability Assessment (FPVA). Acquire the skills of a security analyst. Audience: Undergraduate 5. Use a variety of automated tools that help statically and dynamically analyze code for security flaws. Audience: Undergraduate Learning Outcomes: 1. Think like an attacker, that is to think about software the way that an adversary would. Audience: Undergraduate 2. Design secure programs based on a structured methodology such as Threat Modeling. Have security in mind before writing the first line of code. Audience: Undergraduate 3. Program in a secure way by mastering a comprehensive set of techniques for producing code that is more resilient to attack. Audience: Undergraduate 4. Think like a security analyst, that is how to perform an in-depth software vulnerability assessments using a structured methodology such as First Principles Vulnerability Assessment (FPVA). Acquire the skills of a security analyst. Audience: Undergraduate 5. Use a variety of automated tools that help statically and dynamically analyze code for security flaws. Audience: Undergraduate
Sources
- Course catalogue ↗2026-2027