CS146S: The Modern Software Developer

Stanford University • Fall 2026 / Fall 2025

AI coding strategies that work delivered to your inbox.

Course Description

Large language models have changed software development from a primarily manual coding process into one where developers collaborate with increasingly capable coding agents. This shift requires new ways of defining intent, structuring work, and coordinating tools so that agents can contribute effectively across complex software projects.

This course examines the emerging practices and technologies behind AI-native software development, including MCP, agent skills, spec-driven development, loop engineering, and the software factory. Students will learn how to provide agents with the right context and capabilities, translate product requirements into executable specifications, and design iterative workflows in which humans and agents plan, build, evaluate, and improve software together.

Through hands-on assignments, projects, and talks from practitioners building the next generation of developer tools, students will explore both the capabilities and limitations of current coding agents. By the end of the course, students will be able to design effective agent-driven workflows, compose tools and skills into reliable development systems, and apply software-factory principles to building and evolving software at greater speed and scale.

Units

3 units

Prerequisites

CS111/CS161 equivalent programming experience. CS221/229 recommended.

Format

Weekly lectures, hands-on coding sessions, and guest speakers from industry. Final project showcasing modern development practices.

Goals

Master modern development tools, understand AI-assisted coding, learn automated testing and deployment, explore emerging software trends.

Classroom

420-041

Office Hours

Mihail Eric: Friday 12:00-12:30 PM

Assignment Deadlines

Team