
Large software systems are built by teams over a period of years. No team member can understand the entire system. How can be build software that will work in this setting?
We will study techniques and tools used to develop larger software projects. Students will improving their skills in designing, writing, debugging and testing software. Topics include design patterns, UML, designing for maintainability, software architecture, and testing.
Students will work together to design and implement a series of projects.
Prerequisites: CS 102 (or concurrently), CS 201
Suggested course(s) to take next: CS 313, CS 314