execution-plan/weeks/week-01-fermentation-simulator/learning-notebook.md

execution-plan/weeks/week-01-fermentation-simulator/learning-notebook.md · UPDATED 2026-10-01

LABLOOP W01 — fermentation simulator: full learning notebook

11 parts6,565 words 16 checkboxes — tick them, they save to the file

Trimmed 2026-09-29. The seven-day plan is now one mission per day, and study stops at the understanding check. Where this notebook names more reading than the day's mission, that extra reading is optional (Saturday rabbit-hole slot).

Prepared 2026-09-23 for Peter Ciancaglini. This is a study and execution guide; it does not record that you completed the work. Keep your existing notes, commitments, progress and evidence. Write actual results in the existing evidence register, not into the illustrative examples below.

Original weekly brief · Commitment · Evidence · Review · Existing read/watch materials · Notebook index and export guide · NotebookLM upload text

Previous notebook · Next notebook

01

01

1. The week in plain language: what, why and where it leads

You will build a small mathematical fermentation tank and make its measurements travel through a software system. Biomass X means the amount of living material per volume; substrate S is food; product P is the useful output; dissolved oxygen O is oxygen available in the liquid. These are changing quantities, called states. An equation tells the computer how quickly each state changes. A sensor pipeline then turns those simulated states into timestamped messages and a graph. This teaches biological meaning and systems behavior together.

Your systems, software and AI connection. A rate equation becomes a Python function; integration becomes repeated state updates; a measurement becomes an event with a schema. This is the mechanistic foundation of the Week 12 hybrid model and Paper 2. Knowing what a state means prevents an elegant model from predicting a biologically meaningless quantity.

Dependency map from the existing programme.

  • ← From: week 0 cockpit and batchlens repo.
  • → Feeds: week 2 (you will recognise X, S, P and DO in the simulated benchmark batches), week 3 (your fake fault becomes the first thing your alarms must catch), week 9-11 (the same equations reappear as mass balances in NPTEL), week 12 (your Monod model becomes the "mechanistic half" of the hybrid model), week 17 (Paper 2 learning curves).
  • ⟳ Returns in: week 12 and Paper 2. The 80 lines you write this week are literally the physics inside Paper 2's hybrid model.

Gate and proof required by the current weekly specification.

This is an enabling week. Its deliverables feed the next scheduled gate: 4. Complete the acceptance checklist below; do not promote reputation from a draft.

The milestones are targets, not predictions of success. A prepared notebook, generated visual, course completion or draft paper is not a substitute for the required evidence. Your final profile should connect a clear scientific question to working software, trustworthy data, measured comparisons, documented limitations and your own contribution.

↑ Back to top
02

02

2. Before starting: locate inputs and repair only the needed foundations

  • Week 00: inspect its actual evidence and review; source/code artifacts must exist before the dependent task begins.
  1. Open the existing commitment and previous review/evidence. Identify which required inputs are present, missing or stale. A folder name does not prove its project is complete.
  2. Locate the canonical code/data repository and note its current version. The coordinating files named below live in this weekly folder; implementations and measured outputs belong in the canonical project, linked from evidence.md.
  3. Read the plain-language explanation and worked example before selecting sources. Try the small calculation or reasoning exercise on paper. Mark any unfamiliar symbol or word.
  4. Use the relevant refresher below inside your allocated study time. Say the idea aloud in your own words, work one example and connect it to a named output. Park material that does not unblock this week.
  5. Write the next physical action in TODAY.md and start the allocated block. If a human, dataset or external event is missing, continue independent preparation and mark the dependent task pending.

You have professional experience and are rebuilding dormant foundations; unfamiliar notation is a repairable gap. For each equation, identify the question, read every symbol aloud, attach units, substitute small numbers and only then translate it to code.

↑ Back to top
03

03

3. Foundation refreshers you can use without another notebook

Biological quantities behind the software

A cell is a living organized system with a boundary, molecular machinery and reactions. DNA stores sequence information; genes can be transcribed into RNA; protein-coding RNA can be translated into amino-acid chains called proteins. Many proteins are enzymes, catalysts that speed particular reactions. A substrate is a molecule an enzyme acts on, or, in a process model, an available nutrient; context determines the precise meaning. A strain is a particular lineage within an organism species, so species and strain are not interchangeable identifiers.

Cells obtain usable energy through metabolic reactions. ATP is a common molecular energy carrier, not a synonym for food. Oxygen can support respiratory metabolism, but organisms and process conditions differ; oxygen need should be an explicit assumption. In biotechnology, “fermentation” often refers broadly to microbial cultivation, including aerated processes, while biochemical fermentation has a narrower metabolic meaning.

