Autumn 2021
University of Washington
This course covers a wide range of computer security topics, including software security, cryptography, web security, malware, and physical security. It encourages a "security mindset" while requiring a firm understanding of computer science fundamentals and command-line Unix development environment.
In this course, we will cover topics including: the "security mindset", threat modeling, software security, cryptography, malware, web security, web privacy, smartphone security, authentication, usable security, anonymity, physical security, and security for emerging technologies.
CSE 332 and CSE 351
You should have maturity in both the mathematics of computer science and in the engineering of computer systems. This means that you should: have a good understanding of data structures and algorithms; be comfortable writing programs from scratch in C and Java; be comfortable writing and debugging assembly code; and be comfortable in a command-line Unix development environment (gdb, gcc, etc). You should also have a good understanding of computer architecture, operating systems, and computer networks. Most importantly, you should be eager to challenge yourself and learn more!
No data.
In previous quarters we've used "Foundations of Security: What Every Programmer Needs to Know, Daswani, Kern, and Kesavan, ISBN 1-59059-784-2. This quarter we are not using an official textbook, and are instead using various freely available readings. We will be using some readings from Security Engineering of which the 2nd edition is freely available on the author's webpage
Lecture slides available at Schedule
No videos available
Homeworks and labs available at Assignments
Readings available at Schedule and Assignments
Sections available at Sections