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
| Course | Description | Instructor |
|---|---|---|
| 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
| Course | Description | Instructor |
|---|---|---|
| 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
| Course | Description | Instructor |
|---|---|---|
| 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.