The Modern Software Developer (CS146S)
Mihail Eric · Stanford · Fall 2026freeSource ↗Assignments repo (mihail911/modern-software-dev-assignments) ↗Assignment deadlines — the course calendar (Google Doc) ↗Transcript · 9/24 — the system prompts that define the agent ↗Transcript · 9/29 — advanced prompting, RePPIT, spec-driven development ↗Transcript · 10/1 — MCP and tool-calling end to end ↗Fall 2025 archive ↗
Added 2026-10-10 at Connor’s direction and deliberately OFF the ladder, on the same terms as mit-multimodal-ai: it is the practitioner course on agentic software development — coding-agent internals, context engineering, MCP, skills, hooks, agent-ready repos, agentic review, security, background agents, the software factory — which is the ground the machine that runs this site stands on, not a rung on the token-to-task path. It is the operator-side twin of agentic-ai (11-768): that course builds the harness from the model outward, this one runs a production harness from the developer inward. Ungated because its stated prerequisite (CS111/CS161 programming) is already met. Scope counts the twenty Tue/Thu sessions; the six weekly assignments are the actual work and are listed as segments.
Shares the technical slot with agentic-ai (Connor, 2026-10-10: “paying most attention to this and the cmu agents course … doing all assignments for both”).
Environment
Setup is a real gatepartial~/dev/study/stanford-cs146s/verified
Assignments repo cloned (weeks 1–3 published). A Python 3.12 venv via uv holds the pyproject deps plus fastmcp (A2), all importing and `uv pip check` clean; mitmproxy (A1) is a separate `uv tool install` because it pins typing-extensions below what anyio needs. A1 runs today on Connor’s own Claude Code with no key. A2 needs an OAuth app registered on a third-party API of his choosing; A4–A6 have no starter upstream yet. README-local.md in the folder carries the setup line and the due-date table.
Segments
The named subset — the scope above is the count| Ref | Title | Done | Artifacts | Note |
|---|---|---|---|---|
| W1a | Course intro + build Claude Code in 200 lines | · | NBBLDGMEBTL0/0 | Slides and the completed code are on Drive. |
| W1b | How state-of-the-art coding agents are designed — the system prompts | · | NBBLDGMEBTL0/0 | Public transcript. |
| W2a | Advanced prompting + RePPIT and spec-driven development | · | NBBLDGMEBTL0/0 | Public transcript. |
| W2b | MCP and tool-calling: theory, setup, advanced tool design | · | NBBLDGMEBTL0/0 | Public transcript. |
| W3a | Agent skills, including web skills | · | NBBLDGMEBTL0/0 | |
| A1 | Assignment 1 · Trace dissection — a real Claude Code session behind mitmproxy, system prompt and tool schemas annotated, behaviour cited as observed or inferred | · | NBBLDGMEBTL0/0 | Course due 9/27 (passed — a pace, not a deadline). Needs a scratch repo outside the clone for the capture; nothing from the capture enters git. |
| A2 | Assignment 2 · An MCP server over a third-party OAuth 2.0 API — three composing tools, a braked write tool, cached tokens with silent refresh, one protocol-level test | · | NBBLDGMEBTL0/0 | NEEDS — An OAuth app registered on Connor’s own account with a provider he uses. |
| A3 | Assignment 3 · Author a skill against a real open-source repo — three firing prompts, one near-miss, one end-to-end run | · | NBBLDGMEBTL0/0 | Course due 10/11. |
Artifacts
Consume → do → output- The assignments, done — a dissected trace, an OAuth MCP server, a skill, and weeks 4–6 as they are publishedNot yet — nothing has landed for this slot.
- What a production coding agent’s system prompt is defending against — read off the captured trace, not the paperNot yet — nothing has landed for this slot.
Feeds
What closing this sharpensNo notes on this unit yet.
A note lands here when a Learning Log entry tagged study-stanford-cs146s is published.
Connor is not enrolled: Gradescope, grading, the OSS-contribution programme (30% of the grade), the final project (50%) and the guest talks (unrecorded) are student-only. What is public is the three lecture transcripts, the reading lists, the slide decks on Drive and the assignment specs — so the seat here is earned on the assignments and the writeups, nothing else. Assignments 4–6 (agent-ready repo · agent-readiness report · TBD) are dated on the calendar but not yet in the repo.