DS 593: Privacy-Conscious Computer Systems

How can we design computer systems that protect users' privacy? This special topics course investigates this question.

Course Summary. The goal of DS 593 is to understand privacy-related challenges for computer systems, learn what design trade-offs we face as engineers, and to identify new research directions that might help address these challenges. We will examine research papers on distributed system design, privacy-preserving, and secure computing techniques, and discuss how to apply these ideas in practice. The goal is to understand if, and how, we can answer questions like these:

We will look at web services, datacenter systems, distributed communication systems, and machine learning systems. During class, you will present and discuss papers, finish small hands-on assignments, work on a research project, and present your project at the end of the semester.

This is a research-oriented, advanced course. As such, it involves reading research papers, discussing them in class, and exploring new ideas. It is best suited for students who are comfortable with open-ended questions and happy to take the initiative in coming up with creative ideas and solutions.

Syllabus.
Class Meetings 9:30-10:45am on Tuesday and Thursday
Room CDS 164
Discussion Sections 9:05am-9:55am on Wednesday (Occasionally)
Discussion Section Room CAS 213
Notes Published after certain classes
Textbook None (we will read research papers)
Prerequisites Any of DS 210, DS 310, CS 350, CS 451, ECE 413, ECE 440, or instructor permission.
Instructor Kinan Dak Albab (babman@bu.edu)
Office hours: Tuesdays 3-4PM, Thursdays 1-2:30PM, or by appointment @ CDS 1336.
Presentation A group of 2-3 students will present each paper during class. Each student must sign up to one group. We will meet with each group to go over their presentation outline. For example, if your group is presenting on Tuesday, we will meet with you after class on the Thursday before. The presentations should overview the paper, but need not explain all the details -- afterall we expect everyone to read the paper ahead of class! Presentations should be interactive, and presenters are responsible for questions and exercises for the class to encourage participation, and must allocate siginificant time for free-flow discussion after presentations.
Presentation Prep Meetings: Tuesdays and Thursdays 11am-12PM @ CDS 1336 (or by appointment).
Assignments Two written assignments in the first half of the course and two hands-on programming assignments in the second half of the course.
Final ProjectOne research project of your own design. We encourage you to work in groups. The goal is to investigate an idea, implement it to see if it makes sense, and evaluate how well it works. You will submit a proposal, a write-up in the form of a research paper, submit your code, and present the project in class. Project ideas topics should fit with the class theme; some initial ideas are available.
Incompletes We expect everyone to complete the course on time. However, we certainly understand that there may be factors beyond your control, such as health problems and family crises, that prevent you from finishing the course on time. If you feel you cannot complete the course on time, please discuss with Kinan the possibility of being given a grade of Incomplete for the course and setting a schedule for completing the course in the upcoming year.
Late Policy Assigments must be finished by the deadline on the schedule; exceptions will only be made for legitimate reasons and in exceptional circumstances. The full late policy is described in the course missive.
Use of Gen AI Tools We allow using Gen AI as an assistant or thinking buddy for assignments and readings. Students must report all such use and an appendix. The exact details are described in course missive.
Grading Reading Questions: 10%; Participation: 15%; Assignments: 15%; Presentation: 20%; Final Project: 40%.
Course Time Students will spend approximately 3 hours per week in class (40 hours total), and 2-3 hours preparing readings (27-40 hours total). Assignments and the final project will take on the order of 8-10 hours per week (112-140 hours total).