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

https://jnear.github.io/cs3110-data-privacy/

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.

Deadlines
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.

Admin