Courses

UVM offers a full sequence of courses in security and privacy, taught by the Center's faculty and grounded in their research. Undergraduates typically start with CS 2660 and continue to the 3000-level courses in data privacy, secure computation, cryptography, and network security. MS and PhD students take the 5000- and 6000-level courses and can join research seminars. Descriptions below are summaries; the linked UVM Catalogue is authoritative for prerequisites and offerings.

Undergraduate

CourseDescriptionInstructor
CS 2660
Cybersecurity Principles
Introduction to cybersecurity: fundamental security design principles, programming flaws and malicious code, web and database security, cryptographic algorithms and hash functions, and an overview of computer networks and common network threats.
Prerequisites: CS 2210 (C- or better)
James Eddy
CS 3110
Data Privacy
How to learn from sensitive data while protecting the individuals it describes. Attacks on anonymized data, k-anonymity and its limits, and the theory and practice of differential privacy, with programming assignments on real data.
Prerequisites: CS 2240, CS 2250
Joseph Near
CS 3120
Secure Distributed Computation
Computing on data that no single party is allowed to see: secure multiparty computation, homomorphic encryption, zero-knowledge proofs, blockchains, and encrypted databases.
Prerequisites: CS 2240, CS 2250
Joseph Near
CS 3559
Cryptography
Classical and modern cryptography and the strengths and weaknesses of specific systems: RSA, ElGamal, elliptic-curve cryptosystems, digital signatures, and key exchange. Cross-listed with Mathematics.
Prerequisites: MATH 2055 or CS 1640; MATH 2248, 2522, or 2544
Christelle Vincent
CS 3650
Computer Networks
Architecture and protocols of the Internet, including the network security protocols that protect it. Christian Skalka
CS 3660
Network Security and Cryptography
Security and secrecy in a networked environment: public- and private-key cryptography, authentication and trusted agents, digital signatures, and privacy.
Prerequisites: CS 2240
Laura Marthaler

Graduate

CourseDescriptionInstructor
CS 5110
Advanced Data Privacy
Graduate treatment of data privacy: differential privacy foundations, mechanisms for analytics and machine learning, and the systems that enforce them. Taught alongside CS 3110 with additional graduate-level work. Joseph Near
CS 5120
Advanced Secure Distributed Computation
Graduate treatment of secure multiparty computation, homomorphic encryption, and zero-knowledge proofs, taught alongside CS 3120 with additional graduate-level work. Joseph Near
CS 6550
Usable Privacy and Security
Human factors in privacy and security: how people understand and use privacy controls, how to design and evaluate privacy-enhancing technologies, and methods from human-computer interaction for studying them. Yuanyuan Feng

Special topics

CourseDescriptionInstructor
CS 3990 / CS 5990
Special Topics in Security and Privacy
Rotating special-topics courses drawn from current research, such as Computer Security Foundations (language-based security, information flow, authorization logics) and Software Verification (proof assistants and certified software).
Prerequisites: Varies
—

Degree pathways

These courses count toward the B.S. and B.A. in Computer Science and the M.S. and Ph.D. in Computer Science. UVM juniors can apply to the Accelerated Master's Program to complete the M.S. with one additional year; see the graduate catalogue for details. See Join Us for how to build a security and privacy focus into each degree.