CSE 715 Fall 2025: Design and Implementation of Applications for Computing with Private Data

General Information

Class Schedule

Instructor

Course Objectives

The objectives of this course consist of developing an in-depth understanding of secure computation techniques and tools. Students will read, present, and discuss assigned publications on this topic and conduct a project where they design and implement a new application for computing with private data.

Course Description

The course involves learning about cryptographic techniques that enable secure computation on private data and using them to build privacy-preserving applications that handle private data from multiple sources. The introductory portion of the course will cover several techniques that permit privacy-preserving computation. Consequently, a number of different applications and the corresponding secure computation protocols will be presented and discussed. This will involve reading the assigned articles and presenting them in class.

Another component of the course consists of experimenting with secure multi-party computation tools. Students will become familiar with writing programs for computing on private data, transforming them into secure computation protocols, and executing them on sample data. An important part of the course is the course project that asks students to create their own application and present it at the end of the semester.

The content heavily relies on cryptographic techniques and thus familiarity with security and/or cryptography concepts will make reading the literature easier.

All students are expected to participate in class discussions and perform all assignments regardless of the number of credit hours they are registered for.

Grading

Grading for this course will tentatively consist of 30% for presentations, 40% for the course project, 25% for class participation, and 5% for reviews. The overall performance of 70% or higher is required for getting the S grade.

Course Policies

Academic Integrity

Computer science, as a profession, requires us to seek truth not only in scientific discoveries, but also in dealing with the public, as the public depends on our expertise and honesty to construct their computing infrastructure. Thus, competence and trust are essential to being a scholar and a computing professional in particular.

Your instructor will treat you as a professional, and you should plan on conducting yourself in an appropriate way. No behavior that compromises academic honesty (such as use of someone else's work or code, using prohibited materials during tests, or making your work available to others) will be tolerated in this course. If you need assistance with anything, do not hesitate to contact the instructor.

It is expected that your work represents your own understanding of the problem. If work of others is used, it must be properly cited. Use of properly cited material is acceptable, but no referencing is treated as claiming the work as your own.

Academic dishonesty will not be tolerated in this course. It is the CSE policy that each case of academic integrity violation is recorded. The standing policy of the department is that all students involved in an academic integrity violation will receive an F grade for the course, unless the instructor recommends a lesser penalty for the first instance of academic integrity violation for the student in question.

Information about the CSE policies can be found here; UB academic integrity policies are available here; and UB graduate school guidelines can be found here.

Detailed Course Schedule

Assignments will not be posted on this web page and instead will be made available through UBlearns.

Sample literature for the course:

Additional use cases for inspiration:
Date Class content
Week 1: August 26
Week 2: September 2
Week 3: September 9
Week 4: September 16
Week 5: September 23
Week 6: September 30
Week 7: October 7
Week 8: October 14
  • Fall break
Week 9: October 21
Week 10: October 28
Week 11: November 4
Week 12: November 11
Week 13: November 18
Week 14: November 25
  • Project presentations and demos
Week 15: December 2
  • Project presentations and demos