This course will focus on science of cybersecurity and topics in language-based information security: using programming language techniques and abstractions to specify, reason about, and enforce, information security. See the lecture schedule for more detailed information on topics covered.
The course will be a combination of lectures and paper discussion. We will focus primarily on recent papers, from the last 3-4 years.
For those taking the course for credit, evaluation will be based on class participation, and a final project. More information about the final project is available here. Auditors are welcome.
The course is intended for graduate students at all levels as well as advanced undergraduates. It is expected that students have taken a course in the foundations of programming languages, such as CS 152.
Discussion and the exchange of ideas are essential to academic work. For paper readings, assignments, in-class exercises, etc., you are encouraged to consult with your classmates, and to share sources. For the class project, you may work in groups, and work submitted for evaluation may be the result of the collaborative effort of your group. All members of the group should be clearly indicated to the course staff, and the course staff should be notified if group membership changes. The class project should be original research, and the same standards of professional conduct for publishable research apply to your class project.