User-centric Systems for Data Science (CS 599 L1)
This project is maintained by jliagouris
Instructor Name: John Liagouris
TA: Vivek Unnikrishnan
Course Time & Location: Tue/Thu 12:30-13:45, WED 130
Instructor’s Office Hours: Tue 4-6pm, MCS 207
TA’s Office Hours: Fri 10am-12pm, MCS 103
CS 599 L1 will be taught in the style of a graduate course that requires reading research papers and independent exploration of the material. The class will include lectures, readings, quizzes, programming assignments, and an optional final project. During the semester, we will discuss the following topics:
The course aims at training students in fundamental and emerging techniques that help humans understand complex data processing pipelines. The course is divided in three parts. In Part I, we will discuss concepts of database provenance and causality that provide insights into query results. In Part II, we will discuss AI techniques for explaining classifications and interpreting model predictions. In Part III, we will discuss state-of-the-art profiling, tracing, and performance analysis techniques for distributed systems.
At the end of the course, successful students will have a solid understanding of:
There is no required textbook for this class. After each lecture, slides will be posted on Piazza. Further publicly available resources are listed in the course website, under “Readings”. Parts of the resources listed there will be given as (non-graded) reading assignments during the course. You should be able to access all of these for free when connected to the campus network.
The (tentative) lecture schedule is available here.
Students are expected to attend lectures in person. All course material will be posted on Piazza. Ultimately, students are responsible for their own learning and, thus, for keeping up with the material.
The course includes lectures, quizzes, and hands-on assignments. There is no final exam. Your grade will be determined as follows:
Assignment solutions and final projects will be submitted using the course Gitlab. Students who submit assignments late will only be eligible for up to 50% of the original score.
The course will be self-contained. Each one of the three parts will have an introductory lecture on the necessary concepts to understand the related research papers. Students must have strong programming skills (C/Python) and basic knowledge of data structures, algorithms, and computer systems (CS 112, CS 210 or equivalent experience).
All hands-on assignments must be completed individually. Discussion with fellow students via Piazza or in-person are encouraged, but presenting the work of another person as your own is expressly forbidden. This includes “borrowing”, “stealing”, copying programs/solutions or parts of them from others. Note that we may use an automated plagiarism checker. Cheating will not be tolerated under any circumstances.
Please review the BU Academic Conduct Code for more information.
If you are a student with a disability or believe you might have a disability that requires accommodations, please contact the Office for Disability Services (ODS) at (617) 353-3658 or access@bu.edu to coordinate any reasonable accommodation requests. ODS is located at 25 Buick Street on the 3rd floor.