DSC 190 – Advanced Algorithms for Data Scientists

📜 Syllabus

Welcome to DSC 190 in Winter 2022! This page should answer most of the questions you might have about how the course is run; check out the frequently asked questions for answers to some common ones. If you don't find what you're looking for here, feel free to make a post on Campuswire.

Here is what the syllabus will cover:

Course Staff

  • Instructor: Dr. Justin Eldridge ("Justin")
    Lecture: 2:00 pm T/Th in HSS 1315

  • TA: Tanmay Gujar
    Discussion: 7:00 pm on Friday in CENTR 205


As you likely know by now, the first two weeks of the quarter will be held remotely. Lecture videos will be pre-recorded and posted online ahead of time for you to watch at your convenience.

While pre-recorded lecture videos have advantages, they have one big disadvantage: there's no possibility for interaction with them. To help address this, I'll be holding "watch parties" on Zoom during the regularly-scheduled lecture times. During the watch party, I'll play the video recording and hang around in the chat to answer any questions that pop up.

Unfortunately, there's still a lot of uncertainty about when we will return to campus. If we do return, I will be excited to resume teaching in-person. Still, I understand that the pandemic continues and that a good number of students may be unable to come to campus or may feel uncomfortable doing so.

In the case that we do return to campus, I will structure the course so that you will have the option to take it remotely or in-person (or a mixture of both). In particular, lectures will be delivered in-person at the regularly scheduled time and location, but I will not be taking attendance. The lecture content will be podcasted so that you will not need to be physically present to keep up-to-date. The exam, too, will be held remotely. Office hours will be offered in a mix of in-person and remote modalities. Because no component of the course will require physical attendance, you will not need to let us know or do anything extra in order to take the class remotely (or in-person, for that matter).

Getting Started

To get started in DSC 190, 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 via Campuswire.


We will not be using Canvas. All course materials will be available at https://dsc-courses.github.io/dsc190-algorithms-2022-wi/ or Gradescope.

Required Materials

You will not need to purchase any materials for this course; we'll use lecture slides the main resource, as well as our own course notes. If you'd like additional textbooks to study from, we can recommend these:

  • Dasgupta, Papadimitriou, Vazirani; Algorithms
  • Cormen, Leiserson, Rivest, Stein; Introduction to Algorithms

These books are also excellent resources for interview preparation.


The first two weeks of lectures will be held remotely. See "Modality" above.

The below pertains if/when we return to campus.

Lectures will be held in-person at the regularly-scheduled time and place, but they will be podcasted and posted online for remote viewing. Attendance is appreciated, but not required.

Lectures will be at 2:00 pm T/Th in HSS 1315.

You will be able to find the lecture recordings at podcast.ucsd.edu.

Office Hours

Course staff, including tutors, TAs, and instructors, will hold office hours regularly throughout the week. Please see the office hours page for the schedule and for instructions.


Discussions will be held remotely for the first two weeks of the quarter. After this, discussions will be held in-person at 7:00 pm on Friday in CENTR 205.

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.

Both discussion meetings will cover the same material, but we are holding both since some people might not be able to attend the other section due to scheduling conflicts. You may choose to attend whichever discussion section is most convenient for you, no matter which section you are officially enrolled in.

Attendance is recommended, but not required. The discussions will be podcasted, but the nature of discussion section (they usually involve a large amount of groupwork) means that the podcasted discussion might not be as useful as in-person attendance.


There will be around eight (maybe seven, maybe nine) homeworks assigned throughout the quarter, depending on our progress. Homeworks will be a mixture of written problems (which are manually graded by our tutor staff) and coding problems (which are autograded). Each homework will be due via Gradescope at 11:59 PM on the Wednesday after it is assigned except otherwise noted, and you'll have roughly a week to complete each assignment from the time it is posted. The lowest homework will be dropped.

The homework due date is carefully chosen to fit within a one week "cycle". On Tuesdays and Thursdays, you'll have lecture. That week's discussion will review the lecture topics with an eye towards practical application. The homework is then due the following week, giving you several days after the discussion to complete it.

Regrade Requests

If you feel that the grader has made a mistake, you may submit a regrade request via Gradescope within one week of the grades being released. Note that part of your grade is clarity, so if your answer was mostly right but unclear you may still not receive full credit.

Redemption Requests

Autograded homework problems (which are typically coding problems) will be eligible for redemption. Under this policy, you may regain 70% of the credit that your originally lost for an autograded problem that was previously answered incorrectly by submitting a fixed version of your solution. For example, if you originally scored 60% on a problem and you fix it completely, your new score is 60% + (40% * 70%) = 88%. If you originally scored 90%, you can earn up to 97%. And if your original score was a zero (the code completely failed to run), you can earn as high as 70% by submitting a redemption.

