About CS 3110 A
Explores the research field of data privacy, including privacy attacks on anonymized data, and formal approaches like k-Anonymity and differential privacy. Applies the theory of data privacy to real problems in programming projects. Credit not awarded for both CS 3110 and CS 5110 Prerequisites: CS 2240, CS 2250.
Notes
Prereqs enforced by the system: CS 2240 and CS 2250; Co-located with CS 5110 A; Total combined enrollment: 70 Open to degree and PACE students
Section URL
Section Description
How can we learn from sensitive data collected from individuals, while protecting the privacy of those individuals? This question is central to the study of data privacy, and is increasingly relevant with the widespread collection of our personal data. Analysis of this data can lead to important benefits for society, including advances in medicine and public infrastructure, but can also result in privacy breaches that expose our most closely-held secrets. This course will explore both threats to privacy and solutions to the data privacy problem. We will demonstrate that traditional approaches to protecting privacy, such as anonymization, are subject to powerful attacks that reveal individuals’ sensitive data. We will see that while more recent approaches for protecting privacy, including k-anonymity and l-diversity, are more resistant to these attacks, they are not immune. Then, we will explore recent formal notions of privacy, including differential privacy. Differential privacy provides a rigorous formal definition of individual privacy that enables a wide range of statistical analyses while protecting privacy. We will explore a number of differentially private algorithms for analytics and machine learning, and learn about the algorithmic building blocks and proof techniques used to develop them. In addition to learning about the mathematical foundations of differential privacy, we will explore its practical implications. We will learn about existing practical systems for enforcing differential privacy and examine the challenges of building such systems. This course will include programming assignments and an end-of-semester project, in which students are expected to demonstrate both mastery of the concepts we explore and understanding of their practical implications by building their own systems that perform privacy-preserving analyses on real data.
Section Expectation
This course will be structured around lectures and a weekly programming assignment. Each lecture will cover concepts in ensuring data privacy; in the corresponding programming assignment, you will implement algorithms corresponding to these concepts. Students should expect to spend 5-6 hours per week outside of class on the weekly programming assignments. The required materials for this course are all freely available online.
Evaluation
Your grade for the course will be determined as follows: 10 homework assignments (5% each; 50% total) exams (20% total) in-class exercises (20% total) final project (10%) Homework Assignments This course will use Python for examples and for programming assignments. Students are expected to be proficient in Python programming. Programming assignments will be distributed and turned in as Jupyter notebooks. See this page for information on installing Jupyter; the Anaconda method is recommended, since it also installs the other libraries we will use in the course.
Important Dates
Note: These dates may change before registration begins.
Note: These dates may not be accurate for select courses during the Summer Session.
Courses may be cancelled due to low enrollment. Show your interest by enrolling.
Last Day to Add | |
---|---|
Last Day to Drop | |
Last Day to Withdraw with 50% Refund | |
Last Day to Withdraw with 25% Refund | |
Last Day to Withdraw |
Resources
There are no courses that meet this criteria.
Interest Form
Remind yourself about CS 3110 A.
We'll send you a reminder before Fall 2025 registration begins.