Last class you locked two things: your Methods, and a placeholder abstract that still ends in [pending data]. That was honest — you had basically zero real participants. Today you still do. But data starts landing 7/7–7/10, so today is a dress rehearsal: exactly what you'll do the moment it shows up.
Three steps, always in this order: clean the data honestly, write a Results that only reports, then a Discussion that finally explains. One line holds up the whole day — Results reports, Discussion explains. Mix them and both fall apart.
Since your real data isn't here yet, every number today is demo data — illustrative, not real (示例·非真实). It's only for practicing the moves, and it must never land in anyone's real paper. Four rules sit under everything today: never invent a number; don't over-claim from a small sample; keep Results and Discussion apart; and when you drop data, write the rule first, then look, then report it. Keep this page open. Stuck? Mia is here.
01 · The three-step pipeline
Here's the whole map. When responses land, you don't jump to conclusions — you run three steps, in a fixed order. Each step has exactly one job. The classic mistake is doing step 3's job inside step 2.
The three-step pipeline — what to do when data lands:
1 · CLEAN drop invalid responses (rule written BEFORE you look)
|
2 · RESULTS report the facts only — no interpreting, no "because"
|
3 · DISCUSSION answer "so what?" — meaning, limits, implications
golden line: RESULTS reports. DISCUSSION explains.
today it is ALL demo data — your real data is not here yet
See the split: step 2 is a witness on the stand — it says only what it saw. Step 3 is the closing argument — what it all means. Today we walk all three on demo data, so the day your real answers land, you already know the moves.
02 · Clean before you count
This is the section that keeps you honest, so it gets the most time. Cleaning means throwing out junk answers — the ones that aren't real responses — not the numbers you don't like. About 3%–20% of online answers (often ~10%) really do need to go. And the whole thing is clean or not clean for one reason only: did you set the rule before you looked at the results?
What you're allowed to drop. Every one of these is an answer-quality problem — nothing to do with the conclusion you're hoping for.
IncompleteHalf-finished / big skipsAnswered part of it and left — completion below your threshold.
DuplicateSame person submitted twiceOne respondent ran it several times — same device / IP repeated.
SpeederToo fast to have read the itemsPhysically impossible speed — not just "faster than average". Phones run 25–50% slower than desktop, so set the line separately.
AttentionFailed the attention-check itemA hidden "for this one, choose 'Strongly Agree'" — got it wrong = didn't read.
StraightlineSame option down a whole columnPicked one answer for every item regardless of the question — zero variance.
GibberishJunk / copy-paste open text"good", "idk", random keys, or pasted filler — read it and judge.
Out of rangeImpossible valuesAge typed as 999 — outside any sane range.
Test rowsYour own dev rows in the DBThe AI-bias game DB has ~16 rows you clicked while building — known in advance, so excluding them is textbook-clean. (示例·非真实 / illustrative, not real data)
The honest way to do it — three commands. Two things make a deletion okay, and only two: the rule was set before you looked, and you reported it openly. Whether the result looks nicer afterward has nothing to do with it.
Three commands for deleting data the honest way:
1 · PRE-SPECIFY write the deletion rule down BEFORE you see the
result (ideally before you even collect). Legality =
timing + transparency, NOT "did it look better after".
2 · MULTI-FLAG flag each response (speeder? straightline? junk?).
+ SAME FOR ALL ONE flag alone -> keep (don't punish a real person who
blinked). Several flags -> drop. Apply the rule to
EVERY response and BOTH directions — not just the ones
that hurt your hypothesis.
3 · REPORT write it: "started N = __, dropped __ (reason: __),
+ FLAG, DON'T final N = __". Keep the raw file, add a flag column —
DELETE never physically delete. Bonus: report results WITH
and WITHOUT the excluded rows (sensitivity analysis).
The absolute red line: never look at the result first, then go back and delete the rows that got in the way. "If I drop these 3 people my hypothesis works" is p-hacking — academic misconduct — no matter how reasonable the excuse sounds. Legitimate cleaning: rule set before you look, applied to everyone, fully reported. p-hacking: rule invented after you look, applied only to inconvenient rows, quietly. An outlier is not "a number I dislike" — you don't get to delete a real data point just because it makes the result uglier. And never edit a value (turning a 999 into a "reasonable" number and keeping it is worse than deleting it).
A lightweight "pre-registration" anyone can do. The hardcore anti-cheating move is called pre-registration: before you collect, you write down your hypothesis, sample size, deletion rules, and analysis plan. You don't need a fancy platform — just do this:
Before you collect, put a dated line in your project log: "I plan to exclude respondents who (a) fail the attention check, (b) finish in under 30 seconds, or (c) leave it incomplete. This rule was set before data collection — [date]."
That one line lets you write, in the paper: "All exclusion criteria were defined before data collection and were not modified after examining the results." It turns your cleaning from suspicious into credible.
Today's demo data (示例·非真实 / illustrative, not real — never put it in your paper): the AI-bias game — 40 rows in the database, 16 of them dev test rows you knew about in advance, so real respondents = 24. The destiny-reframing tool — 28 responses in, 6 dropped by the pre-set rule (3 failed the attention check / 2 speeders under 30s / 1 unfinished), leaving a final N = 22. We carry this N = 22 through the Results and Discussion demos below.
Hand the cleaning to Codex or Cursor — but weld the red line into the prompt so it can't quietly delete things for you:
You don't need heavy statistics to write a real Results section. Even with zero stats background, three moves cover almost every project in this room. Nail them and you've said "here's what these few dozen people look like" — which is the honest heart of a small study.
Move 1Mean ± SD (M / SD)The average, always paired with the spread. Report M and SD together, never a bare average: "moderate awareness (M = 2.80, SD = 0.90)".
Move 2Percent — always with the countNever a lone %; give the n behind it: "68%, n = 15". A percentage without the headcount hides how small the base is.
Move 3Pre / post changeGive both M/SD: pre-test (M/SD) then post-test (M/SD). Report the direction of change — the "why" waits for Discussion.
When in doubt, stop at descriptive stats. Describe your few dozen people with means, percentages, and a chart. Only reach for a t-test or p-value when you really want to jump from your sample to the whole population and your sampling can carry the weight. For a small, grab-what-you-can sample, honest descriptives beat a pile of p-values.
APA number format — just four rules to remember:
APA numbers — the only 4 rules to remember:
1 · Decimals M / SD from an integer scale -> 1 decimal
r, proportions, t / F / p -> 2 decimals
2 · Leading zero can exceed 1 -> keep the zero (0.79)
never exceeds 1 (r, p, %) -> drop it (.03 not 0.03)
3 · p values write p < .001 — NEVER "p = .000" (p is never exactly 0)
p = .06 is never reported as < .05
4 · Symbols M, SD, N, t, p, r are set in italics;
spaces around the equals sign ( M = 7.7 )
04 · Results: report, don't explain
The golden rule, in five words: report the facts, nothing else. Results is the witness on the stand — it says only what it saw. The instant you write because, this suggests, or 可能是因为, you've wandered into Discussion — cut it and move it there.
Results section — the shape:
1 · OPEN state final N and who was excluded (the "headcount")
2 · BLOCKS one finding per block, ordered by research question
— not by question number, not by collection order
3 · CLOSE one neutral sentence tying the key findings together
voice: objective · past tense · numbers do the talking
banned: interpreting, "because", interestingly / surprisingly / clearly
report null results too — "no significant difference" is a real finding
Sentence frames you can lift straight into your paper (demo runs on the destiny-reframing example, N = 22, 示例·非真实):
Sample + exclusions (open with this): "Of the 28 responses collected, 6 were excluded prior to analysis according to pre-specified criteria, leaving a final sample of 22."
The single most important line: "All exclusion criteria were defined before data collection and were not modified after examining the results."
Percent with count: "Most participants (68%, n = 15) completed both the pre- and post-test."
Pre / post change: "Scores improved from pre-test (M = 2.80, SD = 0.90) to post-test (M = 3.90, SD = 0.80)." — advanced: add "t(21) = 5.1, p < .001"; zero-background: just state the rise.
Null result (report it): "No significant difference was found between the two groups, t(20) = 1.02, p = .31."
Qualitative theme (analytic sentence + quote): "A recurring theme was that … as one participant put it, '…' (P7)."
Neutral close: "Taken together, scores increased from pre- to post-test."
Boundary alarm. The moment a Results sentence contains because, this suggests, possibly due to, or 可能是因为 — stop, cut the clause, and paste it into Discussion. Crossing the line isn't just a format slip: it sneaks an unproven cause in as if it were an observed fact. Report the fact here; explain it next section.
Turn your cleaned demo data into a Results paragraph — the "report only" rule is already wired into the prompt:
If Results answers "what?", Discussion answers "so what?" — what the numbers mean and why anyone should care. This is the one section where you finally get to interpret. Don't read the numbers out again; say what they mean. Follow this six-part outline and you basically can't go wrong:
Discussion — the six-part skeleton:
1 · CORE FINDING lead with your biggest finding — no slow build-up
2 · ANSWER THE RQ did the hypothesis hold? (demo: is post >= pre + 0.8?)
3 · LITERATURE compare to prior work — say BOTH agree & disagree
4 · IMPLICATIONS each one tied to a specific finding — who can use it
5 · LIMITATIONS 3 steps, no apology tone (name it -> effect -> fix)
6 · FUTURE WORK answers your own limitations — larger sample, control
don't write a SECOND Results — bridge past the numbers, don't repeat them
no new data here that wasn't in Results
Four ways a small study over-reaches — watch all four:suggest, don't prove (a small study rarely proves anything); a small sample means more caution, not more confidence; no significant difference ≠ proof of no difference ("absence of evidence is not evidence of absence" — a small sample can just be too weak to catch a real effect); and correlation is not causation — survey or observational data stops at "associated with", it never gets to "causes".
Sentence frames (demo: destiny-reframing, N = 22, 示例·非真实):
Lead with the finding: "The most important finding of this study is that …"
Answer the RQ: "Returning to the research question, it is now possible to state that …" — e.g. whether the success line "post ≥ pre + 0.8" was met.
Give an explanation (hedged): "A possible explanation for this might be that …"
Consistent with literature: "This finding is consistent with Smith (2000), who found that …"
Inconsistent (don't hide it): "Contrary to expectations, this study did not find … This discrepancy could be attributed to …"
Hedging (this is the lifeline): "These findings suggest that …" (never prove) / "results should be interpreted with caution."
Null result, said right: "No significant difference was found; however, this does not mean there is no effect — the small sample may have limited the study's power to detect one."
Correlation ≠ causation: "Although X and Y were correlated, this study cannot establish that X causes Y."
Limitation — small sample: "This study is limited by its small, non-random sample, which restricts generalizability."
Limitation — self-report: "Because the data were self-reported, responses may be subject to social-desirability bias."
Future work: "Future research should replicate this with a larger, more diverse sample and a control group."
The word that fails a Discussion is "prove". Swap every "proves" for "suggests / indicates", every "will" for "may". Never upgrade a correlation into a cause. Never write "we proved there is no difference" — write "we did not find evidence of a difference". And don't smuggle the Results table back in as prose: bridge past the numbers with one sentence ("as shown above, the post score was higher") and spend the paragraph on meaning.
Write the Discussion from your Results — the hedging and causation rules are bolted right into the prompt:
Sometimes the data lands and the effect you bet on just… isn't there — a null result (结果不显著). Nobody plans for this section, and half the projects here will need it. One line carries it: a non-significant result isn't a wasted study — an honest "we didn't detect it" beats a faked "it worked". Results still only reports; Discussion still explains; and rule one of explaining is never over-claim, and never touch the data to make p look nicer.
First, kill three myths. "Not significant" means this study didn't catch it — not that the effect is gone, and definitely not that you ran the experiment wrong. A null result is your data not backing your hypothesis; that's a real answer, not a mistake you made. Demo: the listening-to-music-while-memorizing idea predicts the music group recalls more words; you run it, and the music and silent groups come out about the same. The experiment didn't fail — you honestly measured "no visible difference in this setup".
The one logic to hold onto (Carl Sagan):
absence of evidence ≠ evidence of absence
没有证据 ≠ 证据表明没有
Statistically you can only FAIL TO REJECT the null hypothesis.
You can NEVER "accept" it — never claim "the two groups are the same".
A large (non-significant) p value may mean:
(A) there really is no effect, OR
(B) an effect exists but is smaller than this study could catch.
One p value cannot tell (A) and (B) apart.
And reporting it honestly is a gift to science, not an embarrassment. Rosenthal's file-drawer problem: journals fill up with the ~5% of studies that came out significant by luck, while the ~95% that didn't get shoved in a drawer — so everyone ends up over-rating how strong effects really are. Write your null result down and you're pulling one back out of that drawer.
Results: report it like a camera — don't hide a single p value. Significant or not, you write it the same way: past tense, the full set — group M and SD, the test statistic, degrees of freedom, and the exact p value (say p = .37, never a fuzzy "p was not significant"). Call it not statistically significant in plain words, and draw no conclusion, make no excuse — all the interpreting waits for Discussion. (Every number in the frames below is illustrative — 示例·非真实 — swap in your own; never copy these into a paper.)
APA p-value format — the traps high-schoolers hit:
p is a lower-case italic letter, 2-3 decimals
NO leading zero -> p = .03 (not 0.03)
under one-thousandth -> p < .001
NEVER -> p = .000 (p is never exactly 0)
significance is judged only vs. the α you fixed in advance (usually .05)
One upgrade: report a confidence interval (CI) instead of just a significant / not-significant coin flip. A CI is "the whole range of effect sizes your data could fit". When that range is wide and covers both zero and a possibly-big effect, the numbers themselves show why you're not sure — way more convincing than a bare "no difference".
Results — report it straight (past tense, numbers in full):
"There was no statistically significant difference in [word recall] between the [music] and [silent] conditions, t(18) = 0.91, p = .37."
Results — show the uncertainty with a CI:
"Group means did not differ significantly, M_music = 12.4 (SD = 3.1) vs. M_silent = 13.0 (SD = 2.8); the 95% CI for the difference [−2.4, 1.2] included zero."
Discussion: two people stand behind one p value — invite both in. Facing a null result, lay both live explanations side by side: (A) maybe there really is no effect; (B) maybe there is one, but your sample was too small — low statistical power — to catch it. Don't quietly pick (A) and call it your conclusion.
Power, in plain words = if a real effect is there, the chance your test actually catches it. Smaller sample → lower power → more likely to miss a real effect (a false negative). A common teaching line is 80%; a small high-school sample is almost always underpowered, so "small sample, power may be too low" belongs in nearly every null-result Discussion. Then say the honest word out loud — the study is inconclusive — instead of deciding it for the reader.
Discussion — read it right (no dead conclusion, both possibilities):
"We did not find evidence that [background music] affects [word recall], leaving the results inconclusive."
"A non-significant result does not show that no effect exists; it means our data were not strong enough to detect one."
"This null result may reflect either a genuine absence of an effect or insufficient statistical power to detect a small effect given our sample size (n = 20)."
"Absence of evidence for an effect is not evidence that the effect is absent."
Limitations — write the sample / power honestly (don't torch yourself):
"Our sample was small (n = 20) and drawn only from [our own class], so the study may have been underpowered to detect a small but real effect; future work with a larger, more representative sample is needed."
Write the value: turn "I didn't succeed" into "I ruled out something everyone assumed". Same data, not one digit changed — a different way of saying it moves the whole thing from failure to finding. Three moves:
Reframe 1Restate the contributionNot "I tried to prove X works and failed"; write "we tested the widely-assumed claim that X changes Y, and the data gave unsupportive / inconclusive evidence".
Reframe 2The more surprising, the more valuableIf everyone assumed [music surely helps memory] and you found it doesn't, you're challenging a taken-for-granted assumption — that's the paper's real selling point.
Reframe 3Signpost for whoever comes nextA null result is a road sign: "walked this path, no effect in this setup, don't redo it." Write "future work should use a larger sample / a different measure" — not "abandon this line".
Even with a non-significant main result, you've still got things to offer: descriptive stats (means, distributions, a trend chart), qualitative observations (what people said in interviews or open questions), and clues about why. Pair them with an effect size + CI + an honest power discussion, and your teacher reads it as someone who knows the craft — worth far more than a forced "significant" result.
Reframe — write the null result as a finding:
"This null result is itself informative: it challenges the common assumption that [listening to music straightforwardly improves memorization]."
"Although the primary comparison was not significant, our descriptive data and participants' comments suggest [pattern], which can guide future research."
"Our finding suggests future studies should use [a larger sample / a different measure], rather than that this line of inquiry should be abandoned."
The line: manufacturing significance is misconduct. Six named cheats — p-hacking / HARKing / spin / a "trend toward significance" middle tier / cherry-picking / file-drawer (just dropping the null section). Here are the two that trip students up most, in ✗ → ✓ form:
✗ → ✓ — the traps students step in:
✗ "The results showed a trend toward significance (p = .07)."
✓ "The difference was not statistically significant (p = .07)." — there is no "almost significant" tier; p = .06 is not "marginally significant". Past your fixed threshold = not significant, full stop.
✗ "Our study proved that music has no effect on memory."
✓ "We found no statistically significant evidence that music affects memory."
✗ "Music had no effect on recall." (one missing word — "significant" — flips a compliant line into a wrong conclusion)
✓ "There was no statistically significant difference in recall between the two conditions."
Never lay a finger on the data to push p under .05. No watching the p value to decide "should I collect a few more people" and stopping the moment it dips; no cherry-picking which points to delete or which model to run until it turns significant; no rounding p = .06 up to "≈ significant"; and above all no seeing the hypothesis fail, then swapping in a new one the data happens to support and pretending in the introduction it was your hypothesis all along (HARKing). One rule: fix the hypothesis first, then test; if it comes out non-significant, write it non-significant. Rigging significance is misconduct (questionable research practices) and the study is judged untrustworthy. The iron law of the whole day: an honest "we didn't detect it" always beats a manufactured "it worked".
Hand a non-significant demo result to Codex or Cursor — the red lines are wired into the prompt so it can't over-claim for you:
Seven traps that catch student projects every single year. We'll call them out by track — find the one pointed at your project and fix it before the data lands.
Over-claimSmall sample ≠ "all teenagers"20–40 people from one school covers "these people", not a generation. Say it small and precise — that's more credible, not less. (all tracks, especially anyone tempted to generalize)
CausationCorrelation isn't causeTwo things moving together ≠ one causing the other — reverse direction or a third variable (the ice-cream / drowning trap: summer). Cause needs a randomized experiment. (Mayor Climate Game wording, gender double-standard, self-seeking space)
No controlPre/post alone can't credit youWatch four impostors: history, maturation, testing effect, regression to the mean. Fix = a control group; without one, hedge "cannot rule out other causes". (line-choice queue experiment, destiny-reframing, sandwich-generation game)
LikertSingle item? Median, not mean1–5 is ordinal — report the median + response distribution. 60% piled on "strongly agree" = ceiling effect; don't fill missing values with 3. Only summed multi-item scores act continuous. (sandwich-generation game, destiny-reframing)
DemandThey guess what you wantIf the wording hints at the "right" answer, participants perform it — that's demand characteristics, and it kills internal validity. Fix = neutral wording, cover story, ask afterward what they thought it was about. (gender double-standard's leading single-choice → open question + coding)
Null ≠ nothing"No difference" is a findingQuick flag: don't treat "no difference" as failure, and don't over-claim it as "proved no effect". → full write-up in 06. (all tracks)
DescriptiveDon't over-reach into inferenceDescribe your few dozen people first (means / medians / % / a figure). Only run t-tests / chi-square when you truly generalize and the sampling supports it — and pick a test that fits the data type. (all tracks)
08 · Red lines, one screen
Every ethics rule from today, squeezed onto one screen. Screenshot it. Break any one line and no amount of cleaning or clever wording saves the paper.
① Never fabricate or falsify — not one digit. No inventing a response, no editing a value up or down, no writing a result you didn't get. This is the highest line; break it and the project is void. ② Never look at the result, then delete the inconvenient rows. Deletion rules are set before you look (ideally before you collect); a rule invented afterward is p-hacking by default. ③ If you deleted, you report it. "Started N = __, dropped __ (reason), final N = __." Silent deletion = concealment = as bad as fabrication. ④ One standard for everyone. Apply exclusions to all responses and both directions — not just the rows that hurt your hypothesis. ⑤ An outlier is not "a number I dislike". Fix the method in advance; often it's safer not to delete and use a method robust to extremes. ⑥ No cherry-picking, no HARKing. Report the analyses you planned — including null and against-expectation. Don't rewrite a hypothesis after seeing the data and pretend it was there all along. ⑦ Null ≠ nonexistence; correlation ≠ causation. "Not detected" is not "does not exist"; "associated" is not "causes". ⑧ Protect minors; keep raw data reproducible. Anonymize (P1, P2 — no real names), get consent, and keep the raw file so someone can rerun your steps and get your numbers.
09 · Exit ticket
Before you leave, hand in the same three things — you rehearsed all of them on demo data today, and you'll do them for real the moment your data lands. The dates are fixed: real data flows 7/7–7/10, and the paper is due 7/21.
Exit 1A "deletion rule" pre-registrationWritten before you collect: which categories you'll drop, why, and a dated note that the rule was set in advance. One or two lines.
Exit 2A Results draft on demo / placeholder dataFirst sentence = final N + exclusions. Report only — no because, no this suggests. Rough is fine; a fabricated number is not.
Exit 3One Discussion finding + one limitationA single sentence of your core finding (using suggest, not prove) and one honest limitation (small sample / no control / self-report).
CalendarData flows 7/7–7/10 → run the three stepsWhen your real responses land, do it for real: clean by your pre-set rule → write Results → write Discussion. Swapping placeholders for real numbers is the next step.
DuePaper due 7/21~4000 words APA, ≥10 real references. Cluster B (sandwich / destiny / AI-bias): clean + Results first. Cluster A: lock the main line before interpreting. Cluster C: freeze the design fix, then collect.
10 · Before you go — class feedback
Two minutes, every class. Tell us what landed and what didn't — it directly shapes next week's class.
Generation AI · Class Reflection & Feedback
Two minutes — your feedback goes straight to the teacher and shapes the next class. Thanks!