Principles of Software Design
ECE 37200/ 3 Cr.
This course is designed to teach students best practices in designing and implementing object-oriented systems of high quality. To accomplish this task, we start with an overview of software design patterns and their role in developing high-quality software. We then begin surveying different design-level software design patterns, such as the Bridge, Strategy, Wrapper Facade, and Visitor software design patterns. Next, we touch on software design patterns for building distributed systems. Finally we finish the course by surveying Software anti-patterns, which are common design mistakes that negatively impact system quality, such as degrading performance as the system scales in size and complexity. Students will have the opportunity to apply learned techniques on several programming projects throughtout the semester.
- Available Online: No
- Credit by Exam: No
- Laptop Required: No
Prerequisites/Co-requisites:
P: CSCI 24000. R: CSCI 36200 (recommended).
ECE 37200 ABET Course Syllabus