Course syllabus
DAT655 / DIT117 Data Privacy lp2 HT25 (7.5 hp)
Course is offered by the Department of Computer Science and Engineering
Contact Details
Examiner and Lecturer
- Prof. Alejandro Russo
- Email: russo@chalmers.se
- Faculty profile
- Office hours: By appointment (check schedule)
Teaching Assistants
- Alex Ionescu
- Email: ionescua@chalmers.se
- Faculty profile
- Office hours: Usually on Fridays 13:15-15:00 (check schedule), Room X
Course Representatives
| Program | Name of student | |
|---|---|---|
| MPCSN | <TBA> | <TBA> |
| MPCSN | <TBA> | <TBA> |
| MPCSC | <TBA> | <TBA> |
| MPCSC | <TBA> | <TBA> |
| MPCSC | <TBA> | <TBA> |
Course Purpose
This course provides students with theoretical foundations and practical skills in data privacy, with a particular focus on differential privacy mechanisms and privacy-preserving data analysis. Students will learn to identify privacy risks in data-sharing scenarios, understand the principles behind privacy regulations like GDPR, and develop systems that implement differential privacy techniques. The course covers both theoretical aspects (privacy definitions, composition theorems, sensitivity analysis) and practical implementation (building differentially private systems, testing mechanisms, generating synthetic data). Through programming assignments and examination, students will gain hands-on experience in designing and evaluating privacy-preserving systems.
Schedule
Schedule is available on TimeEdit - search for course code DAT655 or DIT117.
Course Literature
Mandatory Literature
The course is organized around two free online books:
-
The Algorithmic Foundations of Differential Privacy
- Authors: Cynthia Dwork and Aaron Roth
- Access: Free PDF
- Coverage: Theoretical foundations, composition theorems, sensitivity analysis
-
Programming Differential Privacy
- Authors: Joseph P. Near and Chiké Abuah
- Access: Free online book
- Coverage: Practical implementation, systems design, real-world applications
Additional Materials
The course also includes several research papers indicated in each lecture. These papers are provided through Canvas or direct links in the lecture materials.
Course Design
Learning Activities
The course combines theoretical instruction with practical programming assignments:
Lectures
- Theoretical foundations of data privacy and differential privacy
- Privacy regulations (GDPR) and their implications
- De-identification techniques and their vulnerabilities
- Differential privacy mechanisms (Laplace, exponential, etc.)
- Composition theorems and privacy budget management
- Sensitivity analysis and stability tracking
- Testing differential privacy implementations
- Floating-point attacks on privacy systems
Programming Assignments (Labs)
Assignment 1: Reconstruction Attack (Due: November 19, 2026)
- Implement the Dinur-Nissim reconstruction attack
- Understand vulnerabilities in noisy database systems
- Available in both Haskell and Python
- Work in pairs or individually/group of three with explicit authorization of the lecturer
- Repository: dataprivacy-course on GitHub
Assignment 2: Building a Differential Privacy DSL (Due: December 8, 2026)
- Design and implement a modular differential privacy library
- Implement budget tracking and composition
- Build data transformations with stability tracking
- Implement Laplace mechanism for count and sum queries
- Test statistical soundness using \((\alpha,\beta)\)-accuracy tests
- Available in both Haskell and Python
- Work in pairs or individually with permission
Supervision and Feedback
- Teaching assistants provide feedback within three working days after submission
- Office hours available for consultation (see contact details above)
- Questions can be submitted via Canvas or email
Digital Tools and Communication
- Canvas: Primary learning platform for course materials, announcements, assignment submissions
- Email: Use Canvas messages system
- GitHub: Lab materials and skeleton code
Assignment Submission and Revisions
Important Policies:
- Hard Deadlines: Deadlines are strictly enforced
- Extension Requests: Contact instructors BEFORE the deadline with a valid reason and realistic new deadline proposal
- Submission Requirements: You must submit a serious attempt by the initial deadline
- Final Deadlines: One revision is allowed, must be submitted before the final deadline
| Assignment | Initial Deadline | Final Deadline |
|---|---|---|
| 1 | November 19, 2026 | December 1, 2026 |
| 2 | December 8, 2026 | December 17, 2026 |
If you fail to submit by the final deadline, your submission will be rejected and you must wait for the re-examination period.
Academic Integrity
Cheating is taken very seriously. Cases suspected of cheating will be reported to the Disciplinary Committee for further investigation. This can lead to exclusion from lectures, computer rooms, and exams.
Legitimate Cooperation:
- You may orally discuss exercises and assignments with other students
- Programming assignments may be completed in pairs (size two only)
- Once you cooperate with someone on an assignment, you must submit together with that person
- You may NOT share code by any means (email, printing, files, phone, web, GitHub, etc.)
- Both giving and receiving code are equally serious violations
Any exceptions must be discussed with the lecturer immediately.
Changes Made Since Last Occasion
This is the 2026/2027 iteration of the course. Specific changes will be communicated at the course start.
Learning Objectives and Syllabus
Learning Objectives
Knowledge and Understanding:
- Summarize the principles behind privacy laws like GDPR
- Identify data-sharing challenges with a focus on preserving privacy, including anonymization techniques and their vulnerabilities
- Explain Differential Privacy (DP) theoretical foundations and their properties
- Develop practical systems and tools for implementing DP
Skills and Abilities:
- Critically analyze privacy risks in data-sharing scenarios and evaluate the strengths and weaknesses of anonymization techniques and DP
- Design and develop systems employing DP techniques
- Test DP mechanisms and analyze their statistical soundness using established methods
Judgement Ability and Approach:
- Assess privacy-preserving systems and frameworks, considering the trade-offs between utility and privacy
- Evaluate the choice of privacy-preserving techniques based on the context, considering both the theoretical guarantees and practical limitations of mechanisms like k-anonymity and differential privacy
- Discern the ethical implications of data privacy, and align solutions with legal frameworks like the GDPR, helping with compliance in real-world scenarios
Syllabus Links
- Chalmers: Course Syllabus DAT655
- Göteborgs Universitet: Course Syllabus DIT117
Examination Form
Examination Components
The course examination consists of:
-
Programming Assignments (Pass/Fail) - 2 assignments - Assignment 1: Reconstruction Attack - Assignment 2: Differential Privacy DSL - Requirement: Both assignments must be passed to be eligible for the final exam
-
Written Examination (Grades: 3, 4, 5) - Format: Written exam - Final Grade: The course grade is determined by the exam grade
Assignment Grading
- Grading Scale: Fail (U) or Pass (G)
- Evaluation Criteria:
- Correctness of implementation
- Code quality and best practices
- Working examples demonstrating proper usage
- Passing provided test suites
- Understanding of privacy concepts demonstrated in code
Examination Details
Written Exam:
- Form: Written examination (format TBA)
- Aids: Will be specified before the exam
- Grading: Swedish scale (3, 4, 5)
- Time and Place: Will be announced via Canvas and TimeEdit
Assignment Submissions:
- Format: Code submission via Canvas
- Compulsory Elements:
- Complete implementation of required functions
- Working examples
- Passing test suites
- Templates: Skeleton code provided in GitHub repository
- Deadline Policy: See "Assignment Submission and Revisions" section above
Requirements to Pass
- Pass both programming assignments (Assignment 1 and Assignment 2)
- Pass the written examination (grade 3 or higher)
Re-examination
Students who fail the regular examination have the right to re-examination according to Chalmers/GU regulations.
Course Summary
Course Modules:
The course is organized into the following modules (delivered as PDF documents and lectures):
- Course Introduction and Organization
- Medallion Architecture for Privacy
- Data Privacy Fundamentals
- De-identification Techniques (input focus)
- De-identification Techniques (output focus)
- Differential Privacy Preliminaries
- Introduction to Differential Privacy
- Laplace Mechanism
- Differential Privacy Properties
- Sensitivity Analysis
- Building Statistical Databases with DP
- Floating Point Attacks
- Testing Differential Privacy
Key Dates:
| Date | Event | Details |
|---|---|---|
| November 19, 2026 | Assignment 1 Deadline | Reconstruction Attack |
| December 1, 2026 | Assignment 1 Final Deadline | Last chance for revision |
| December 8, 2026 | Assignment 2 Deadline | DP DSL Implementation |
| December 17, 2026 | Assignment 2 Final Deadline | Last chance for revision |
| TBA | Written Exam | Check TimeEdit for date/time/location |
For questions about the course, contact the lecturer or teaching assistants via email or Canvas.
Course summary:
| Date | Details | Due |
|---|---|---|