A software design and implementation experience involving a medium to large group. Students prepare requirements, specification, analysis and design documents as a team toward development of a useful software product and use the documentation to implement and test the product. The development process should consider a broad range of constraints including non-functional requirements to the software product, health and safety, sustainable development and environmental stewardship. Students manage their projects professionally, present their design work orally, and demonstrate formally that the product meets its requirements.
Prerequisites: CS 3503 or at least 2 terms of co-op and 100 ch in the software engineering program or permission from the instructor.