Titer measures product concentration, often g/L. Yield compares product with an input, such as g product/g substrate consumed. Productivity includes time, such as g/L/hour. A higher concentration can coexist with slower production or worse yield. Record the exact quantity your code predicts, how it was measured and its units. This makes a table column a biological measurement rather than just a convenient number.

Rates, derivatives, integrals and gradients from the beginning

A variable is a named quantity that can change. A function is a rule: give it an input and it returns an output. If X(t) is biomass at time t, the derivative dX/dt means “how fast biomass is changing now.” Read dX/dt as one rate, not a mysterious fraction you must memorize. If biomass rises from 1 to 1.6 g/L in two hours, its average rate over that interval is (1.6−1)/2=0.3 g/L/hour; the instantaneous rate may differ.

An integral adds many small contributions. If a pump feeds 2 L/hour for three hours, the accumulated feed is 6 L. For changing feed F(t), write added volume = integral of F(t) dt. Numerically, sum F at each short interval times that interval’s duration. Liters/hour times hours gives liters. Smaller steps can improve an approximation; they do not repair a wrong equation. An ODE, ordinary differential equation, defines a rate in terms of the current states and time. A solver starts with known initial states and accumulates their rates to estimate the trajectory.

A gradient collects derivatives with respect to several adjustable parameters. It points toward local increase; gradient descent steps the other way to reduce an error/loss. For loss L=(w−3)^2, the derivative is 2(w−3). At w=1 the derivative is −4; subtracting 0.1×(−4) gives w=1.4, closer to 3. This is the bridge from a hill analogy to model fitting. You need interpretation, units and small calculations before formal proofs. Optional repair: read the rectangles-and-area introduction in OpenStax Calculus 5.1, within the existing study block.

Vectors, matrices and PCA as operations on measurements

A scalar is one number. A vector is an ordered list: [biomass, sugar, product] at one time. A matrix is a rectangular table of numbers, often observations in rows and measurements in columns. Shape matters: a 100×5 matrix contains 100 observation rows and five features; it does not automatically mean 100 independent batches. Write the column names and units beside the matrix.

Multiplying a matrix by a vector forms weighted combinations. For A=[[1,2],[0,1]] and v=[3,4], Av=[1×3+2×4, 0×3+1×4]=[11,4]. This same operation appears in regression, neural networks and dimension reduction. A fitted model learns some of those weights from data.

PCA, principal component analysis, finds directions of variation in centered data. Think of rotating your view of a cloud of points to see its longest dimension. The coordinates in the new directions are scores; the directions’ weights are loadings. Reconstructing from a few components leaves a residual. Variables with different scales can dominate unless scaling is justified, so fit scaling on training data and record it. A component with large variance is not automatically biologically important or predictive of your target. Practice by drawing two correlated sensor channels and their long axis.

↑ Back to top
04

04

4. This week’s specific study bridge

Biology B1: proteins are molecular chains and many enzymes speed specific reactions; substrate availability limits some rates. AI M1: a matrix forms weighted combinations of a vector. Draw the molecule-to-reaction story, then calculate one 2×2 matrix product and reproduce it in NumPy. Those two notes explain both the state variables and their computational representation.

Biology/domain assignment retained from the plan

Source unit: B1 · Molecules of life and enzymes

Material: OpenStax Biology 2e ch. 3 (biological macromolecules) and ch. 6.5 (enzymes) — openstax.org/details/books/biology-2e. Crash Course Biology "Biological Molecules" (YouTube)

Produce: 1 page of notes in notes/bio/B1.md + 5 questions

Understanding check: You can say what a protein, an enzyme and a substrate are without looking

AI/scientific-method assignment retained from the plan

Source unit: M1 · Linear algebra, intuitively

Material: 3Blue1Brown "Essence of Linear Algebra" ch. 1-7 (YouTube, 1.25x)

Produce: Notes; numpy re-doing 3 examples

Understanding check: You can say what a matrix does to a vector

These inherited chapter/lecture lists are resource menus. Select the subsection that answers the named understanding check. Do not add full-course viewing to the 600-minute week. The source/stash section below supplies the existing locators and marks searches as searches.

↑ Back to top
05

05

5. Resource stashes: open, study, apply and retain

Open this week’s resource stash or the complete weekly deck. These addresses work when the local cockpit runs on its default port; use its current address if you changed it. The public source links below also work independently of the cockpit. The weekly stash groups the existing cards; saving a card does not mark it studied.

