DSC 40B – Theoretical Foundations of Data Science II


📜 Syllabus

Welcome to DSC 40B in Summer 2025! This page should answer most of the questions you might have about how the course is run. 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:

Instructor

  • Chester Holtz
    chholtz@ucsd.edu
    webpage

Getting Started

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

Campuswire

We'll be using Campuswire as our course message board. You should have received an invitation via email, but if not you should be able to join by clicking the link above and using the access code 6988. Be sure to join Campuswire as soon as possible, since all course communication will be done through it.

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.

Gradescope

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 you can join with code 2286RD.

Canvas

We will not be using Canvas. All course materials will be available at dsc40b.com or Gradescope.

Required Materials

You will not need to purchase any materials for this course; we'll use lecture slides as 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 preparing for coding interviews.

Lectures

Lectures will be held in-person and over Zoom at the regularly-scheduled time and place, but they will be podcasted and posted online for remote viewing. Attendance will recorded and worth 5% extra credit.

The lecture times are:

  • 2:00 PM on M/T/W/Th in WLH 2205

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.

Quizzes and Extended Office Hours

All students enrolled are assigned to a discussion section (4PM-6PM) on Wednesday (listed as DI on the Schedule of Classes). However, instead of using the Wednesday 4PM-6PM block of the schedule for discussion sections, we will be having 4 oral quizzes in this course. They make up 10% of your grade and are pass/fail. Each quiz is worth 2.5% (4 × 2.5% = 10%). Pass = earns full 2.5%; miss/No‑pass = 0%.

You will meet with either Chester or one of the Tutors for 5 minutes each Wednesday starting Week 2. Sign up for times here. Please indicate whether you will be on Zoom or in-person.

We will ask one question about topics covered in the previous week. You can make mistakes while answering and still pass! The important thing is for us to hear your thought process for solving the problems.

In addition to these quizzes, we will have extended office hours held

  • 4:00 PM on Wednesday in WLH 2205

Labs

There will be two types of assignments in DSC 40B: labs and homeworks. Labs help develop essential knowledge, while homeworks develop your ability to apply that knowledge in solving more difficult problems. You can think of labs as a quick check on your understanding before you head into the homework.

Labs consist of a small number of autograded multiple choice or numerical answer questions. They will be posted on Gradescope weekly. The exams will mostly consist of questions of a similar format and difficulty as those on the labs. However, the exams will have a time limit, while the labs have no time limit.

In previous iterations of DSC 40B, these "essential" questions were actually a part of the homeworks. We have decided to move these essential problems to their own lab assignment, therefore making the homeworks shorter. This has a big benefit: because the labs are autograded you can get your lab grade before heading into the homework. This gives you an opportunity to patch up any misunderstandings.

Homeworks

There will be seven or eight homeworks assigned throughout the quarter. 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 Friday after it is assigned except otherwise noted, and you'll have roughly a week to complete each assignment from the time it is posted.

All homeworks will require you to show your work. When deciding how much work to show, imagine explaining your solution to a friend who has not done the problem yet -- you wouldn't just write down the answer and the calculations, but you'd also explain why you're doing each step.

The single lowest homework will be dropped. See "Grading" below for exactly how this is done.

Handwritten Submission Policy

We ask that all students submit handwritten solutions for the written (non-programming) part of assignments. Previously, assignments were typeset using LaTeX, which has many advantages; however, we believe that handwriting solutions promotes careful thought and better simulates exam and interview conditions. Solutions may be on paper or on a tablet with a stylus (digital handwriting); please do not typeset in LaTeX for the written portion. Please upload a single, legible PDF. If you have an approved OSD accommodation that requires a different format, contact us early so we can arrange an alternative.

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.

Academic Integrity, Collaboration, and Artificial Intelligence

(From DSC10) The basic rule for DSC 40b is: Work hard. Make use of the expertise of the staff to learn what you need to know to really do well in the course. Act with integrity, and don’t cheat.

