Course description

Lecture notes







CS 380S - Theory and Practice of Secure Systems (54910)

Fall 2009

Course description

This course covers selected topics in system and network security, focusing in particular on (i) design and analysis of secure software systems, and (ii) privacy and privacy-enhancing technologies. Topics include, but are not limited to:
  • Software security
    • Vulnerabilities and attacks on software systems
    • Verification and analysis of secure software
  • Privacy
    • Theoretical models of privacy
    • Introduction to secure multi-party computation
    • Database privacy and privacy-preserving data mining
This is a project-oriented course. Students are expected to complete an independent project. A project may involve a significant implementation, using an analysis tool to investigate security of a real-world software system, or a substantial theoretical study.


While there are no formal prerequisites for this course, students are expected to have the basic understanding of the following areas:
  • Computer systems (at the level of an undergraduate operating systems course);
  • Fundamental concepts in cryptography (such as cryptographically strong hash functions and public-key cryptosystems); and
  • Basic complexity theory (at the level of an undergraduate course in the theory of computation).
Course assignments, including homeworks, will involve reading and understanding state-of-the-art research papers in computer security.