Course Syllabus
Fall 2026 • University of Michigan
📋 Course Information
Credits: 4
Term: Fall 2026 (Aug 31 – Dec 11)
Labs: Mon/Wed/Fri (one/week)
Location: TBD
EECS 281 (Data Structures & Algorithms)
EECS 201 (Computer Science Pragmatics)
📚 Course Description
This course teaches students to build software systems that coordinate autonomous AI agents. Students progress through three phases of increasing complexity: using AI coding tools effectively, scripting multi-agent workflows, and building a production-grade agent orchestrator from scratch.
Learning Objectives
By the end of this course, students will be able to:
- Use AI-assisted coding tools with principled, repeatable techniques
- Design and implement multi-agent systems with structured communication protocols
- Build a modular agent orchestrator with task management, tool integration, and evaluation
- Evaluate AI system performance with empirical methodology
- Articulate and defend technical design decisions in a professional setting
📅 Weekly Schedule
AI-Assisted Development
Weeks 1-3 • Master principled AI coding with Context, Model, Prompt
Foundations of AI-Assisted Coding
📚 Lectures
- Tue: L01: Course Intro + AI Coding Landscape
- Thu: L02: Context, Model, Prompt
🎯 Topics
- What are AI coding tools and why do they matter?
- The Context-Model-Prompt framework
- Setting up Aider and API keys
- Mental models for effective AI collaboration
📖 Resources
- Aider documentation
- IndyDevDan: Principled AI Coding videos (link TBD)
🔬 Lab
Lab 01: Setup and First AI-Assisted Project
Advanced Prompting & Multi-File Editing
📚 Lectures
- Tue: L03: Crafting Effective Prompts
- Thu: L04: Multi-File Editing & Pitfalls
🎯 Topics
- Prompt engineering best practices
- Managing context across multiple files
- Common pitfalls and how to avoid them
- Debugging AI-generated code
📖 Resources
- Prompt engineering guide (link TBD)
- Aider multi-file patterns (link TBD)
🔬 Lab
Lab 02: Multi-File Refactoring Exercise
Spec-Based Development & Phase 1 Project
📚 Lectures
- Tue: L05: Spec-Based AI Coding
- Thu: L06: Principled AI Coding Review
🎯 Topics
- Writing specifications for AI tools
- Test-driven development with AI assistance
- Code review and validation strategies
- Documenting AI tool usage
📖 Resources
- Specification writing guide (link TBD)
- TDD with AI tools (link TBD)
🔬 Lab
Lab 03: Spec-Based Project Implementation
📝 Due
Project 1: AI-Assisted Development Portfolio
Scripted Agentic Workflows
Weeks 4-6 • Build multi-agent orchestration infrastructure
Agent Fundamentals & Protocols
📚 Lectures
- Tue: L07: What Is an Agent?
- Thu: L08: Protocol & Prompt Assembly
🎯 Topics
- Defining agents vs. tools vs. workflows
- File-based orchestration architectures
- Communication protocols between agents
- Prompt assembly and templating
📖 Resources
- Agent architecture patterns (link TBD)
- Protocol design guide (link TBD)
🔬 Lab
Lab 04: Agent Protocol Design
State Management & Multi-Agent Communication
📚 Lectures
- Tue: L09: State Management & Errors
- Thu: L10: Multi-Agent Communication
🎯 Topics
- Isolated agent state management
- Error handling in agent systems
- Handoff protocols and task delegation
- Debugging multi-agent workflows
📖 Resources
- State management patterns (link TBD)
- Error handling strategies (link TBD)
🔬 Lab
Lab 05: Multi-Agent State Coordination
LLM Integration & Evaluation
📚 Lectures
- Tue: L11: LLM Integration & Debugging
- Thu: L12: Evaluation & Reflection
🎯 Topics
- Pluggable LLM backends (hosted APIs, local models)
- Streaming responses and rate limiting
- Evaluating non-deterministic systems
- Metrics for agent performance
📖 Resources
- LLM API comparison (link TBD)
- Evaluation frameworks (link TBD)
🔬 Lab
Lab 06: LLM Integration & Testing
📝 Due
Project 2: Multi-Agent Orchestration System (4 milestones)
Build an Agent Orchestrator
Weeks 7-14 • Design and implement a production-grade agent platform
System Architecture & Task Design
📚 Lectures
- Tue: L13: System Architecture
- Thu: L14: Task System Design
🎯 Topics
- Modular architecture for agent orchestrators
- Task representation and lifecycle management
- Priority queues and scheduling
- Core components overview (5 cores)
📖 Resources
- Architecture patterns for agent systems (link TBD)
- Task system design guide (link TBD)
🔬 Lab
Lab 07: Architecture Planning & Task System
Agent Loop Implementation
📚 Lectures
- Tue: Study break (no class)
- Thu: L15: Agent Loop Architecture
🎯 Topics
- Core agent loop: sense, think, act
- Context management and memory
- Interrupt handling and graceful shutdown
- Agent lifecycle management
📖 Resources
- Agent loop patterns (link TBD)
- Context window optimization (link TBD)
🔬 Lab
Lab 08: Agent Loop Implementation
📝 Due
Milestone 1: Core baseline (task system + agent loop)
LLM Integration & Tool Execution
📚 Lectures
- Tue: L16: LLM Integration
- Thu: L17: Tool Execution
🎯 Topics
- Pluggable LLM provider architecture
- Tool registry and discovery
- Safe tool execution (sandboxing, timeouts)
- Tool call parsing and validation
📖 Resources
- Function calling patterns (link TBD)
- Tool security best practices (link TBD)
🔬 Lab
Lab 09: Tool Registry & Execution
Delegation & Evaluation
📚 Lectures
- Tue: L18: Agent Delegation
- Thu: L19: Evaluation & Metrics
🎯 Topics
- When and how to delegate to sub-agents
- Delegation protocols and handoff patterns
- Evaluation frameworks for agentic systems
- Success metrics and performance benchmarks
📖 Resources
- Delegation strategies (link TBD)
- Agent evaluation guide (link TBD)
🔬 Lab
Lab 10: Delegation & Evaluation Setup
📝 Due
Milestone 2: Core 5 complete (all baseline components)
Capability Milestones & Advanced Patterns
📚 Lectures
- Tue: L20: Milestone Strategy
- Thu: L21: Advanced Patterns
🎯 Topics
- Choosing and planning capability milestones
- 40+ milestone catalog overview
- Advanced orchestration patterns
- Balancing breadth vs. depth
📖 Resources
- Milestone catalog (link TBD)
- Advanced patterns guide (link TBD)
🔬 Lab
Lab 11: Milestone Planning Workshop
Observability & Intelligence
📚 Lectures
- Tue: L22: Observability
- Thu: L23: Agent Intelligence
🎯 Topics
- Structured logging and tracing
- Performance profiling and monitoring
- Memory systems and context management
- Learning and adaptation strategies
📖 Resources
- Observability for agents (link TBD)
- Memory architectures (link TBD)
🔬 Lab
Lab 12: Observability Implementation
📝 Due
Milestone 3: 4+ capability milestones complete
Security & Testing
📚 Lectures
- Tue: L24: Security & Testing
- Thu: Thanksgiving (no class)
🎯 Topics
- Security considerations for agentic systems
- Input validation and prompt injection prevention
- Testing strategies for non-deterministic systems
- Regression testing and evaluation suites
📖 Resources
- Agent security guide (link TBD)
- Testing agentic systems (link TBD)
Report Writing & Final Integration
📚 Lectures
- Tue: L25: Report Writing
- Thu: L26: Comparative Analysis
🎯 Topics
- Technical report structure and content
- Presenting evaluation results
- Comparative analysis methodologies
- Design tradeoff discussion
📖 Resources
- Technical writing guide (link TBD)
- Evaluation report template (link TBD)
🔬 Lab
Lab 13: Report Writing Workshop
Oral Defense Preparation & Retrospective
📚 Lectures
- Tue: L27: Oral Defense Prep
- Thu: L28: Retrospective
🎯 Topics
- Preparing for technical presentations
- Answering challenging questions
- Demo best practices
- Course reflections and future directions
📖 Resources
- Oral defense guide (link TBD)
- Demo preparation checklist (link TBD)
🔬 Lab
Lab 14: Mock Oral Defenses
📝 Due
Milestone 4: Final system (8+ milestones) + Evaluation Report
Oral Defenses
🎤 Final Exam Period
December 14-21, 2026
Individual oral defenses scheduled throughout finals week. Each defense is 30-45 minutes:
- Live demo of your agent orchestrator
- Technical Q&A about implementation
- Design decision discussion
- Evaluation results presentation
Sign up for your time slot in Week 14.
📊 Grading
Overall Breakdown
Phase 1 Breakdown
Phase 2 Breakdown
Phase 3 Breakdown
🎯 Grading Scale
These thresholds are guaranteed minimums. Final grade boundaries may be adjusted downward (in students' favor) but never upward.
📜 Course Policies
🤝 Academic Integrity
AI use is required in this course — that's the point. However, understanding is what's graded, not generation. Specifically:
- You may use AI tools (Aider, ChatGPT, LLM coding assistants, Copilot, etc.) for all coding assignments
- You must understand every line of code you submit and be able to explain it
- You must document your AI tool usage in each submission (which tools, which models, what prompts)
- You may not copy another student's code, prompts, or reports
- You may not submit work from a previous semester or external source without attribution
- Oral defenses (Phase 3) are the primary mechanism for verifying understanding
Violations will be handled through the College of Engineering Honor Code process.
⏰ Late Policy
- Labs: Must be completed during the lab session. No late submissions.
- Projects: 10% penalty per day late, up to 3 days. After 3 days, no credit.
- Milestones: Each milestone has a lab checkoff deadline. Missed checkoffs receive a 20% penalty and must be completed by the next lab session.
- Extensions: Granted on a case-by-case basis for documented emergencies. Contact instructors before the deadline.
📍 Attendance
- Lectures: Attendance is expected but not graded. Lectures include live demos and discussions that cannot be replicated from slides alone.
- Labs: Attendance is mandatory. Labs include checkoffs that require in-person demonstration to a TA. Missed labs without prior approval receive zero credit.
👥 Collaboration
- Phase 1: Individual work only.
- Phase 2: Individual work (pairs allowed with instructor approval).
- Phase 3: Individual work only. You may discuss high-level approaches with classmates, but all code and writing must be your own.
- All phases: You may discuss concepts, debug together, and share publicly available resources. You may not share code, prompts, or reports.
♿ Accommodations
Students with disabilities should contact Services for Students with Disabilities (SSD) to arrange accommodations. Please provide your accommodation letter to the instructors within the first two weeks of the term.
🧠 Mental Health & Wellbeing
If you or someone you know is struggling, resources are available:
- Counseling and Psychological Services (CAPS): 734-764-8312
- Dean of Students Office: 734-764-7420
- Crisis Text Line: Text "HELLO" to 741741
🛠️ Tools & Technology
Required Tools
- ✅ Python 3.11+ & TypeScript — Projects use both languages
- ✅ Git — Version control is mandatory
- ✅ Aider (Phase 1) — AI-assisted coding CLI
- ✅ LLM API access — Hosted LLM API access or an equivalent local setup
Recommended Tools
- 💡 VS Code or equivalent editor
- 💡 uv or pip for package management
- 💡 Ollama — Free local LLM inference (optional)
💰 API Key Budget
There are no required textbooks for this course. Instead, students are responsible for ~$200 in LLM API costs across the semester. This covers API access to providers like OpenAI, Anthropic, and Google, which you'll use throughout all three phases.
The course will provide guidance on cost-effective model selection and usage. Early weeks will cost very little; the bulk of spending comes during Phase 3 as you build and evaluate your orchestrator.
📚 Course Resources
Course Repositories
- 📦 Main repo:
eecs498-aase/applied-agentic-software-engineering - 📦 Phase 1:
eecs498-aase/ai-assisted-development - 📦 Phase 2:
eecs498-aase/scripted-agent-orchestration - 📦 Phase 3:
eecs498-aase/modular-agent-orchestrator
Communication
- 💬 Discussion: Piazza / Ed (TBD)
- 👥 Office hours: TBD
- 📧 Email instructors as needed
🙏 Acknowledgments
This course incorporates ideas and materials from:
- IndyDevDan (Dan Disler) — "Principled AI Coding" video series, which inspired Phase 1's pedagogy
- Paul Gauthier — Creator of Aider, the primary tool for Phase 1
- Andrew DeOrio — Initial course concept brainstorming
- Suraj Rampure — Course design feedback
- Rafe Symonds — Course outline contributor and Phase 3 lead designer