Use core resources first, run resources when implementing a specific step, and deeper resources only after the critical work fits. Read the stated scope with one question in mind, then produce the note/calculation/artifact before opening another source. Times are inherited estimates, not extra allocations or a promise that every resource fits. Some cards contain an entire course or repository: use only the named topic/exercise.

Source status. This catalog preserves the programme’s resources. Direct links are locators, not a claim that all content was freshly inspected. Search links still need an exact source selected. The source-check log records the targeted checks and corrected FLIP locator; verify mutable versions, access rights, venues, roles and costs when executing. A NotebookLM upload does not automatically import every linked page.

Card and source Tier / slot Scope or task from the existing resource Time guide
SciPy docs, scipy.integrate.solve_ivp — source · card core / Monday The Examples section only, especially the Lotka-Volterra style system 30 min (estimate)
LearnChemE (CU Boulder) · "Monod Cell Growth Example (Bio)" — source · card core / Monday A hand-sketched growth curve taped next to the screen 6 min
Crash Course Biology #3 · "Biological Molecules — You Are What You Eat" — source · card core / Tuesday The three molecule families named from memory 12 min
OpenStax Biology 2e, ch. 3 "Biological Macromolecules" — source · card core / Tuesday 3.1 and the protein section; skim carbohydrates and lipids; finish on Chapter Summary 30 min (estimate)
OpenStax Biology 2e, 6.5 Enzymes — source · card core / Tuesday Whole section, plus the chapter-6 review questions reachable from Ch. 6 Introduction if time allows 30 min (estimate)
Khan Academy (MCAT) · "Enzymes and activation energy" — source · card core / Tuesday Optional explanation of the card’s named concept; use only if the core note is unclear. 10 min
eclipse-paho/paho.mqtt.python README — source · card core / Wednesday "Publish a single message" example 30 min (estimate)
3Blue1Brown · Essence of Linear Algebra — source · card core / Thursday notes/ml/M1.md; re-do 3 of Grant's examples in NumPy 75 min
SciPy documentation for scipy.integrate.solve_ivp (the solver you will use); read the "Examples" — search; resolve first · card deeper / Saturday · sandbox, optional SciPy documentation for scipy.integrate.solve_ivp (the solver you will use); read the "Examples" section 30 min (estimate)
Pioreactor project docs (pioreactor.com) — see a real, open-source mini bioreactor with optical… — source · card deeper / Saturday · sandbox, optional Pioreactor project docs (pioreactor.com) — see a real, open-source mini bioreactor with optical density and temperature sensors; it makes "online variables" tangible 30 min (estimate)
LearnChemE · "Washout Derivation in CSTR Bioreactor (Bio)" — source · card deeper / Saturday · sandbox, optional LearnChemE · "Washout Derivation in CSTR Bioreactor (Bio)" — watch?v=L_bzv0bbU4M. The engineer's version of what happens when the feed stops — which is exactly Friday's injected fault 15 min (estimate)
MIT OCW 18.06 Linear Algebra — source · card deeper / Saturday · sandbox, optional MIT OCW 18.06 Linear Algebra (Gilbert Strang), lectures 1-3 — ocw.mit.edu/courses/18-06-linear-algebra-spring-2010. Only if 3Blue1Brown leaves you wanting proofs 15 min (estimate)
NPTEL Bioreactors — source · card deeper / Saturday · sandbox, optional NPTEL Bioreactors (Suraishkumar, IIT Madras), lecture 1 — nptel.ac.in/courses/102106053. A preview of week 09. (verify) course numbering 15 min (estimate)
Khan Academy, Energy and enzymes → Activation energy — source · card core / Any block this week — the plan names no day One article + the practice set 30 min (estimate)
jakevdp/PythonDataScienceHandbook — source · card run / Any block this week — the plan names no day Colab: notebook 02.00-Introduction-to-NumPy and 02.02-The-Basics-Of-NumPy-Arrays; re-do the 3Blue1Brown matrix-on-vector examples in NumPy 30 min
fastai/numerical-linear-algebra — source · card run / Any block this week — the plan names no day Colab: lesson 1 notebook; skim, run the first cells. Linear algebra as computation, not proofs 30 min
scipy/scipy — source · card run / Any block this week — the plan names no day Copy the solve_ivp Lotka-Volterra example; replace predator-prey with biomass-substrate. This is 70% of your Monday task 30 min
Pioreactor/pioreactor — source · card run / Any block this week — the plan names no day Read README and the docs page on growth-rate estimation; no hardware needed. Shows how real online signals look 30 min

