Software Foundations of Security & Privacy

Course Overview

Security and privacy issues in computer systems continue to be a pervasive issue in technology and society. 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. Topics include:

Students will also gain experience applying many of these techniques to write code that is secure by construction. However, the goal of the course is to teach students the principles and algorithms behind good security and privacy solutions, so they they can adapt and extend them in the future. In order to achieve this level of understanding, the course will cover a number of key ideas from logic and languages when developing the security topics above. These include:

Instructor: Matt Fredrikson

TA: Milijana Surbatovich

Lectures: TuTh 9:00-10:20am in HH B103


Lab 1 has been assigned, and is due on 10/25. The checkpoint is on 10/14. 10/4/19
Homework 2 has been assigned, and is due on 9/29. 9/19/19
Homework 1 has been assigned, and is due on 9/13. 9/1/19
Welcome! Use Gradescope entry code 9E62JE and the Piazza signup link to get started. 8/27/19