You are highly encouraged to think about the lab and 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 labs and 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, it's a sign that you might not have understood the solution as well as you first thought!

You're can use AI (ChatGPT, etc.) in a similar way: (although it's not encouraged) you can talk to ChatGPT about a problem, but don't copy and paste from its answer. Instead, wait about an hour and put the answer in your own words. Also keep in mind that you won't have ChatGPT on the exams, so you'll need to understand the fundamental concepts for yourself in order to do well. If your assignment submission includes any content generated by an AI tool, it must be cited to acknowledge the source of the material (e.g., "Consulted ChatGPT to brainstorm approach for Q2 via prompt xxx; rewrote in my own words; verified.").

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

Deadlines and Late Policy

Labs and homeworks must be submitted by 11:59PM on the due date to be considered on time. You may turn them in as many times as you like before the deadline, and only the most recent submission will be graded, so it’s a good habit to submit early and often.

It may take some time for Gradescope’s autograder to grade your submission. You are encouraged to submit with enough time to see the output of the autograder before the 11:59PM deadline, as it may alert you to a problem you need to fix. However, if you submit before 11:59PM and the autograder finishes running after 11:59PM, your assignment will still be considered on time.

After submitting, check that you got a confirmation email from Gradescope to verify that your submission was successful. Save this email until you receive your grade on the assignment, in case of any issues with your submission.

Assignments may be submitted up to 2 days late, with a 15% penalty per day (e.g. a submission 1 day late is capped at 85%, 2 days late at 70%). After 48 hours, submissions are not accepted unless you have an approved extension; in that case, the new due time replaces the original deadline.

Extension requests will be granted on a case-by-case basis; please email Chester directly (chholtz@ucsd.edu) as soon as possible once you know that you may need an extension. The earlier we know that something has come up, the more we can help support you.

Exams

Midterms

There will be one midterm exam and a two-part final (with the second-part corresponding to the midterm 02 content below):

  • Midterm 01: Tuesday, August 19 (focuses on Lectures 01 — 08)
  • Midterm 02: Friday, September 05 (focuses on Lectures 09 — 15)

The exams will be held both in-person and over Zoom during the regularly-scheduled lecture times.

For each exam, you'll be allowed one sheet of notes on standard 8.5 by 11 inch paper, front and back. The notes can be handwritten, typed up, painted, etched with a laser, whatever, but it must be on paper (i.e., you can't use an iPad to display your notes during the exam).

The questions themselves will be most similar to the practice problems at dsc40b.com/practice; in fact, all of the practice problems are former exam problems. More details about the midterm will be sent out about one week beforehand.

Final Exam

The final exam for DSC 40B is a "no fault" final split into two sections:

  1. An optional Midterm 01 "Redemption" section focusing on Lectures 01 — 08
  2. A Midterm 02 section focusing on Lectures 09 — 15

If your score on the midterm 01 redemption section is higher than your score on the original midterm 01, it will replace that grade. Getting a lower score on a redemption section cannot hurt you (but it will make us sad). As a consequence, the redemption sections are effectively optional.

Midterm Redemptions

DSC 40B also uses the concept of "redemption" on midterm problems. Under this policy, you may regain 85% of the credit for a midterm problem that was previously answered incorrectly by submitting an explanation of your mistake along with a correction. This policy encourages you to revisit midterm mistakes in order to correct your understanding, and allows us to give quick, targeted feedback through grading.

For a problem to be eligible for redemption, you must have submitted an answer to the problem.

If you got the problem correct, you'll receive the total number of points for it. If you didn't get the problem correct, even due to a relatively small mistake, you'll receive no credit until you submit a redemption request (see below). If your redemption request is accepted, you'll be given 85% of the credit for the problem. You can think of the 15% deduction as the cost of requiring a tutor to look over your redemption request — or, if you're a glass-half-full kind of person, as an incentive to get the problem correct the first time around.

Redemption Requests