A bounded way to read a scientist’s paper

Use the founder-paper slot only where scheduled. Select a paper relevant to this week through the existing resources or a verified author profile; record title, authors, year, exact URL and what full text you could access. In 30 minutes: 5 for the question and experimental unit; 10 for one relevant methods passage and figure; 10 for a digest; 5 for three questions. Your digest should say question → method → measured result with N/units → limitation → connection to this week’s artifact. If you only read the abstract, say so and leave inaccessible methods/results unknown. This notebook has not read a future partner paper on your behalf.

↑ Back to top
06

06

6. Seven-day runbook: what to do, why and when to stop

Use the original weekly allocation: six 90-minute days plus a 60-minute Sunday, totaling 600 minutes. Reading this notebook, creating study visuals, debugging, calls and evidence recording all consume that same capacity. This is a reference you open section by section, not an additional course to finish before building.

Day Budget Existing target and stopping condition
Monday 90 min Implement X/S/P/DO balances, feed and volume terms, named parameters and units; document the scope of the simplified simulator. Stop when: A repeatable trajectory and balance checks exist; any lag-phase behavior is explicitly modeled.
Tuesday 90 min OpenStax Biology 2e ch. 3 (biological macromolecules) and ch. 6.5 (enzymes) — openstax.org/details/books/biology-2e. Crash Course Biology "Biological Molecules" (YouTube) Produce: 1 page of notes in notes/bio/B1.md + 5 questions
Wednesday 90 min Replay simulator measurements through MQTT to a local time-series store and a minimal graph; provide CSV replay if the Debian box is unavailable. Stop when: A timestamped sample can be traced from generator to rendered curve. Reserve the last 10 minutes for the optional Wednesday note.
Thursday 90 min 3Blue1Brown "Essence of Linear Algebra" ch. 1-7 (YouTube, 1.25x) Select material/exercise that fits 60 minutes; use the last 30 for the founder paper.
Friday 90 min Generate 20 seeded batches including a labeled feed-stop fault; save configuration, label and generator version. Stop when: Twenty reproducible outputs have known ground truth and no implied plant validation.
Saturday 90 min Resolve the earliest critical spillover or dependency. Prepare any long-form publication draft from existing figures here if needed. Sandbox only after commitments are met.
Sunday 60 min 20 min build-log draft/publication when authorized; 5 min evidence/checklist; 20 min source-grounded gap review; 15 min next week's six physical actions.

Monday challenge — simulator-design.md

Do these steps in order.

  1. Start simulator-design.md with a table of symbols, units and starting values.
  2. Use hours consistently.
  3. Write a small batch model first: mu = mu_maxS/(K_s+S), dX/dt = muX and dS/dt = -(mu*X)/Y_XS.
  4. Add a stated product law and oxygen balance, then fed-batch dilution D=F/V and dV/dt=F.
  5. Record what each term adds or removes.
  6. Use solve_ivp with explicit initial conditions and output times.
  7. Plot each state with units; check nonnegative states, zero-food behavior and volume growth.
  8. Ordinary Monod growth does not create a lag phase: add a documented lag mechanism only if required, and compare it to the simpler model.

Why this matters. This output closes the input/question part of the week’s evidence chain. Its acceptance criterion below determines whether the result can support the next milestone.

Output and acceptance from the specification: Implement X/S/P/DO balances, feed and volume terms, named parameters and units; document the scope of the simplified simulator. Acceptance: A repeatable trajectory and balance checks exist; any lag-phase behavior is explicitly modeled.

Block allocation: 2 minutes open the current inputs and write the immediate action; 78 minutes carry out the steps above; 7 minutes check the acceptance criterion and record output paths/errors; 3 minutes write the next action. These sum to 90 minutes. Stop at the limit and record the exact next step rather than silently expanding the week.

Evidence to retain: the artifact or pending-state runbook, input/output paths, version/configuration, the check performed, observed result or exact failure, and your interpretation. Put the link in evidence.md. An intended filename is not proof that a measured output exists.

Wednesday challenge — telemetry-demo.md

Do these steps in order.

  1. Define a measurement record with batch_id, simulation_time, channel, value, unit and generator_version.
  2. Send one known record from the simulator through the publisher and subscriber, then to the plot.
  3. Check the value and timestamp at every hop.
  4. Keep simulation time separate from computer wall time.
  5. If MQTT or the server is unavailable, write the identical records to CSV and replay them locally.
  6. Save a trace and screenshot with the exact input record; the picture alone cannot prove the pipeline is correct.

