Stanford CS146S “The Modern Software Developer”: a course on building software with AI
TL;DR
CS146S (3–4 units) covers AI tools in IDEs, terminals, code review and testing, combined with complex-system design principles, a team project and real engineering tasks. Lecture materials and assignments are widely shared and translated by the community — a solid self-study resource for developers and tech leads.
While many universities are still debating whether students should use AI to code, Stanford created a whole course about it: CS146S – The Modern Software Developer. It teaches software development in the age of coding agents — from prompting, context and MCP to review, testing, security and operations. Materials and assignments are public, making it an excellent self-study path for developers, Tech Leads and PMs.
Official details
| Item | Details |
|---|---|
| Course code | CS146S, Computer Science, Stanford |
| Units | 3–4 (per the Stanford Bulletin) |
| Instructor | Mihail Eric |
| First offered | Autumn 2025 |
| Recommended background | Understanding complex software design, familiarity with open source and GitHub; basic LLM and prompting knowledge helps |
The official description says the course examines how new IDEs, terminals, code-review tools and testing platforms are reshaping every stage of the software lifecycle; it pairs principles of building complex systems with hands-on work using current AI tools, through real engineering tasks and a team project — and teaches when to trust AI workflows.
The 10-week curriculum
| Week | Topic | Practical meaning |
|---|---|---|
| 1 | LLMs and prompting | How models work; measuring answer variance |
| 2 | Agent anatomy and MCP | Hand-building an MCP server |
| 3 | Context engineering | Design doc vs bare prompt — which gives better results |
| 4 | Agent collaboration patterns | Directing an agent through a full feature with checkpoints |
| 5 | The modern terminal | AI-era command-line tools |
| 6 | Testing and security | Security scanning of AI-written code |
| 7 | Code review | Adversarial review of an AI-generated PR |
| 8 | Building an app from one sentence | The limits of “vibe coding” |
| 9 | Post-deployment operations | SRE, monitoring and incidents with AI in the loop |
| 10 | The future of software engineering | How the human role is changing |
Weekly topics and example exercises compiled from heyuan110.com’s self-study guide (a third-party source) — verify on the official course site.
Guests and grading
- The course features industry speakers, including Boris Cherny — creator of Claude Code — and Warp’s CEO; some sessions are on YouTube.
- Grading: final project 80%, weekly assignments 15%, participation 5% — the emphasis is on shipping something real.
Where to find the materials
- Course site (slides, readings): themodernsoftware.dev — free.
- Assignments: the GitHub repo
mihail911/modern-software-dev-assignments(Python 3.12 + Poetry), eight weeks of exercises. - Community translations: groups have translated the materials into Chinese, Korean and other languages.
Suggested self-study paths
Already using coding agents daily — 2-week fast track
- Skim weeks 1–2 and 5.
- Focus on the core loop: week 3 (context) → week 4 (agent collaboration) → weeks 6–7 (testing, security, review).
- Replace the final project with one of your real repos: design doc → agent build with checkpoints → security/review gates → deploy.
Just starting — 6-week path
- Week 0: get comfortable with a coding agent (Claude Code or similar) on a small project.
- Weeks 1–2: read the LLM, prompting and MCP slides; redo the hand-built MCP server exercise.
- Weeks 3–4: practise context engineering on a personal repo; log the mistakes AI keeps making.
- Weeks 5–6: a 2–3 person mini project where each person “manages” an agent, with cross-review.
Why PMs and Tech Leads should read it
- The “when to trust AI” theme helps you set a Definition of Done and a review process as the team adopts agents.
- Weeks 6–7 (security, review) give a quality-control framework for AI-written code — something most teams are improvising.
- Week 9 (operations) is a reminder that writing code faster doesn’t make running it cheaper.
How to apply it
- Developers: Pick the 2-week or 6-week path above, spend 3–4 hours a week, and note what you can apply to your current project.
- Tech Leads: Run an internal “CS146S reading club”: one topic a week, one presenter, the whole team tries it on the real codebase.
- PMs: Read weeks 3, 7 and 10 — enough to understand how your team works with agents and to ask the right questions in sprint reviews.
Sources & references
- CS146S: The Modern Software Developer — Stanford Bulletin
- CS146S self-study guide 2026 — heyuan110.com