CSC 3465 SOFTWARE DESIGN
Well-designed software is code crafted to be maintained as easily as possible. This course will teach techniques of testing code, debugging code, and designing object-oriented inheritance hierarchies and interfaces that promote software reuse and extensibility. The course is heavily project-based.
Course Types
Science; Advanced Studies
Offered
Fall of alternating years.
Notes
Course Outcomes
- Students will be able to complete an entire software life cycle (design, implementation, testing, and debugging) for a program of non-trivial size
- Students will be able to articulate the principles of object-oriented software design
- Students will be able to use a version control system and agile methodology to work in teams
- Students will be able to refactor existing code so it more closely adheres to software design principles
- Students will be able to describe and implement several object-oriented design patterns, such as MVC and the Strategy pattern