Course syllabus / 16 sessions

Every class has a job, an artifact, and a misconception to surface.

Two sessions per week for eight weeks. Every student action is a tap, selection, measurement, comparison, or oral explanation....never a prose response. Sessions 7–16 require one fixed-choice interpretation of real analysis Python. Three spaced sessions also offer one optional typed line.

FACILITATION RULEAsk for the student’s evidence choice before giving the scientific name.

The teacher is not expected to troubleshoot code. Sessions 7–16 require one read-and-judge question about manual dip analysis. After four unsuccessful choices, the stored interpretation is applied and the investigation continues. The expanded Code Lens and typed lines in Sessions 8, 12, and 15 remain optional and failure-contained.

Phase I

Recover a Transit

Learn the signal, plan a night, and recover a known transit in the guided training observatory.

Available
SESSION 01Find the transit fingerprintWeek 1 · Prediction-versus-observation cardAvailable

Learning goals

  • Recognize a transit-shaped signal
  • Separate a prediction from a result

Students do

Predict three possible light-curve shapes, watch a modeled transit, and lock the pattern that the data should contain.

Produced artifact

Prediction-versus-observation card

A prediction card that is automatically compared with the revealed signal.

Opening evidence check

Which observation most clearly rules out a permanent dimming?

  1. AThe light returns to its original baseline
  2. BThe event lasts more than an hour
  3. CThe dip has a dramatic shape
SESSION 02Separate signal from scatterWeek 1 · Signal-quality cardAvailable

Learning goals

  • Interpret transit depth
  • Use RMS as a noise indicator

Students do

Compare three light curves with similar dips but different scatter and choose which result can support the strongest claim.

Produced artifact

Signal-quality card

A signal-quality card containing depth, RMS, and a bounded claim.

Opening evidence check

Which number describes the scatter outside the transit?

  1. AOut-of-transit RMS
  2. BTransit depth
  3. CNumber of frames
SESSION 03Plan a night that can answer the questionWeek 2 · Observation-plan cardAvailable

Learning goals

  • Balance exposure and cadence
  • Explain why baseline coverage matters

Students do

Build an observing plan, test it against timing guardrails, and revise choices until the transit and both baselines are covered.

Produced artifact

Observation-plan card

An automatically generated observing-plan card with accepted parameters and warnings.

Opening evidence check

Why collect light before and after the predicted transit?

  1. ATo establish the normal baseline
  2. BTo avoid measuring the transit
  3. CTo confirm the predicted timing
SESSION 04What changes when someone else planned the nightWeek 2 · Public-archive transit evidence bundleAvailable

Learning goals

  • Complete the end-to-end investigation loop
  • Issue a bounded result

Students do

Recover the known WASP-12 b transit from the frozen public TESS Sector 20 classroom bundle, then identify which observing decisions were inherited rather than chosen here.

Produced artifact

Public-archive transit evidence bundle

A source-traceable MAST transit bundle and measured light curve.

Opening evidence check

What is the strongest claim one public-archive light curve can support?

  1. AA new planet is confirmed
  2. BA transit-like signal was recovered
  3. CEvery future observation will match

Phase II

Interrogate Real Data

Inspect vetted FITS frames, preserve source identity, and make photometry choices without command-line setup.

In development
SESSION 05Read what a FITS frame claimsWeek 3 · FITS frame-acceptance mapIn development

Learning goals

  • Identify essential FITS metadata
  • Apply a single-filter frame rule

Students do

Inspect a vetted FITS header profile, identify the filter and timing fields, and quarantine frames with missing or inconsistent metadata.

Produced artifact

FITS frame-acceptance map

A frame-acceptance map with every decision tied to a visible rule.

Opening evidence check

Why must the frame count be checked within one filter?

  1. ACombining filters always reduces noise
  2. BFilters only change filenames
  3. CDifferent filters measure different passbands
SESSION 06Keep the target through a moving fieldWeek 3 · Target-track recordIn development

Learning goals

  • Explain WCS at a conceptual level
  • Recognize a failed source track

Students do

Lock a target on a calibrated frame, follow its rotation and translation, and identify a failed track before photometry runs.

Produced artifact

Target-track record

A target-track record with sky-coordinate and alignment checks.

Opening evidence check

What must tracking preserve across the sequence?

  1. AThe exact pixel coordinates forever
  2. BOnly the brightest pixel
  3. CThe identity of each measured source
SESSION 07Measure starlight with an apertureWeek 4 · Aperture decision cardIn development

