CSE 484/M584: Computer Security (Spring 2025)

Site is currently being updated, nothing here is final!

Note: We do not allow signing up for 484 after the first week without explicit instructor approval. Joining after the first week may result in 0s on some assignments.


Course Location and Time


Course Staff

Instructor: Prof. David Kohlbrenner (dkohlbre@cs)

Teaching Assistants:

Email everyone (preferred method to reach staff): cse484-staff@cs.washington.edu


Discussion Board

Ed Discussion Board


Office Hours


Assignments and Handins

We use Gradescope for all assignments.


No Textbook

We do not have a required textbook. In previous quarters we've used "Foundations of Security: What Every Programmer Needs to Know, Daswani, Kern, and Kesavan, ISBN 1-59059-784-2. If you'd like to use one, that is the one we recommend.
Also a good option is Security Engineering of which the 2nd edition is freely available on the author's webpage.


Topics

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.

For more details, see the course schedule.


Prerequisites

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 in an imperative language (ideally C or C++); 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!