There are two ways to submit a redemption request for a midterm problem:

  • Option 1. Come to any tutor, TA, or instructor office hours and discuss the problem (preferred)
  • Option 2. Submit a regrade request on Gradescope.

Whichever method you choose, you should answer the following questions:

  1. What was the main misconception or misunderstanding that led to your answer being wrong?
  2. How did this misconception cause the wrong answer?
  3. How does fixing the misunderstanding lead you to the right answer?

The next section contains an example of a good redemption request.

The amount of detail needed in your request depends on how complex your mistake was; if it was a simple one, only one or two sentences may be necessary. A grader will review your request shortly (as long as you submit it within a week of the homework scores being posted, your regrade request will be reviewed). If you aren't able to identify what you did incorrectly, you'll be asked to attend a grader's office hours in order to discuss the problem in more detail.

Note that we will not be able to handle redemption requests which are submitted more than a week after you have received your grade. However, as long as your request is submitted within a week, we will process it.

Example

Here's a simple example to demonstrate the redemption process. Suppose you're given the following simple problem:

Question: What is 3 + 5 * 2?

Let's say you misapplied the order of operations, giving you an incorrect answer of 16 (the correct answer is, of course, 13). Here's a good redemption request that uses the template above:

1) I misapplied the order of operations. 2) I added before multiplying, so I got (3 + 5) * 2 = 8 * 2 = 16. 3) Multiplication should be done first so that we get 3 + (5 * 2) = 3 + 10 = 13.

Again, the key isn't just giving the right answer — that's published in the solutions, after all. The important part (according to the research) is identifying why you made the mistake.

Exam Pass Criterion

In order to pass the class, the mean of your two midterm scores (after redemption is taken into account) must be 60% or greater.

The reason for this policy is that the exams are the only assessment in this class which you are sure to complete by yourself, and so they are (in theory) the purest measure of your individual understanding. This policy is not meant to be punitive: If your exam scores are not above passing after several attempts, it indicates that you might be better served by retaking the class with a fresh start before moving on to later courses which will draw upon the material from DSC 40B.

Example: You score 10/20 (which is 50%) on Midterm 01 and 15/25 (i.e., 60%) on Midterm 02. The average of your two midterm scores is (50% + 60%) / 2 = 55%, which is below the passing criterion of 60%. You then take Redemption Midterm 01 and score 18/20 (90%); you don't take Redemption Midterm 02. Your overall midterm score with redemption included is (90% + 60%) / 2 = 75%, which is above the passing criterion of 60%.

Grading

We'll be using the following grading scheme:

  • 10%: Labs (Lowest Dropped)
  • 30%: Homeworks (Lowest Dropped)
  • 25%: Midterm 01 (or Redemption Midterm 01, whichever is larger)
  • 25%: Midterm 02
  • 10%: Quizzes (Pass-Fail)
  • 5%: Attendance (extra credit)

Calculating your grade

When calculating your lab and homework grades, you should weigh each assignment by the points possible on that assignment. In other words, the homework and lab parts of your grade are calculated by dividing the number of points you earned across all assignments by the number of points possible across all assignments. Some homeworks and labs are worth more, and some are worth less. For example, if Lab 1 is worth 10 points and Lab 2 is worth 20 points, Lab 2 will count twice as much toward your lab grade. This is by design, since some assignments are intentionally shorter.

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.

OSD Exam Accommodations

If you have exam accommodations from the OSD, you should receive an email from the data science program that will ask you to provide your availability for your accommodated exam. The program will then schedule the exam and notify the instructor of its time and location. If you do not receive such an email by the end of the second week of classes, please let us know!

Please be sure to respond to the email from the data science program; if the program does not hear back from you, they will be unable to schedule your accommodated exam.

Waitlist

If you're on the waitlist, make sure you participate in the class just as if you were enrolled (for example, by doing all of the assignments) so that if you do get in, you're not behind.

Often, people will ask about their chances of making it off the waitlist. Unfortunately, that can be hard to answer! In some quarters, the waitlist moves a lot; in others, not at all.