Why this matters. This output closes the implementation/measurement part of the week’s evidence chain. Its acceptance criterion below determines whether the result can support the next milestone.

Output and acceptance from the specification: Replay simulator measurements through MQTT to a local time-series store and a minimal graph; provide CSV replay if the Debian box is unavailable. Acceptance: A timestamped sample can be traced from generator to rendered curve.

Block allocation: 2 minutes open the current inputs and write the immediate action; 68 minutes carry out the steps above; 7 minutes check the acceptance criterion and record output paths/errors; 3 minutes write the next action. The remaining 10 minutes are the optional Wednesday note; reclaim them for the critical task if necessary. These sum to 90 minutes. Stop at the limit and record the exact next step rather than silently expanding the week.

Evidence to retain: the artifact or pending-state runbook, input/output paths, version/configuration, the check performed, observed result or exact failure, and your interpretation. Put the link in evidence.md. An intended filename is not proof that a measured output exists.

Friday challenge — simulation-manifest.csv

Do these steps in order.

  1. Choose and save 20 seeds and parameter sets before generation.
  2. In a designated fed-batch case, set feed F to zero at a recorded time; preserve its otherwise identical fault-free reference when feasible.
  3. Write each CSV and a manifest row with seed, initial state, fault label/onset, config and output checksum.
  4. Regenerate one seed and compare output.
  5. A feed stop is a defined simulator intervention, not proof of a universal plant fault signature or continuous-reactor washout.

Why this matters. This output closes the verification/handoff part of the week’s evidence chain. Its acceptance criterion below determines whether the result can support the next milestone.

Output and acceptance from the specification: Generate 20 seeded batches including a labeled feed-stop fault; save configuration, label and generator version. Acceptance: Twenty reproducible outputs have known ground truth and no implied plant validation.

Block allocation: 2 minutes open the current inputs and write the immediate action; 78 minutes carry out the steps above; 7 minutes check the acceptance criterion and record output paths/errors; 3 minutes write the next action. These sum to 90 minutes. Stop at the limit and record the exact next step rather than silently expanding the week.

Evidence to retain: the artifact or pending-state runbook, input/output paths, version/configuration, the check performed, observed result or exact failure, and your interpretation. Put the link in evidence.md. An intended filename is not proof that a measured output exists.

Tuesday — rebuild the domain concept through an output

  1. Spend 10 minutes recalling what you know and listing the specific confusing words in the domain assignment above.
  2. Spend up to 35 minutes on the relevant source subsection. Pause to define each term using the actual data or artifact, not only an analogy.
  3. Spend 30 minutes producing the assigned note, drawing, calculation or bounded exercise. Label invented teaching numbers as synthetic. For applied weeks, use the exercise/decision in the current challenge.
  4. Spend 10 minutes explaining what the concept changes in this week’s work. Record the explanation or write five sentences without looking.
  5. Spend 5 minutes saving the output and one unresolved question. These 90 minutes include opening/closing rituals. For a source week with no new coursework, apply this rhythm to its named operational material.

Thursday — connect the model or decision to the domain

Use 5 minutes to recall the concept, 20 for the smallest relevant source section, 25 for one calculation/code application, 5 to explain it without notes and 5 to log the result. Use the remaining 30 for the scheduled founder-paper digest. If the inherited list is longer than the block, park the rest.

Write one bridge sentence: “I use [concept] in [specific artifact] because it prevents or enables [specific behavior].” Then point to the corresponding field, equation, comparison or paragraph. If you cannot locate the connection, return to the smallest worked example rather than opening more resources.

Saturday — repair the earliest dependency, then prepare study visuals

Start by reading unresolved acceptance items and choose the one that blocks the next milestone. Spend 2 minutes choosing it, 58 minutes fixing or preparing the smallest checkable result, 7 minutes checking the result and 3 minutes recording the handoff. If critical work is complete, use the remaining 20 minutes to import this notebook or prepare the next week’s sources and request one visual. If not, use those 20 minutes on the dependency. Optional sources and polish move to PARKING.md. A visual study aid does not replace the missing artifact.

Sunday — review and make next week startable

Use 20 minutes to draft a build log from one actual figure, result or failure, with correct publication state; 5 minutes to update evidence and checklist; 20 minutes to attempt the recall questions and review gaps; 15 minutes to write six next physical actions with filenames and needed inputs. Keep the original gate target and record any revised forecast separately. Actual external publishing follows the authorization available in that execution session.

