# Choose a practice route

## Calculator and spreadsheet route

Open `index.html`, then use `practice.html`. Worked arithmetic starts with small tables. To inspect the main files, import CSV as comma-separated UTF-8 text with a decimal point. Preserve identifier columns as text. Check that `shipments_clean.csv` has 240 data rows and `checklist_trial.csv` has 40; the header is not a data row. Blank satisfaction cells are missing, not zero. The dictionary explains all fields and units.

Use formulas or a calculator for counts, means, percentages, differences and the supplied standard errors. When distribution functions are needed, the reference outputs provide the t critical values, degrees of freedom, intervals and p-values; your task is to show how the values connect and interpret them correctly. Spreadsheet functions differ, particularly for quartiles and standard deviations. Use sample SD and linear-interpolation quartiles as documented. No spreadsheet application has been tested as an execution environment for this package.

## Optional local Python route

Python 3.12.14, NumPy 2.3.5, SciPy 1.17.0 and Matplotlib 3.10.8 were used in the Linux authoring environment. Read the scripts before running them. They operate within the extracted course folder and generate synthetic data or local result files. The generator intentionally overwrites the packaged synthetic fixtures; do not put your own real data at those paths. Keep your work in a separate directory or under a different filename.

Install Python from [python.org](https://www.python.org/downloads/) if needed. Open a terminal in the extracted course folder. These are terminal commands, not code to paste into a Python editor. Creating a virtual environment avoids changing the system's Python packages. Initial dependency installation needs internet access.

macOS/Linux:

```sh
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python tools/analyze.py
.venv/bin/python -m unittest discover -s tests -v
.venv/bin/python tools/sampling_demo.py
.venv/bin/python tools/build_charts.py
```

Windows PowerShell, if the Python 3.12 launcher is installed:

```powershell
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe tools\analyze.py
.\.venv\Scripts\python.exe -m unittest discover -s tests -v
.\.venv\Scripts\python.exe tools\sampling_demo.py
.\.venv\Scripts\python.exe tools\build_charts.py
```

Use the full interpreter path shown; activation and execution-policy changes are unnecessary. These macOS/Windows commands were reviewed but not run on those operating systems. A browser-only Python runtime is not assumed to support SciPy or local files, and no Aabha browser-lab compatibility is claimed for this companion.

## What to expect

`tools/analyze.py` reads the raw and clean files, confirms they reconcile, and writes `outputs/reference_results.json`. This is the reference answer. `tools/sampling_demo.py` demonstrates sampling variability and interval coverage under a known normal model. It writes `outputs/sampling_demo.json`; finite simulation coverage is not guaranteed to equal 95% exactly. `tools/build_charts.py` regenerates original SVG illustrations and charts in `assets/`.

To practice independently, edit `learner_analysis.py`. Fill the missing calculation functions, then run it to produce `learner_results.json`. Run `check_learner.py` against that file. The unfinished starter deliberately raises `NotImplementedError`; this is expected, not a setup failure. The checker verifies selected arithmetic and required labels, not your methods appendix, chart accessibility or recommendation. The reference unit suite tests the supplied implementation rather than your starter.

To regenerate the exact fixtures, run `tools/generate_data.py`. The documented seeds and dependency versions are fixed. The generator does not seek a preferred p-value. Keep copies of any intentional data changes and explain them; do not overwrite the original to make an answer agree.

## Troubleshooting

If Python is not found, check the installation and command name. If a dependency is missing, check that you used the virtual environment's interpreter for both installation and execution. If paths fail, run from the extracted folder; the supplied tools locate course data relative to their own file. If an edited result becomes NaN or infinite, inspect missing values and denominators before continuing. Do not silently omit missing rows to make an error disappear.

For editorial HTML rebuilding only, install `requirements-build.txt`, then run `tools/build_guide.py`. Learners do not need this dependency to read the already generated HTML. Static guide checks run with `tools/check_package.py`. A passed static check does not establish browser or assistive-technology behavior.
