Theoretical Foundations of Data Science II

Welcome to DSC 40B in Spring 2021! This page should answer most of the questions you might have about how the course is run.


  • (NEW) Jun 3rd: Discussion 10 problems released (recording available on Canvas). Lecture 18 posted.

  • Jun 1st: Super HW 8 released. Programming assignment included!! Due June 9th, 11:59 pm.

  • May 31st: Lecture 17 posted. Redemption of HW 7 opening until June 6th, 11:59 pm.

  • May 25th: Lecture 16 posted. Additional TA OH on Wednesday 7-8 pm.

  • May 20th: Discussion 08 posted. Solution and in-session notes, too.


This semester DSC 40B is co-taught by two instructors:

  1. Prof. Arya Mazumdar

email: arya@ucsd.edu

  1. Prof. Yusu Wang

email: yusuwang@ucsd.edu


Yuheng Zhi. email: yzhi@ucsd.edu


DSC 40B is entirely online this quarter due to the ongoing pandemic. Lectures will be live on Zoom at 11 am on Tuesdays and Thursdays. The link to the Zoom meeting is https://ucsd.zoom.us/s/99235951042; this link will be the same for every lecture. The meeting is password protected, and you can find the password on Campuswire. Note that the lectures will be recorded, and a link to the recording will be posted on the webpage below after the lecture.

The lecture slides, videos and/or any notes will also be posted on the lectures page below.

Link to Lectures.

Getting Started:

To get started in DSC 40B, you'll need to set up accounts on a couple of websites.


We'll be using Campuswire as our course message board. Campuswire is like Piazza, but unlike Piazza, Campuswire does not sell student data to third parties. You should have received an invitation via email, but if not you should get in touch with a course staff member as soon as possible, as we'll be making all course announcements via Campuswire.

If you have a question about anything to do with the course — if you're stuck on a homework problem, want clarification on the logistics, or just have a general question about data science — you can make a post on Campuswire. We only ask that if your question includes some or all of an answer, please make your post private so that others cannot see it. You can also post anonymously if you would prefer.

Course staff will regularly check Campuswire and try to answer any questions that you have. You're also encouraged to answer a question asked by another student if you feel that you know the answer.


We'll be using Gradescope for homework submission and grading. Most of the assignments will be a mixture of math and coding, and the coding parts are usually autograded via Gradescope., You should have received an email invitation for Gradescope, but if not please let us know as soon as possible (preferably via Campuswire).


Some aspects of the course, like office hours and the remote discussion, will be held using Zoom. You should already have an account through UCSD; see the Zoom guide for more help. Note that you will not be expected to have a webcam!


We'll use Canvas for the course gradebook and for the exams.

Required Materials

No materials are required for this course; we'll use online video lectures as the main resource, as well as our own course notes prepared by Prof. Justin Eldridge. That said, here are some books that you might find useful.

  • Cormen, Leiserson, Rivest, Stein; Introduction to Algorithms

  • Dasgupta, Papadimitriou, Vazirani; Algorithms

You will not need a webcam, but you will need a way to access the internet and to upload pictures of your homework. If you foresee this being problematic — or you find that you're unable to fully participate in the class for any reason — send us a message on Campuswire and we will figure it out.


We will have weekly, hour-long live Zoom discussion sections every Thursday 1pm Pacific led by the TA and focused on solving problems. The discussions review the materials from that week's lectures and prepare you for the homework. Just as with lecture, topics and techniques introduced in discussion might appear on the homework and in exams. In particular, some of the more difficult homework problems may be partially solved in discussion section to give you a good start.

The Zoom meeting link for the discussion is https://ucsd.zoom.us/j/96450908222, and a discussion worksheet will be posted beforehand (you will need a passcode, available in Campuswire). During discussion, you'll work together with classmates on solving these problems.

Virtual attendance in discussion section is recommended, but not required. We'll record the discussion and post the link on the front page of the course site. (We are having issues syncing discussion recordings on Canvas, so please find them on Campuswire for now.)

Office Hours:

The Instructors and TA/Graders will be available to answer your questions every week over zoom. Prof. Wang's Office Hour is Tuesdays 2pm--3pm PDT, and Fridays 3pm--3:50pm PDT. The zoom link is the same one for class.

All other office hours will be posted in Campuswire.


Homeworks will be distributed weekly on Wednesdays, and will be due the next Wednesday, by midnight. The expected number of homeworks will be eight. In addition, the last homework of the quarter is a Super Homework, because it will include material not covered by any of the midterm exams, [New!] lectures 17-19.

Homework Redemption: Some of the problems in the homework will be marked as eligible for redemption. You can request in Gradescope to resubmit the solution.

Slip Days: Each student has 3 slip days for the entire quarter. You may use at most one slip day for one assignment (i.e., slip days cannot be stacked).

Lowest Score Dropped: Your homework with the lowest score will be dropped when calculating the final grade.

  • HW1, due Apr 7th, 11:59 pm. HW1 Solution posted on Campuswire.

  • HW2, due Apr 14th, 11:59 pm. HW2 Solution posted on Campuswire.

  • HW3, due Apr 21st, 11:59 pm. HW3 Solution posted on Campuswire.

  • HW4, due Apr 28th, 11:59 pm. HW4 Solution posted on Campuswire.

  • HW5, due May 12th, 11:59 pm. HW5 Solution posted on Campuswire.

  • HW6, due May 19th, 11:59 pm. (Note: Setting up the python environment on your own PC should be as simple as pip3 install dsc40graph.) HW6 Solution posted on Campuswire.

  • HW7, due May 26th, 11:59 pm. Solution posted on Campuswire. Accepting redemption requests until June 6th, 11:59 pm.

  • Super HW8, due June 9th, 11:59 pm. (Programming assignment included, try to start early!)


There will be two midterm exams to be held on April 29th and May 27th, both Thursdays. There will be no scheduled lectures on those days.

  • Midterm 1 covered lectures 1-8.

  • Midterm 2 will cover materials of lectures 9-15 (from Hash table to shortest paths in weighted graphs).


The final grading will be done based on the following breakdown of contribution.

Homework: 40%

Super Homework (lectures 16-18): 10%

Midterm 1: 25%

Midterm 2: 25%