The current week appears first and starts open. Expand earlier weeks to recover lecture, reading, and project links. Earlier entries are review routes; current project briefs and the Schedule govern requirements and deadlines.
Preparation identifies a bounded reading focus. Reference supports work on a specific problem. Enrichment is optional. Follow the Projects page and your project brief for what to implement and submit.
Current · Week 10 · October 27–29 · Project 4 completion and real data
Preparation and project context¶
Finish Project 4, due Wednesday, October 28, 11:59 pm PT. The project brief defines the required work; use the Schedule for this week’s dates.
Tuesday, October 27 — Foundations for scientific Data Science¶
How do noisy observations let us infer a physical quantity? Begin with the connection between a forward model, measurements, and inference. Review random variables, distributions, expectations, variance, and covariance, then connect vectors, data matrices, dot products, and projections to model predictions. Use a simple scientific measurement example to connect the ideas. Class also includes Project 4 questions and completion time.
Thursday, October 29 — Begin the methods¶
Move from the scientific question to data inspection and a first model fit: provenance, units, missing values, residuals, and uncertainty weights. Introduce the real Kepler photometry workflow, including quality flags and gaps, as the application for Project 5. The project brief will define the implementation scope and required work.
Focused reference¶
Measurements, probability, and geometry: the primer for this week’s foundations.
Statistical tools: Section 2.6 for variance and standard deviation; Section 2.1 for covariance, correlation, and independence.
Dot products and projections and covariance matrices: connect the geometry of data to statistical variation.
Pandas fundamentals: review column inspection, types, boolean masks, and missing values.
These are selected reference sections, not whole-chapter assignments. Current project briefs govern requirements and deadlines.
Lecture and reference links¶
Lecture 13 · Measurements, Probability, and Geometry: slides and worked handout for today’s foundations.
Lecture 11 · ODE Methods: slides and worked handout for Euler, explicit midpoint RK2, RK4, and convergence.
Lecture 12 · Pandas and Exploratory Data Analysis: slides, worked handout, and the saved NASA CSV. Use your own notebook to inspect and explore the table; there is no separate exploration submission.
Project 4’s NASA data selection: the required columns, flags, uncertainty checks, and row counts for Part 3.
Data acquisition and cleaning is an in-development scope note, not a completed technical lesson.
Project work¶
Use Project 4’s required tests and submission to check your remaining work:
Verify the ODE methods against the exact SHO solution and check EOS unit conversions.
Check the constant-density planet, surface bracket, and numerical sensitivity to step size and starting radius.
Complete the three-material mass–radius comparison, including the Seager fit differences, NASA uncertainties, two named exoplanets, and selection counts.
Complete the interpretation answers and README, save the three required figures and NASA CSV, then restart the notebook and run all cells. Run
python -m pytestfrom the project directory before submission.
Bring your current code and the first check you cannot yet explain. Keep numerical refinement evidence separate from agreement with a published fit and from comparison with observed planets.
Looking ahead¶
Project 5 continues from the foundations and first fitting methods into data preparation, transit-model fitting, uncertainty, and diagnostics. The Schedule lists Project 5 for Thursday, October 29, due Wednesday, November 18, 11:59 pm PT. Its public brief is not yet available; use the Projects page and Schedule for the current sequence and dates.
Week 6 · September 29–October 1 · Kepler geometry and Project 3
Preparation and project context¶
Use Project 3 Science Background alongside the corresponding project parts:
Parts 1–2: Sections 1–2 explain spectral density and the physically relevant Wien root. Why can a small residual still select the wrong root?
Parts 3–4: Sections 3–8 connect orbital parameters, mean/eccentric/true anomaly, sky projection, and transit contacts. Trace the calculation from a trial time to a contact residual; distinguish orbital distance from projected separation and distinguish front from back.
Part 5: Use the stellar temperature-zone calculation to identify the stored quantities, derived quantities, and round-trip checks for your
Starclass.
Lecture and reference links¶
Software Engineering for Scientists: slides, handout, and companion reading for contracts, independent checks, debugging, and reproducible results.
Lecture 10: scientific classes and the Project 3 Part 5 lab.
Root-finding investigation: interpret residuals, updates, and brackets.
Class basics, properties, and type-contract tests: return to the examples needed for
Star; inheritance and operator overloading are not Project 3 requirements.
Project work¶
Work through Project 3, using its check-each-layer table to choose your next calculation:
Check the root library before relying on it in an application.
Recover the circular orbit before computing eccentric transit contacts.
Check contact selection and ordering, then compare circular durations with the analytic formula.
Check the
Startemperature round trip and complete the fifteen-star comparison.Restart the notebook and run all cells before your final commit and submission.
Bring your current code and the first check you cannot yet explain. Use the Schedule for the current project deadline and the project rubric for the assessment dimensions. There is no separate lab submission.
Enrichment and looking ahead¶
Advanced root-finding methods and dataclasses remain optional enrichment. Next week’s Block 4 begins ODE methods; its lecture pages are being prepared. Existing Euler and Runge–Kutta readings are available for reference and remain under revision.
Week 5 · September 22–24 · Trustworthy answers and scientific classes
Preparation and reference¶
Prepare for Tuesday¶
Read convergence rates and the root-evidence investigation. Be ready to distinguish residual, update, and root error.
Review after Tuesday¶
Backtracking: direction, distance, and acceptance.
Jacobians and local fitting: matrix dimensions, predicted changes, and damping.
Safeguarded methods: preserve a bracket while using local proposals.
Adaptive estimates, Richardson extrapolation, and Gaussian quadrature: match the method to the available information.
Focus on the explanations and worked examples. Implementations of advanced methods are optional enrichment; Project 3 requires the basic solvers specified in its brief.
Prepare for Thursday¶
Read class basics and
self, methods, and properties. Follow the introductory examples; extended examples and exercises are optional.Read the type contract and tests of that contract. The example uses a dataclass; understand its stored fields and validation, but implementing a dataclass is optional. An ordinary class is sufficient for Project 3.
Inheritance and operator overloading are not required. Review imports and python -m pytest in Functions and Modules if needed.
In class¶
Tuesday, September 22: Lecture 9 surveys methods including backtracking, Levenberg–Marquardt, integration, and convergence evidence; then Project 2 work time. Advanced methods are conceptual context, not new implementation requirements.
Thursday, September 24: Lecture 10 develops methods, attributes, constructors, public and internal names, properties, and scientific classes; then Project 3 Part 5 lab.
Bring your Python environment, Project 1 stellar data and luminosity code,
and any completed Project 3 Part 2 work. In lab, build the Star class for
Part 5, reject invalid state, check derived values, and start the fifteen-star
comparison.
Project work¶
Project 2 · Numerical Integration connects quadrature to transit models. Its past deadline is recorded in the Schedule.
Project 3 · Root Finding and Stellar Inference
uses the current deadline in the Schedule. Build reusable root
finders, investigate Wien’s law, compute
Keplerian positions and transit contacts, and use a Star class for simplified
equilibrium-temperature zones. The project brief governs requirements and
submission; use the course project rubric
for the assessment dimensions.
Use the Science Background for the spectral-density explanation, worked orbital example, and contact diagrams. Read those sections alongside the corresponding project parts.
By the end of this week, aim to finish Parts 1–2 and begin Part 3. Test the root library before using it for orbital calculations. These are pacing milestones; the required submission is defined in the project brief.
Week 4 · September 15–17 · Quadrature
Lecture reference: Lecture 7 and Lecture 8 bridge adaptive quadrature and root-finding tools. Use the Lecture Library for the complete sequence.
Reading focus: review trapezoidal and Simpson rules, adaptive quadrature, and the quadrature investigation. How does a refinement experiment distinguish observed convergence from nominal order?
Project connection: Project 2. Gaussian quadrature and Monte Carlo are optional enrichment; the brief defines the integration methods to implement.
Week 3 · September 8–10 · Approximations, errors, and reusable methods
Lecture reference: Lecture 5 and Lecture 6.
Reading focus: forward and central differences, error types, absolute/relative error, and Taylor polynomial and remainder. What changes when the step becomes smaller, and which error mechanism sets a limit?
Reference: function contracts and modules.
Project connection: Project 2, including meaningful tests and convergence evidence. Automatic differentiation and custom higher-order formulas are reference/enrichment routes.
Week 2 · September 1–3 · Functions, arrays, and figures
Lecture reference: Lecture 3 and Lecture 4.
Reading focus: lists and tuples, mutability and aliasing, and function contracts. Use the first-reading routes in NumPy and Matplotlib for array shapes, vectorization, labeled axes, and figures. What quantity does each array axis represent, and what can a reader infer from the figure?
Project connection: Project 1. Class design is later reference; Project 1 permits its functions in the notebook.
Week 1 · August 25–27 · Python foundations and setup
Lecture reference: Lecture 1 and Lecture 2.
Reading focus: use Getting Started for software setup and Git; use the Part I guide to find the initial routes through environments, legible calculations, floating-point comparisons, and pseudocode and state. Which interpreter ran the calculation, and what makes the procedure stop?
Project connection: Project 1. The Schedule records the original setup and repository-check dates; the brief and Canvas assignment govern the repository submission route.