Skip to content

Add DCC'26 workshop notebook suite (participant + solutions)#62

Open
SoheylM wants to merge 43 commits intomainfrom
codex/dcc26-workshop-notebooks
Open

Add DCC'26 workshop notebook suite (participant + solutions)#62
SoheylM wants to merge 43 commits intomainfrom
codex/dcc26-workshop-notebooks

Conversation

@SoheylM
Copy link
Copy Markdown
Contributor

@SoheylM SoheylM commented Mar 16, 2026

Summary

This PR adds the DCC'26 workshop notebook suite to EngiOpt with participant and facilitator tracks.

What is included

  • New workshops/dcc26/ folder with:
    • participant/ notebooks with guided PUBLIC FILL-IN exercises and checkpoints
    • solutions/ notebooks for facilitators
    • workshop runbook and pedagogy blueprint docs
    • helper utilities and a local requirements snapshot
  • Notebook 03 scaffold upgraded to a PyBullet robotics co-design problem (PlanarManipulatorCoDesignProblem)
  • Optional EngiOpt generative extension in Notebook 03 using engiopt.cgan_1d
  • Colab-friendly dependency bootstrap cells across notebooks
  • README updates linking workshop assets
  • Git ignore updates for workshop-generated artifacts

Public API impact

  • No changes to EngiBench/EngiOpt core runtime APIs.
  • This PR adds tutorial/workshop assets only.

Notes for review

Please focus on:

  1. participant notebook clarity and pacing
  2. Colab reliability
  3. documentation and public-repo hygiene

Validation

  • Notebook code cells were iteratively smoke-checked and compile-checked during development.
  • Notebook JSON has no execution counts or persisted outputs.

SoheylM added 30 commits March 4, 2026 08:33
@SoheylM SoheylM requested a review from mkeeler43 March 16, 2026 13:45
SoheylM and others added 8 commits March 16, 2026 14:49
Includes participant and solution notebooks (00-03), expanded
notebook_helpers with training/evaluation/visualization utilities,
and asset images for notebook display. Notebooks have Colab bootstrap
cells that install dependencies from this branch.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
On Colab, ../utils doesn't exist since notebooks open standalone.
Now the utils import cell downloads notebook_helpers.py and __init__.py
from GitHub raw URLs when running in Colab. Also updates NB00 asset
image references to use GitHub URLs instead of relative paths.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
engibench imports sqlitedict transitively (via airfoil problem),
so it must be explicitly installed on Colab.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
BUILTIN_PROBLEMS imports every problem module, which requires all
problem dependencies (ceviche, sqlitedict, etc.) to be installed.
Using engibench[all] ensures they are all available.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sets notebook metadata so Colab opens with GPU runtime by default.
NB01 also prints a warning with instructions if no GPU is available,
since training is ~1 min/epoch on CPU vs ~3 sec/epoch on T4.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use constrained_layout instead of tight_layout, and increase
colorbar padding so it no longer covers the Mean Training subplot.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants