Fall 2026 Quiz 3

← return to practice.dsc10.com


Instructor(s): Peter Chi, Janine Tiefenbruck

This quiz was administered in-person. Students were allowed one page of double-sided handwritten notes; students were not allowed to use the DSC 10 Reference Sheet. Students had 20 minutes to work on the quiz.

This quiz covered Lectures 13-16 of the Fall 2026 offering of DSC 10.


Monsters, Inc. powers its factory with the screams of DSC 10 students. Each night, monsters open closet doors into students’ rooms and scare them by whispering things like “the Midterm Project is due tomorrow,” “calculate the probability,” and “you have used 6 out of 6 slip days.”

The DataFrame doors has 500 rows, one for each DSC 10 student. Its columns are:

The first few rows of doors are shown below, though doors has many more rows.

The first three rows of the doors DataFrame, with door_id, scream_units, and num_scares columns.

Assume we have already run import babypandas as bpd, import numpy as np, and from scipy import stats.

If your answer is a string, put it in quotes. If your answer is a float, include a decimal point. No calculators and no computers were allowed.


Problem 1

Lecture 14

Sulley collects audit, a simple random sample of 200 rows from doors, and runs the code below to estimate the mean "scream_units" of all DSC 10 students. He wants [L80, R80] to be an 80% confidence interval and [L90, R90] to be a 90% confidence interval for this parameter.

boots = np.array([])
for i in np.arange(10000):
    resample = audit.sample(200, replace=True)
    boots = np.append(boots, resample.get("scream_units").mean())

L80 = np.percentile(boots, __(a)__)
R80 = np.percentile(boots, __(b)__)
L90 = np.percentile(boots, __(c)__)
R90 = np.percentile(boots, __(d)__)


Problem 1.1

What goes in blanks (a), (b), (c), and (d)?

Answer: (a): 10, (b): 90, (c): 5, (d): 95

An 80% interval leaves out 20% of the bootstrap means, 10% on each side. So it goes from the 10th to the 90th percentile. A 90% interval leaves out 10%, 5% on each side, so it goes from the 5th to the 95th percentile.


Difficulty: ⭐️

The average score on this problem was 96%.


Problem 1.2

Write L80, R80, L90, or R90 in each blank below so that the values stored in each variable are ordered from smallest to largest (assuming no ties).

______ < ______ < ______ < ______

Answer: L90 < L80 < R80 < R90

All four values are percentiles of the same array, boots. A higher percentile is a bigger value, so we can order them by their percentiles from part (a):

  • L90 is the 5th percentile.
  • L80 is the 10th percentile.
  • R80 is the 90th percentile.
  • R90 is the 95th percentile.

Since 5 < 10 < 90 < 95, the order is L90 < L80 < R80 < R90. Another way to see it: a 90% interval has to contain more values than an 80% interval, so it reaches further out on both sides.


Difficulty: ⭐️⭐️

The average score on this problem was 86%.


Problem 1.3

Determine the approximate value of the expression below. Give your answer as an integer.

np.count_nonzero((boots < L80) | (boots > R90))

Answer: 1500

L80 is the 10th percentile, so about 10% of the 10,000 values are below it: 1,000. R90 is the 95th percentile, so about 5% are above it: 500. No value can be both below L80 and above R90, so we add them: 1,000 + 500 = 1,500.


Difficulty: ⭐️⭐️⭐️⭐️

The average score on this problem was 39%.



Problem 2

Lecture 13

Suppose that 2,000 times, Randall draws a simple random sample of 25 rows from doors and computes the mean "scream_units" of the sample. Which of the following changes would make a histogram of the 2,000 means noticeably narrower? Select all that apply.

Answer: Option 3

Option 1: No. More repetitions make the histogram smoother, but not narrower. How spread out the means are depends on the sample size, not on how many times we repeat.

Option 2: No. A total of 100 values is 100 times their mean, so the totals are far more spread out. The histogram gets wider.

Option 3: Yes. Means of larger samples vary less, so the histogram gets narrower. Samples of 100 are 4 times bigger than samples of 25. Drawing with replacement makes only a small difference.

Option 4: No, because Option 3 works.


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 62%.


Problem 3

Lecture 15, 16

The "num_scares" column of doors is strongly right-skewed, as a few unfortunate students have been scared dozens of times. Suppose we run the following code:

num_scares = doors.get("num_scares")
su = (num_scares - num_scares.mean()) / np.std(num_scares)

Which of the following statements must be true? Select all that apply.

Answer: Options 1 and 4

Option 1: True. Chebyshev’s inequality says that for any distribution, at least 1 − 1/z² of the values are within z standard deviations of the mean. su is in standard units, so being between -2.5 and 2.5 means being within 2.5 standard deviations of the mean. 1 − 1/2.5² = 1 − 0.16 = 0.84.

Option 2: False. Converting to standard units shifts and rescales the data, but it doesn’t change the shape. su is still right-skewed.

Option 3: False. The mean of su is 0. But in right-skewed data, the median is below the mean, so the median of su is below 0.

Option 4: True. Values in standard units always have a mean of 0 and a standard deviation of 1.


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 65%.


Problem 4

Lecture 15

Over six nights, Mike scared 2, 3, 5, 5, 6, and 9 students. This data has a mean of 5 students per night. On a seventh night, Mike scares 5 students. Compared to the standard deviation of the original six numbers, the standard deviation of all seven numbers is:

Answer: Smaller

The deviations from the mean of 5 are -3, -2, 0, 0, 1 and 4. Their squares add up to 9 + 4 + 0 + 0 + 1 + 16 = 30, so the variance is 30 / 6 = 5. The new value, 5, equals the mean, so the mean stays 5 and the new deviation is 0. The sum of squares stays 30, but now we divide by 7: 30 / 7 is less than 5. A smaller variance means a smaller standard deviation.


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 72%.


Problem 5

Lecture 16

Monsters also collect energy from students’ laughs. Laugh energy is roughly normally distributed, with a peak at 58 and inflection points at 46 and 70. Write one line of code that evaluates to the approximate proportion of laughs with energy greater than 85.

Answer: 1 - stats.norm.cdf(2.25) or stats.norm.cdf(-2.25)

The peak of a normal curve is at its mean, 58. The inflection points are one standard deviation from the mean, so the SD is 70 − 58 = 12. In standard units, 85 is (85 − 58) / 12 = 27 / 12 = 2.25. stats.norm.cdf(2.25) is the proportion below 2.25, so the proportion above it is 1 minus that. By symmetry, this is the same as the proportion below -2.25. It works out to about 0.012.


Difficulty: ⭐️⭐️⭐️

The average score on this problem was 61%.


👋 Feedback: Find an error? Still confused? Have a suggestion? Let us know here.