Lectures
(Note this is a rough schedule and things are subject to change.)
-
Intro: Introduction and Course Overview
This lecture will give a high-level overview of the course, including topics covered, learning goals, and course mechanics. -
No recitation
: No Recitation
-
Intro: Crypto Refresher and Secure Cryptographic Coding
-
Intro: Attacks
Reminders and generalizations | Reading: | Optional Reading: -
Recitation: Build It; Break It; Fix It -- Overview and Introductions
We will discuss the details of the first homework assignment. There will also be time for homework groups to meet and make plans for the assignment. Time permitting, there will be general Q&A about the weeks' topics. -
Run-Time: Dynamic Taint Tracking
| Reading: | Optional Reading: -
Run-Time: Control-Flow Integrity (CFI)
| Reading: -
Recitation: Open Q&A
Please bring any questions you have about this week's lectures. -
Run-Time: Enforceable Properties
| Reading: | Optional Reading: -
Run-Time: Enforceable Properties (Continued)
-
Recitation: Open Q&A
Please bring any questions you have about this week's lectures. -
Code Analysis: Fuzzing
| Optional Reading: -
Code Analysis: Static Analysis
| Reading: | Optional Reading: -
Recitation: Open Q&A
Please bring any questions you have about this week's lectures. -
Code Analysis: Symbolic Execution
| Reading: | Optional Reading: -
Code Analysis: Model Checking
| Reading: | Optional Reading: -
Review: Exam 1 review
This will be a review session. Please think ahead of time what questions you may have. -
Exam: 1
We will have the first exam of the course. This will be a closed book, closed notes, closed neighbor exam. -
Architecture: Separation Mechanisms
| Reading: | Optional Reading: -
Mid-Semester Break
: No Recitation
-
Mid-Semester Break
: No Class
-
Mid-Semester Break
: No Class
-
Mid-Semester Break
: No Recitation
-
Architecture: Separation Challenges
| Reading: -
Architecture: Separation Policies
| Reading: | Optional Reading: -
Recitation: Open Q&A
Please bring any questions you have about this week's lectures. -
Architecture: Trusted Computing
| Reading: | Optional Reading: -
Languages: Programmer Assisted Verification - Part 1
| Reading: -
Review: Exam 2 review
This will be a review session. Please think ahead of time what questions you may have. -
Exam: 2
We will have the second exam of the course. This will be a closed book, closed notes, closed neighbor exam. -
Languages: Programmer Assisted Verification - Part 2
| Reading: -
Recitation: Dafny Practice
We will work through a variety of Dafny problems to help you prepare for the last two homework assignments. -
Languages: Type Systems
-
Languages: Type Systems (continued) and Non-Interference
| Reading: -
Spring Carnival
: No Recitation
-
Languages: Non-Interference (continued)
-
Languages: Typed Assembly Language
| Reading: -
Recitation: Open Q&A
Please bring any questions you have about this week's lectures. -
Languages: WebAssembly
| Reading: | Optional Reading: -
: Usability
-
Review: Exam 3 review
This will be a review session. Please think ahead of time what questions you may have. -
Exam: 3
We will have the third exam of the course. This will be a closed book, closed notes, closed neighbor exam. -
No recitation
: No Recitation