A project-based course that covers the tools and processes used in modern software development.
Students work as a team to design, implement, test and document a software system for an outside
client. Lecture topics include software development strategies, requirements elicitation, analysis
and modeling, patterns, and team communication.