Setting Up VS Code for Software Engineering
Complete step-by-step guide to configure VS Code for web development with React, TypeScript, Firebase, and Git tools.
How do we best work in teams to build software reliably and predictably that users love?
Most software is built by teams, yet most CS courses focus on individual work. This course is experiential—students learn by doing, building real products in agile teams using modern tools and practices. The goal isn't just to write code, but to ship software that solves real problems, together.
CS394 at Northwestern University explores how teams build software reliably, predictably, and in ways that users love. Since the 1960s, software engineering has studied how humans work together to produce code that solves problems. This course brings those lessons to life through two intensive team projects grounded in agile practices.
By the end of this course, students will:
The course is built around two major team projects, not lectures. The first project is a startup simulation where small teams go from ideation through four-panel storyboards to a deployed, user-tested product in about five weeks. Students also complete a self-paced lab component (5-7 focused labs) covering React fundamentals, TypeScript best practices, advanced Git and GitHub workflows, and testing techniques for AI-aided development.
The second project introduces the complexity of real-world development: multiple agile teams coordinate to build software for an actual external client, with a heavy emphasis on Harness Engineering techniques using agentic AI tools. Teams navigate shared architecture, inter-team dependencies, client communication, and modern AI-assisted development practices.