↑ Back to top
07

07

7. Worked example, practice and separate answer key

Worked teaching example

Synthetic hand calculation: mu_max=0.4 per hour, S=2 g/L and K_s=2 g/L give mu=0.2 per hour. At X=1 g/L, dX/dt=0.2 g/L/hour. Over 0.1 hour, a simple Euler step predicts X≈1.02 g/L. This is a short-step approximation; a numerical solver adjusts steps to control error. With feed 0.5 L/hour for two hours, added volume is 1 L.

These are illustrative reasoning examples or explicitly synthetic numbers, not measurements obtained for your research. Recreate the calculation or reasoning before applying it to actual inputs.

A minimal balance model to translate into code

Use this as a teaching specification inside Monday’s block, then document any changes. It is a simplified model, not a validated fermentation recipe. Let X, S and P be biomass, substrate and product concentrations in g/L; O oxygen concentration in g oxygen/L; V volume in L; t time in hours. F is feed in L/hour. S_feed and O_feed are feed concentrations. K_s and K_O have the same concentration units as S and O. Positive constants mu_max and kLa have units 1/hour; Y_XS is g biomass/g substrate; alpha is g product/g biomass; q_O is maximum g oxygen/g biomass/hour.

  1. Compute oxygen availability a_O = O / (K_O + O) and growth mu = mu_max * S / (K_s + S) * a_O. Both fractions are dimensionless; growth has units 1/hour. This adds a stated oxygen-limitation assumption to the simpler hand example above.
  2. Compute dilution D = F / V. A feed entering a larger tank changes concentration more slowly than the same feed entering a smaller tank.
  3. Define dX/dt = (mu - D) * X. Growth adds biomass concentration; expanding volume dilutes it.
  4. Define dS/dt = D * (S_feed - S) - mu * X / Y_XS. Feed changes substrate concentration and biomass growth consumes substrate under the stated yield assumption.
  5. Define dP/dt = alpha * mu * X - D * P. This assumes growth-associated product formation and no product in the feed. It omits other production/degradation mechanisms.
  6. Define dO/dt = kLa * (O_sat - O) - q_O * a_O * X + D * (O_feed - O). The terms represent transfer from gas, cellular uptake and feed dilution/input. Oxygen consumption falls to zero at O=0 in this simplified model.
  7. Define dV/dt = F. Use F=0 for batch mode; use a documented nonnegative feed schedule for fed-batch and the labeled feed-stop intervention. Supply all initial states and parameter units to the solver.
  8. Check solver status, finite values, positive volume and any negative concentrations beyond numerical tolerance. Tighten tolerances or fix the model rather than silently clipping large errors. This model still omits adaptation lag, maintenance and death; a realistic-looking plot does not prove those mechanisms exist.

For a first integration exercise you only need standard Python:

# SYNTHETIC TEACHING EXAMPLE: piecewise constant feed, not research data.
feed_l_per_hour = [0.5, 1.0, 0.0]
interval_hours = [2.0, 1.0, 3.0]
added_liters = sum(rate * duration
                   for rate, duration in zip(feed_l_per_hour, interval_hours))
initial_liters = 5.0
final_liters = initial_liters + added_liters
assert added_liters == 2.0
assert final_liters == 7.0
print(added_liters, final_liters)

This integral is exact for the assumed constant rate in each interval. If the rate changes within an interval, smaller measured steps or a suitable numerical method approximate the accumulation. The simulator does the same kind of accumulation for several coupled states; each state’s rate can change as the others change. In solve_ivp, the rate function accepts time and a state vector and returns the derivatives in that same state order; use the linked API examples for the full interface.

Your exercise — answer before reading the solution

If S=0, what growth rate does this model predict? If feed is in mL/min but time is hours, what must you do before integrating?

Your answer: ________

Your connection to simulator-design.md: ________

Answer key

mu=0, provided K_s>0; that simplified model includes no growth on stored reserves. Convert mL/min to L/hour by multiplying by 0.06. Using the raw number without conversion breaks the balance. Add the unit check to the simulator design.

Five recall questions and grading guide

  1. Explain this week’s purpose to a 15-year-old in three sentences. What real scientific or professional decision does it support?
  2. Solve the exercise above and explain each assumption or unit, rather than copying the answer.
  3. Open simulator-design.md or its preparation instructions. What exact input, action, output and acceptance check make it inspectable?
  4. What could make telemetry-demo.md look convincing while still being wrong? Use the week-specific risk below and name the evidence needed to detect it.
  5. What does simulation-manifest.csv pass to the next milestone, and which claim remains unsupported until external or measured evidence exists?

