Define a reproducible question
See this course’s project requirements
An executable notebook and script that regenerate checked attendance totals, with raw data, an exclusion log, a data dictionary and a controlled rerun.
Keep your working files in your own notebook or software. Save a private description, checklist, and work link in My Proof.
What to include
- Question and inclusion rules.
- Preserved input and four-field dictionary.
- Executable analysis with exclusion reasons.
- Checked site/total reconciliation and interpretation.
- Clean-session baseline, correction test and complete handoff.
Review and revise
Use these criteria to check your work and choose what to improve.
- The stated metric matches the code.
- Exclusions and guards are explicit.
- Clean runs reproduce expected totals.
- The package contains enough information to rerun and interpret it.
Want more background?
The idea in everyday life
Rebuild a fictional attendance result from preserved data and executable steps.
A reproducible number needs a definition as well as code.
Define a reproducible question — guided practice
Specify the population, metric and exclusions before analysis.
Use free local JupyterLab with a Python 3 kernel, or an equivalent notebook environment that can read uploaded local files. Put analysis.ipynb and attendance.csv in the same new practice folder; no extra Python packages are used by the analysis. The CSV rows are S1 north 8 held; S2 south 6 held; S3 north blank held; S4 south 0 canceled; S5 north 7 held; S6 south 5 held; S7 north 4 held; S8 south 9 held. The supplied analyze.py runs the same calculation with Python from this folder. Use only these fictional records.
1. Define the unit
Write that one row is one session and attended is recorded visits, not unique people.
You should see: Repeated visitors may be counted more than once across sessions.
A metric’s unit constrains its interpretation.
2. Define inclusion
Write include status held with a present nonnegative integer count; exclude canceled and blank attendance with reasons.
You should see: S3 and S4 will be excluded for different reasons.
Predefined rules prevent convenient after-the-fact choices.
3. Predict the count
Count the included session IDs by hand.
You should see: S1,S2,S5,S6,S7,S8: six rows.
A small fixture allows an independent prediction.
4. Write a limit
Add that missing attendance is not estimated and the output cannot count unique people.
You should see: The question is narrower than total people served.
A precise limit prevents overclaiming.
What to finish
A question, inclusion rule and interpretation limit.
Watch for this
Silently treating missing counts as zero visits.
How can I tell I understand it?
Complete the changed case, explain your result, and pass the three application checks.
Quick knowledge check
Answer all 3 questions. Get at least 2 right and the lesson completes automatically.
You’ll get an explanation for each answer. Signed in? Your results save to your account.
Pass the check. We’ll save the progress.
Answer all 3 questions above and get at least 2 right. You can review the explanations and try again.
Go to the knowledge checkOptional course overview video
Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough
From Corey Schafer. Watch here or open it on YouTube .
Optional course overview. Follow the written steps below at your own pace.Tools, templates, and lesson sources
Tools and templates
Tools open in a new tab so you can keep your place here.
Sources and further reading
Explore the references behind this lesson.
Source & access notes · checked 2026-09-12
Opened and inspected on 2026-09-12: Preserving raw data and recording transformations.
Access: Free public web page; no paid enrollment required.
Reuse: The linked curriculum license page identifies instructional material as CC BY 4.0. Link only; LifeStarter data, code and explanations are independently authored.
Source & access notes · checked 2026-09-12
Opened and inspected on 2026-09-12: Directory structure, metadata and project handoff.
Access: Free public web page; no paid enrollment required.
Reuse: The linked curriculum license page identifies instructional material as CC BY 4.0. Link only; LifeStarter data, code and explanations are independently authored.
Source & access notes · checked 2026-09-12
Metadata retrieved and inspected on 2026-09-12: exact title and channel confirmed through YouTube oEmbed. Playback and full video content were not tested. Optional overview; the written lesson and supplied practice stand alone.
Access: Free public web page; no paid enrollment required.
Reuse: Link or provider embed only; do not copy video, audio or transcript.
Report a problem with this lesson
Tell us what went wrong. Please leave out personal information and private project contents.