Learning goals

  • Describe aperture tradeoffs
  • Use normal-light jitter and contamination together
  • Interpret a Python threshold that flags candidate low points

Students do

Compare tight, balanced, and wide apertures on the same sequence and choose the setting with the strongest evidence profile.

Required reading + optional code bridge

dip_points = relative_brightness < 0.99

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Edit APERTURE_RADIUS = 8

Change one guarded digit and watch the light curve and RMS execute again. Values outside 3 to 14 px fall back safely to 8 px.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Aperture decision card

An aperture decision card with curve, RMS, and contamination flags.

Opening evidence check

What can happen when an aperture is too wide?

  1. AIt removes all background
  2. BIt guarantees lower RMS
  3. CIt can admit extra sky or a neighbor
SESSION 08Build a stable comparison ensembleWeek 4 · Comparison and detrending recipeIn development

Learning goals

  • Select stable comparison stars
  • Interpret why Python calculates a median reference light
  • Optionally write one Python assignment for the comparison-star count

Students do

Reject unstable references, build an ensemble, compare no correction with airmass correction, and lock a reduction recipe.

Required reading + optional code bridge

reference_light = median(comparison_stars)

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Write COMPARISON_STAR_COUNT = 5

Type one assignment from a plain-language prompt. Four misses trigger the stored correct line without pausing the science.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Comparison and detrending recipe

A reduction-recipe card listing accepted references and correction choice.

Opening evidence check

Why use several valid comparison stars?

  1. AThey make the transit deeper
  2. BThey replace the target
  3. CIndividual quirks can average out

Phase III

Survey the Field

Screen archive fields, reject artifacts, test spatial alternatives, and prioritize the next observation.

Pilot testing
SESSION 09Use the small telescope's wider fieldWeek 5 · Calibrated field censusPilot testing

Learning goals

  • Distinguish mirror aperture from field of view
  • Apply a fixed source-count gate to a real archive snapshot
  • Interpret a Python list that keeps measurable stars

Students do

Use the real 335-to-324 source census from Las Cumbres Observatory night 187990518 to decide why the 0.4-meter telescope advances.

Required reading + optional code bridge

usable_stars = [star for star in field if star.is_measurable]

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Read MIN_USABLE_FIELD_STARS = 30

Connect the visible field-census gate to the exact threshold used by the screen.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Calibrated field census

A source-count card tied to instrument, sampled frames, and the fixed Phase III gate.

Opening evidence check

Why is the 0.4-meter night the stronger field-survey source?

  1. AIts wider field contains hundreds of control sources
  2. BIts smaller mirror makes all stars brighter
  3. CIt has fewer pixels to inspect
SESSION 10Match each archive source to its real jobWeek 5 · Mission-to-source capability mapPilot testing

Learning goals

  • Match archive capabilities to mission requirements
  • Interpret a Python quality-flag filter
  • Optionally identify a per-filter counting bug in a short Python snippet

Students do

Map NASA TESS Sector 20, ground night 187990518, ground night 179120561, and the course fallback to the missions each can support.

Required reading + optional code bridge

clean_light = light[quality_flag == 0]

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Find a per-filter counting bug

Judge a three-line snippet by multiple choice and identify why len(frames) applies the 100-frame rule incorrectly.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Mission-to-source capability map

A capability map with source-specific roles and an automatic continuity path.

Opening evidence check

Which source should teach real field rotation?

  1. AGround night 187990518 / 0.4-meter wide field
  2. BGround night 179120561 / 2-meter field rotator
  3. CNASA archive / TESS Sector 20
SESSION 11Ask whether the dip belongs to the targetWeek 6 · Spatial-disposition mapIn development

Learning goals

  • Use neighbor behavior as evidence
  • Issue a spatial disposition
  • Interpret a Python condition that requires a target-only dip

Students do

Compare target and neighbor light curves, inspect a spatial residual map, and assign a disposition.

Required reading + optional code bridge

target_only = target_dips and not neighbor_dips

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Read NEIGHBOR_RADIUS_PX = 15

Connect the spatial-neighbor choice to the radius represented in the analysis record.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Spatial-disposition map

A spatial-disposition map labeled isolated, shared, or unresolved.

Opening evidence check

What weakens a planetary interpretation most?

  1. AThe baseline is long
  2. BNearby stars share the same dip
  3. CThe target dip is shallow
SESSION 12Rank what deserves another nightWeek 6 · Candidate priority boardIn development

Learning goals

  • Prioritize by converging evidence
  • Interpret Python that counts repeated event matches
  • Optionally write one Python assignment for the follow-up allocation

Students do

