Readings
Read the claim, inspect the assumptions, then try to break the model. No textbook purchase required.
Start with each lecture’s question and its worked example. These primary sources support particular techniques or factual claims; they do not validate the fictional romance models we construct around them.
The course toolkit contains synthetic datasets, the A/B calculator, the 99-control benchmark and downloadable reference models. It is required preparation throughout the semester.
Weeks 1–3: boundaries, platforms and photo assets#
Week 1 uses the course policies and Alex’s case. For week 2, compare these three platform accounts:
- Tinder: the method behind our matching. Locate the statement that Elo is no longer used; do not mistake our toy model for a disclosure.
- Hinge: What is Most Compatible?. Separate named recommendation inputs from undisclosed weights.
- Bumble: using the Discover tab. Identify the recommendation surface being described rather than generalising to every feature.
For week 3, use the fictional photo kit and these readings:
- Nikon: introduction to three-point lighting. Identify the main and fill roles; the lecture declares its own key/fill measurement convention.
- Google ML Kit: face detection. Explain the distinction between detecting a face and recognising an individual.
- W3C WAI: informative images. Write a text alternative that supports the image’s purpose in the exercise.
The kit’s identification-failure counts, reviewer labels and detector scores are invented teaching inputs, not results from a study or an executed model.
Weeks 4–7: bios, probabilities and protocols#
- NIST: comparing two proportions. For week 4, identify the pooled rate and standard error. Explain why a test does not repair confounded exposure.
- MIT: Mathematics for Computer Science. For Week 5, read §17.4 on conditional tree probabilities, §17.7–17.8 on independence, and §18.5 on linearity of expectation. Identify which calculation needs independence and which does not.
- NIST: binomial distribution. For Week 5, obtain the zero-count and exactly-one probabilities and compare them with the authored workbook. The reference supports a probability method, not its use as a real dating forecast.
- MDN: if…else. For Week 6, explain why an early return prevents a later context branch from overwriting stop. Distinguish a Boolean from a truthy string.
- W3C: SCXML basic concepts. For the Week 6–7 handoff, identify states, events, conditions and transition priority. The Week 6 workbook is a snapshot decision tree, not an SCXML interpreter or a messaging service.
- SciPy: Poisson distribution. For week 7, use the probability of zero counts and state what the parameter means. A count model does not prescribe a reply delay.
- MIT: Poisson processes and interarrival times. For Week 7, read §§4-5–4-6 and identify the constant-rate and independence assumptions. Contrast the homogeneous model with the lecture’s authored mixture.
- MIT: introduction to game theory. For Week 7, use slides 11–16 for best responses, Nash equilibrium and mixed-strategy indifference. Recompute the course’s Ask/Wait game after changing its payoffs; the source does not establish a texting strategy.
The Week 6 workbook supplies fictional recipient evidence, routing traces and separate count/cost fixtures. Its utility inputs do not establish the effect of a real opener. Bring the checked Week 5 invitation and the resulting tree, not real message histories.
The Week 7 workbook reuses that classifier and retains events and observation windows. Its Poisson, utility and payoff fixtures are separate assumptions. Carry the resulting state machine into Week 8’s threat review; a timeout is not a threat verdict.
Weeks 8–12: threats, meetings and maintenance#
- FTC: what to know about romance scams. For week 8, distinguish concrete risk signals from proof and identify what a reverse-image search cannot settle.
- OWASP: threat modeling. For Week 8, label a data flow across a trust boundary, identify the asset and propose a testable control. Use the fictional request cards rather than real profiles.
- Google: classification metrics and thresholds. For Week 8, name the population behind each denominator and recount the confusion matrix when the cutoff changes. The course declares an inclusive ≥ rule and authored scores, not calibrated probabilities.
- eSafety: online dating. For week 9, turn offline-meeting guidance into a fictional handover with public-location, exit and cancellation checks.
- MacEwan: conditional probability and independence. For Week 9, distinguish P(closed) from P(closed given late). Recalculate the joint cells when that conditional changes, keeping the course’s probabilities explicitly labelled as assumptions.
- MIT: finite-state Markov chains, the matrix approach. For Week 10, use slides 3–4 to explain source rows, matrix powers and intermediate-state contributions. The course’s probabilities are invented.
- MIT: absorption probabilities. For Week 10, use the first-step equations and absorbing boundary values to distinguish eventual N probability from the two-step answer.
- OSTEP: common concurrency problems. Read §32.3 for Week 10. Name the four resource-deadlock conditions, then explain why the bill stalemate is only a limited analogy and does not justify forcing a response.
- scikit-learn: common pitfalls and data leakage. For week 11, trace when evaluation begins influencing a supposedly frozen candidate.
- W3C: page structure. For Week 11’s static release, identify its main region and logical headings, then check that the evaluated text is present in the rendered page.
- W3C: Easy Checks. Use the keyboard, focus and text checks for Week 11’s release record. These are initial checks, not a complete accessibility conformance claim.
- RFC 9110: If-Match, §13.1.1. For Week 12, explain how a conditional update prevents a lost update. The in-memory base-version exercise borrows this idea; it is not HTTP, an authenticated service or an atomic distributed implementation. An ending does not require a current base version.
- W3C: data minimization. For Week 12, connect each synthetic record to its purpose and copies. The workbook’s 7/14/30-day values are authored exercise choices, not legal or institutional retention periods.
- Reproducible Builds: definition. For Week 12, name the source, environment, instructions and output artefacts before comparing bytes. A clean directory on the same host is a useful check with a stated limit.
- Git: git-revert. For Week 12, identify how reversing a commit records a new commit. The workbook uses static file snapshots, not Git commands; neither operation restores a person’s earlier agreement.
The Week 8 workbook separates 100 numeric rows from seven coded triage cards. Its cost and prevalence comparisons are sensitivity exercises, not measured detector performance. Carry the evidence records and terminal closure rule into Week 9; a cleared review is not an accepted meeting.
The Week 9 workbook recalculates the earlier venue proposal and consumes the actual threat-review snapshot. Its independent and dependent contingency tables have the same means but different tails. Versioned agreement and a cancel branch carry into Week 10; the report performs no booking or payment and does not infer arrival.
The Week 10 workbook compares exact propagation with a specified seeded sampler, changes one row, and consumes Week 9’s confirmed costs in a separate observation exercise. Simulation states cannot establish arrival, agreement or payment. Preserve the counts, errors and observation labels for Week 11 and the validation appendix.
The Week 11 workbook reconstructs observation cutoffs, audits a separate 115-minute log, and evaluates the supported bio against all 99 controls. Preserve the failed primary target, common-weight reranking and separate changed-availability failure. Its optional static example release includes the exact evaluated text, report and checksums; students retain their own freeze and record actual browser results.
The Week 12 workbook consumes the unchanged Week 11 release and sixteen source inputs, rebuilds in a clean copy, injects a visible fault and restores four declared output files. Compare rendered text and actual keyboard behaviour as well as hashes. Its separate agreement reducer distinguishes adoption, expiry, rejection and ending; actual earlier protocol calls check that terminal records remain closed. The eleven-row handover template requires the student’s own evidence. There is no extra textbook or personal disclosure task.
Every tutorial lists the earlier artefacts to bring and the calculation or decision that will use them.