Skip to main content

Spring 2026

CS 3100: Program Design & Implementation II

Most software outlives the assumptions it was built on. Requirements evolve, teams change, and the world around your code shifts in ways you didn't anticipate. This course teaches you to write software that can adapt—code that remains understandable, modifiable, and valuable over its entire lifecycle. You'll learn to think beyond immediate correctness to consider sustainability in multiple dimensions: technical longevity, economic viability, and the broader impacts your software has on its users and society.

The assignments in this course center on CookYourBooks, a desktop application you'll build from domain model to polished GUI. It's real software—with messy requirements, design tradeoffs, and the need to coordinate with teammates. Midway through, you'll learn to leverage AI coding assistants while maintaining the judgment to know when they help and when they mislead. The work surfaces questions that matter beyond any single assignment:

  1. Why do some codebases become unmaintainable within months, while others remain flexible for decades?
  2. What does it mean for code to be "readable"—and why do experienced developers often disagree?
  3. How do you build software when the people paying for it want different things than the people using it?
  4. When does using an AI coding assistant make you more productive, and when does it waste your time or lead you astray?
  5. What separates high-functioning teams from groups where one person does all the work?
  6. How do you design software that works for users whose abilities and contexts differ from your own?
  7. When should you invest in more design upfront, and when should you just start coding?

Our Approach to AI

AI coding assistants can generate code quickly, but they cannot judge whether that code solves the right problem, integrates cleanly, or will be maintainable. We restrict AI tools early while you build foundational competence, then explicitly teach effective human-AI collaboration once you can critically evaluate generated code. Read our full AI policy →

This Week

View full schedule →

No events scheduled this week.