Rank candidate records using quality, spatial disposition, repeatability, and observing feasibility.

Required reading + optional code bridge

repeat_count = sum(event_matches)

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Write FOLLOWUP_NIGHTS = 1

Retrieve the same assignment pattern later and connect the follow-up allocation to a reproducible priority record.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Candidate priority board

A prioritized target board with tap-selected reasons for each rank.

Opening evidence check

Which target deserves the highest follow-up priority?

  1. AThe deepest dip regardless of source
  2. BThe one observed on the clearest night
  3. CThe one that passes quality and spatial checks

Phase IV

Vet and Defend a Candidate

Compare independent reductions, answer a skeptic card, and defend a bounded claim aloud.

Pilot testing
SESSION 13Pre-register the candidate testWeek 7 · Pre-registered test cardPilot testing

Learning goals

  • Explain pre-registration
  • Choose a bounded success criterion
  • Interpret a Python threshold for acceptable normal-light scatter

Students do

Choose the expected event window, quality threshold, alternative explanations, and stop conditions before opening the assigned result.

Required reading + optional code bridge

steady_enough = baseline_scatter <= 0.0035

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Read MAX_OOT_RMS_PERCENT = 0.35

Connect a pre-registered quality ceiling to the code that preserves it before the result is opened.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Pre-registered test card

A sealed, tap-built investigation contract.

Opening evidence check

Why lock expectations before seeing the final curve?

  1. ATo guarantee a detection
  2. BTo reduce hindsight bias
  3. CTo avoid revising any idea
SESSION 14Run independent analytical choicesWeek 7 · Class reproducibility matrixPilot testing

Learning goals

  • Compare independent reductions
  • Distinguish formal error from analysis spread
  • Interpret Python that converts in-transit light into blocked-light depth

Students do

Complete assigned aperture, ensemble, detrending, or spatial roles and compare the resulting depth, RMS, and gate.

Required reading + optional code bridge

transit_depth = 1 - median(in_transit_light)

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Read DETRENDING_METHOD = "airmass"

See an analytical choice become a named, inspectable setting instead of an invisible default.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Class reproducibility matrix

A class reproducibility matrix with twenty pseudonymous slots.

Opening evidence check

What does disagreement between defensible reductions reveal?

  1. AThe target must be fake
  2. BAnalysis choice contributes uncertainty
  3. COnly one student understood the task
SESSION 15Challenge the favored explanationWeek 8 · Counterclaim response deckPilot testing

Learning goals

  • Match alternatives to tests
  • Interpret a Python condition that requires a clean, target-only dip
  • Optionally write one Python string assignment for a cautious source disposition

Students do

Draw a skeptic card, match it to the strongest available test, and revise the claim rung if the challenge survives.

Required reading + optional code bridge

planet_like = clean_dip and target_only

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Write SOURCE_OWNERSHIP = "unresolved"

Use quotation marks for one text value and represent a cautious disposition directly rather than translating it into false certainty.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Counterclaim response deck

A challenge-response deck assembled entirely through choices.

Opening evidence check

What is the strongest response to a plausible alternative explanation?

  1. AHide the uncertain evidence
  2. BPoint out that the alternative is unlikely
  3. CShow the test that bears on it
SESSION 16Defend the candidateWeek 8 · Oral evidence board and defense recordPilot testing

Learning goals

  • Defend a bounded claim orally
  • Interpret one Python list that finds candidate low points
  • Recognize the click-built analysis inside an exported Python script

Students do

Build a claim rung, select three evidence tiles, answer one skeptic card, state one limitation, and deliver a 60-second oral defense.

Required reading + optional code bridge

candidate_points = [flux for flux in light_curve if flux < 0.99]

The fixed-choice reading check is required. Four unsuccessful tries apply the stored scientific meaning automatically.

Export the click-built analysis as Python

Download a runnable standard-library script containing the guarded setting, forecast, evidence decisions, and source boundary.

The expanded Code Lens and typed line practice never gate completion, saving, or the next session.

Produced artifact

Oral evidence board and defense record

An automatic defense board plus a tap-only peer or teacher rubric; no prose is entered or recorded.

Opening evidence check

What is the student actually defending?

  1. AThe measurement itself
  2. BA bounded claim supported by selected evidence
  3. CA claim that the planet is confirmed

Teacher assessment

Reasoning is visible without collecting student prose.

The teacher sees locked predictions, selected analysis choices, retries, quality-gate outcomes, exit-ticket concepts, and the final defense rubric. Timing indicators are prompts for a check-in, never grades or claims about attention.