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

TAs: Urvi Agarwal, Ryan Chen

Lectures: TuTh 8:00-9:20am (remote, see Canvas for instructions)


Announcements

Homework 6 has been assigned, and is due on 12/11 at 11:59pm. 11/30/20
Lab 3 has been assigned, and is due on 12/11 at 11:59pm. 11/30/20
Homework 5 has been assigned, and is due on 11/24 at 11:59pm. 11/16/20
Lab 2 has been assigned, and is due on 12/1 at 11:59pm. 11/11/20
Homework 4 has been assigned, and is due on 11/9 at 11:59pm. 10/30/20
Lab 1 has been assigned. The first checkpoint is on 10/27, and the final deadline is 11/5. 10/18/20
Homework 3 has been assigned, and is due on 10/8 at 11:59pm. 9/21/20
Homework 2 has been assigned, and is due on 9/28 at 11:59pm. 9/21/20
Homework 1 has been assigned, and is due on 9/11 at 11:59pm. 9/1/20