Dawn Song (675 Soda Hall)
Chia Yuan Cho
MW 4:00-5:30P 277 Cory
Tue 10:00am - 11:00 am (75 Evans)
Tue 11:00am - 12:00 pm (75 Evans)
Thr 5:00pm - 6:00pm (310 Soda)
Thu 1:00-2:00 pm (TA) (611, Soda)
Fri 1:00-2:00 pm (TA) (751, Soda)
The course syllabus includes information on lecture topics, readings, and assignment related deadlines.
In this class you will learn how to design secure systems and write secure code. You will learn how to find vulnerabilities in code and how to design software systems that limit the impact of security vulnerabilities. We will focus on principles for building secure systems and give many real world examples. In addition, the course will cover topics such as:
Course homework and labs will help students practice the concepts and techniques learned in class, such as how to find vulnerabilities and how to fix them. The labs and projects are designed to help students practice the principles of secure system design.
You must have taken CS 61C (Machine Structures). Also, you must have taken either Math 55 or CS 70 (Discrete Mathematics).
There will be 6 labs and 2 midterms. There will be no final exam. Details will be announced in class.
This class does not have a required textbook. We will provide lecture notes, slides and videos for material covered (when applicable).
From time to time, we may discuss vulnerabilities in computer systems. This is not intended as an invitation to go exploit those vulnerabilities! It is important that we be able to discuss real-world experience candidly; everyone is expected to behave responsibly. Breaking into other people's systems is inappropriate, and the existence of a security hole is no excuse.