Skip to content

Latest commit

 

History

History
50 lines (35 loc) · 1.83 KB

File metadata and controls

50 lines (35 loc) · 1.83 KB

Programmierkurs für Chemiker

Deploy

Repository for the bachelor course "Programmierkurs für Chemiker" in summer term 2026 at the University of Würzburg.

Development

Install uv, then run:

uv run jupyter book start

The site will be available at http://localhost:3000.

Before building the student-facing book, regenerate the student notebooks from the instructor solution notebooks:

uv run python scripts/generate_student_notebooks.py

The generator looks for notebooks named instructors/*_solution.ipynb and creates:

  • A rich notebook for rendering the book page:
    • chapters/problem_sets/pset_X_rich.ipynb
  • A clean notebook for students to download:
    • assets/downloads/problem_sets/pset_X.ipynb

Inside code cells, content between # SOLUTION-START and # SOLUTION-END is replaced with # your code here, preserving the original indentation and roughly the same number of lines. The clean notebooks also have all outputs removed.

Expected outputs can be shown on the rendered pages by tagging an instructor code cell with the expected-output cell tag. The generator then injects a small HTML block after that cell into the rich notebook. Image outputs are written to assets/figures/problem_sets/expected_outputs/ and referenced from the injected HTML.

A typical local workflow is:

uv run python scripts/generate_student_notebooks.py
uv run jupyter book start

The GitHub Pages deploy workflow runs the same generator automatically before building the HTML site, so the published book always uses the generated student notebooks.