Skip to content
Back to teaching

Production engineering, taught as tooling.

Fifteen teams a semester build on infrastructure I maintain: the Docker labs, CI gates, and agent benchmarks on this page.

Every artifact on this page is open-source and reproducible — labs students actually run, benchmarks they evaluate agents against, and an MCP pipeline that routes Copilot edits through GitLab so AI contributions stay reviewable.

Courses

Graduate course covering production software engineering, Docker, CI/CD, API design, and server deployment — culminating in students building an AI debugging agent (inspired by AutoCodeRover) and a full-stack social media application.

Mentoring teams on architecture, testing, DevOps, and full-stack development to deliver production-ready software for outside clients.

Leading weekly labs covering AI agents, LLM-oriented programming, Docker, APIs, and system design.

Artifacts

What I built for these courses — each linked from duke-gta (opens in new tab), the open-source repo students pull from on day one.

llm-teammate

MCP · GitHub Copilot · GitLab

An MCP configuration and prompt template that routes GitHub Copilot edits through GitLab merge requests — so AI contributions become reviewable artifacts rather than invisible autocomplete. Students see exactly what their AI teammate proposed, in what context, and can push back.

debugger-benchmark-small

Python · seeded bugs · answer keys

A compact Python gradebook with six intentionally seeded bugs and answer keys. Students write and validate an AI debugging agent against ground-truth — fast iteration, easy reproducibility.

debugger-benchmark-large

pytest substrate · real-world bugs

A real-bug benchmark built on a pinned pytest codebase — four curated production bugs with issue briefs and 7 targeted fix tests. Inspired by SWE-bench in spirit but small enough to run in a single seminar lab.

example_ai_agents

FastAPI · Nginx · agent routing

A minimal FastAPI + Nginx agent-routing demo compatible with DukeGPT — the baseline pattern students extend for their own production agent systems in CS 590.

lab_docker

progressive Docker sequence

A progressive lab sequence taking students from first `Dockerfile` to multi-stage builds and compose orchestration — the production muscle memory that's missing from most CS curricula.

lab_pipeline

GitLab CI · Ruff · pytest

A minimal GitLab CI pipeline with Ruff reporting and pytest gating. Students learn CI as a continuous feedback loop that shapes how they write code.

lab_wasm

WebAssembly runtime

WebAssembly runtime demonstrations — students see how modern server runtimes execute sandboxed, portable binaries, and why WASM matters beyond the browser.

All of it is open-source at zanwenfu/duke-gta (opens in new tab). Pull it, run it, evaluate your own agent against it — everything reproduces from a fresh clone.