Grade each answer 0 (missing/wrong), 1 (correct but vague or needs prompting), or 2 (correct, explained in your own words and tied to a concrete artifact/example). The purpose/bridge supports Q1; the separate key supports Q2; the runbook and contracts support Q3–Q5. Aim for at least 8/10 with no unresolved misconception about provenance, independence, measured versus predicted results or external status. This is a study-readiness check, not permission to pass the research gate. Save your actual score and gaps; this prepared notebook does not assign them.

↑ Back to top
08

08

8. Research evidence and professional profile

What your weekly evidence record should contain

Copy the blank structure below into the existing evidence.md only when working the task. Keep earlier entries. Use actual values or PENDING with a reason; never copy illustrative numbers as results.

Evidence field Your actual entry
Question/decision and why it matters PENDING
Artifact name, canonical path and version PENDING
Input origin, access date, rights, version/checksum PENDING
Unit of analysis / target / relevant units PENDING
Method, baseline, assumptions and split or decision rule PENDING
Command/config/seed or document review procedure PENDING
Observed output, independent N and uncertainty where relevant PENDING
Check performed, failures and negative findings PENDING
Interpretation and what the evidence does not establish PENDING
Your contribution and model/human/partner contributions PENDING
External event state and dated receipt/link, if applicable PENDING
Next action, owner and dependency PENDING

For documentary or commercial work, replace nonapplicable experimental fields with the actual verification (for example, source-to-claim audit or agreed scope/receipt); write “not applicable” with a reason instead of inventing a metric. For experiments, retain raw data, scripts/configs, per-case results and generated figures in the canonical project. Evidence.md is the index, not a substitute for those artifacts.

Make the skill-to-proof connection

Complete this sentence from real work: “I used [systems/software/AI capability] to answer [scientific/workflow question], implemented [artifact], checked it using [method], observed [result with context], and found [limitation]. My contribution was [specific work].” This becomes an honest portfolio/interview story. A failed experiment with a sound diagnosis is also evidence of research judgment.

The Week 40 profile should let a reader follow your claims to data/code/releases, manuscripts with exact status, independent feedback, collaboration and actual delivery. Keep a brief record now so you do not reconstruct a research history from memory later.

↑ Back to top
09

09

9. Completion checklist, misconceptions and recovery

This is an enabling week. Its deliverables feed the next scheduled gate: 4. Complete the acceptance checklist below; do not promote reputation from a draft.

  • Monday artifact satisfies: A repeatable trajectory and balance checks exist; any lag-phase behavior is explicitly modeled.
  • Wednesday artifact satisfies: A timestamped sample can be traced from generator to rendered curve.
  • Friday artifact satisfies: Twenty reproducible outputs have known ground truth and no implied plant validation.
  • Study pack is prepared; Peter's actual learning/quiz result is recorded separately.
  • Branding and opportunity drafts use supported claims and the correct external-action state.
  • Reproduction or document checks are recorded with file/version references.
  • This week's special gate, if any, has real evidence or remains explicitly pending.
  • Review, root progress/log and the next physical action are updated.

Notebook study checklist

  • I can describe the week’s question and its connection to my systems/software/AI work.
  • I repaired the specific prerequisite I needed and completed the worked exercise myself.
  • I used the selected stash sources and saved an applied note rather than only a viewing history.
  • Each challenge has the specified output and a recorded acceptance check, or an explicit missing dependency.
  • I retained source versions, units, split/decision rules, failures and limitations where applicable.
  • I can distinguish illustrative, simulated, predicted and measured information in my work.
  • My research/profile claims link to real evidence and use the correct external status.
  • I recorded actual recall performance, next actions and any unmet gate requirement.

The specific trap to avoid this week

A basic Monod model does not automatically produce lag and death phases. Eighty lines is a presentation idea, not a correctness criterion; do not force artificial physiology to match the title.

Apply the root scientific evidence contract: provenance; meaningful independent splits; no future-data leakage; baseline comparison; actual denominators/uncertainty; failed cases; human review where required. State whether data are simulated, public experimental, synthetic or partner-provided.

Keep source gates intact, and log scope/time conflicts in review. Missing people, money, access or results must not be replaced with invented evidence. Reduce optional polish first. A specific essential external dependency stays pending while independent preparation continues.

Recovery without losing the programme’s meaning

Source-preserving minimum: monod.py with the plot.

