Understanding the security and privacy needs of software, and being able to rigorously demonstrate that those needs are met, is key to eliminating vulnerabilities that cause these issues. Students who take this course will learn the principles needed to make these assurances about software, and some of the key strategies used to make sure that they are correctly implemented in practice.
Lecture and project-based
Target audience (e.g. undergraduates, MS students, Ph.D. students)
- Undergraduate programming languages students
- Identify and formalize security and privacy policies.
- Understand formal proof and deductive systems.
- Understand how automated software security tools work.
- Apply rigorous techniques to achieve security and privacy.
- Understand trusted computing technologies.
- Understand web security threats & best practices.
Faculty and instructors who have taught this course in the past
Matt Fredrikson, Jean Yang, Bryan Parno