The idea of redemption is to provide an opportunity to learn from your mistakes. The solutions will be posted while you are making your corrections, and you're actually encouraged to look at them -- but you should never copy from them. Instead, try to understand why the solution works and fix your own code accordingly. When in doubt, place a gap of 1 hour between reading the solution and attempting to fix your code. This is enough time for you to forget the details, but remember the "big picture". This is the important part!

Unfortunately, we don't have a large course staff, and we can't offer redemption on the manually-graded problems. To account for this, the lowest homework score is dropped.


You are highly encouraged to think about the homework problems together, but you must turn in your own solutions written in your own words. We feel that discussing homework problems is an excellent way to learn, but writing the solutions in your own words promotes a deeper, more solid understanding than discussion alone.

We recommend the following way of working on the homeworks. First, meet with your partner to discuss the solutions, but don't leave the meeting with anything written down. Wait an hour or so, then write up the solutions in your own words working from memory. In that hour, you inevitably forgot some of the details of the solution. If you find that you have trouble filling them in, its a sign that you might not have understood the solution as well as you first thought!

If you have any questions or worries about whether your collaboration constitutes a violation of academic integrity, feel free to ask us on Campuswire.

Slip Days

You have four slip days to use throughout the quarter on any lab or homework (including the super homework). A slip day extends the deadline by 24 hours. Slip days cannot be "stacked" or "combined" to extend the deadline further — the latest any assignment can be submitted is 24 hours after the deadline. Slip days are applied automatically at the end of the quarter, but it's your responsibility to keep track of how many you have left.

Slip days are designed to be a transparent and predictable source of leniency in deadlines. You can use a slip day if you are too busy to complete an assignment on its original due date (or if you forgot about it). But slips days are also meant for things like the internet going down at 11:58 PM just as you go to submit your homework. Slip days are to be used in exceptional circumstances, so you probably shouldn't get close to using all of them — if you do get close to using that many, I will likely reach out to make sure that everything is OK.

Final Exam

There will be one final exam in this course. It will be in the format of a "take-home exam", and will be due during finals week. You can think of the final exam as a comprehensive homework that reviews all of the quarter's material. It will be released ahead of time, so you'll have several days to complete the exam.


We'll be using the following grading scheme:

  • 70%: Homeworks (lowest dropped)
  • 30%: Take-Home Final Exam

The standard grading scale (where an A is 93+, A- is 90+, B+ is 87+, etc.) will be used as a starting point, but once all scores are in, I will run a clustering algorithm to automatically find the best cutoffs for each letter grade. These cutoffs can only be lowered. For instance, the threshold for an "A" will never be higher than 93%.

A+ grades are awarded to the students whose overall grades are in the top 5% of the class.

Support and Resources

As instructors, our job is to foster an environment where everyone, regardless of identity, feels welcome and is able to focus on learning. If there is something we can do in this mission, or if there is something preventing you from succeeding in the class, please let us know. If you feel uncomfortable speaking with us or are searching for help on a specific concern, there are several campus resources available to you, including:

More generally, if you have any concerns about your ability to focus or succeed in this course, or just need someone to talk to, please contact us ASAP and we'll figure something out.


Because of the pandemic, we must prepare for the unfortunate possibility that you will get sick and be unable to participate in this class for long periods of time. The university has a mechanism for helping in this situation: the Incomplete. If you are unable to complete the course because of reasons outside of your control, you may be given an Incomplete instead of a letter grade. This simply means that you will complete the rest of the work at a later time. Once you have done so, your overall grade is calculated and your Incomplete grade is replaced.

An Incomplete does not allow you to re-do work that has already been completed, only to do work that hasn't been completed.

If you feel that you may want to take an incomplete, it's in your best interest to contact me as soon as possible!


Is this class curved?

In a typical quarter, the midterm redemption policy has the same effect as a traditional "curve", therefore replacing the need for one. The standard grading scale (where an A is 93+, A- is 90+, B+ is 87+, etc.) will be used as a starting point, but once all scores are in, we will run a clustering algorithm to automatically find the best cutoffs for each letter grade. These cutoffs can only be lowered. For instance, the threshold for an "A" will never be higher than 93%.

Will more seats be added / what are my chances of getting off of the wait list?

Unfortunately, we're limited by the physical size of the classroom -- if we enroll more people, the fire marshal will yell at us. We do hope to offer this class next year with a larger enrollment.