Operational first step if stalled: open simulator-design.md, write the required inputs and produce the smallest checkable example in ten minutes. If a more urgent missing gate dependency controls the week, use the source minimum above.

If the full week does not fit, use P14: retain one gate-critical deliverable and one directly supporting study exercise; record what is skipped versus moved. Do not mark the original full gate passed merely because the minimum was completed. After a missed week, reforecast from actual evidence and avoid a second unexamined lost week.

If a prerequisite concept is missing, use the first ten minutes to define it and work one tiny example. If hardware or access fails, use the allowed offline/synthetic preparation and label its scope. If a person, public identifier or payment is required, keep that event pending and finish independent work. A smaller preparation result preserves momentum; it does not replace an unmet gate.

↑ Back to top
10

10

10. NotebookLM import and visual study kit

  1. Create a notebook named LABLOOP-W01 · fermentation simulator.
  2. Upload this week’s notebooklm.txt or learning-notebook.md, or paste the complete text as a source. Upload one copy, not both. Google’s source-import guidance documents text/Markdown and pasted-text sources.
  3. Add the exact core source pages or permitted PDFs you selected in Section 5 as separate sources. Linked pages and local cockpit stashes are not recursively imported. Inspect what was actually imported; a video may require an available transcript. You do not need all 454 programme cards in one notebook.
  4. When you execute the week, add your own notes, permitted code excerpts, results and review as separate clearly named sources. Use “Measured — …” only for actual measurements. Keep sensitive partner/client records within their permitted use.
  5. Request one study output at a time using the prompts below; use the available Studio feature or ask chat for the equivalent outline. Interface/features can vary. Inspect units, labels, citations and the separation between planned and achieved work before studying or sharing a generated visual.

Week-specific visual brief

Draw the tank, label X/S/P/O/V, show each rate arrow, then show a sample traveling through generator → message → storage → plot.

Copy-ready prompts

Concept map / infographic

Using only the sources in LABLOOP-W01, explain “fermentation simulator” to an adult software/systems/AI professional rebuilding science foundations after twenty years. Draw the tank, label X/S/P/O/V, show each rate arrow, then show a sample traveling through generator → message → storage → plot. Label each arrow with why it exists. Define every technical term at first use. Connect prerequisite → current challenge → evidence → next milestone. Mark targets, synthetic teaching numbers and measured results distinctly. Cite sources; identify missing evidence instead of inventing it.

Visual lesson / slides

Create an eight-panel visual lesson for Week 01: 1 purpose, 2 needed foundations, 3 one worked example with units, 4 Monday challenge, 5 Wednesday challenge, 6 Friday challenge, 7 common failure and verification, 8 evidence checklist and next milestone. Use simple explanations suitable for a 15-year-old without talking down to an experienced professional. Put detailed speaker notes under each panel. Use the exact artifact filenames and acceptance criteria in this notebook.

Audio or video study script

Teach Week 01 as a guided conversation: what, why, when and how. Explain the mathematical/scientific idea in words before notation. Pause for me to answer the exercise without revealing the solution; then walk through it. Connect my software experience to the scientific question. End with a rehearsal of what evidence I must retain, not a claim that I have already completed the work.

Flashcards and quiz

Make twelve cards: four term/meaning/example cards, four how/why steps from the actual challenges, two unit/assumption checks and two evidence/misconception checks. Then ask five open questions one at a time. Grade each 0–2 using the notebook rubric, explain any error, and cite the relevant section. Do not infer my competence from the existence of the notebook.

Research review rehearsal

Act as a careful research reviewer for Week 01. Ask me to defend the question, inputs, independent unit or decision basis, baseline, method, uncertainty, failure cases and scope of the claim. Use only supplied evidence. Distinguish a preparation artifact from a measured result and an external event. Finish with a claim-to-evidence table and the three smallest actions needed to close real gaps.

↑ Back to top
11

11

11. Source and ownership notes

This notebook adds explanation and runbooks to the existing plan. The weekly specification, programme decisions and gates retain authority over sequence, scope and acceptance. The v6 master supplies the dependency map and inherited resource cards; the source catalog records their history. The teaching examples and explanatory bridge are preparation material, not executed findings.

Existing files and learning progress remain separate. Dates stay relative until you choose actual commitments. Peter owns learning, personal claims, scientific responsibility and external relationships; independent humans own their actual annotation/review contributions and partner laboratories own their laboratory execution. This notebook prepares the steps; it does not publish, contact, spend, submit or perform the programme on your behalf.

↑ Back to top
⏱ Focus Focus25:00 0 min today