Students conduct a study of designing and maintaining complex software. The course builds upon fundamental software engineering skills with an emphasis on:
- software design patterns,
- anti-patterns and code smells,
- code review and refactoring, and
- tools for evaluating code quality
Students practice maintaining software by collaborating on a large-scale open source project using automated development operation (DevOps) tools. Prerequisites: CSCI 430 and classified graduate standing.