Academics / Courses / DescriptionsCOMP_SCI 396: Software Design Principles and Practices
Academics
/ Courses
/ Descriptions
VIEW ALL COURSE TIMES AND SESSIONS
Prerequisites
CS 211 and CS 214 or MS CS or PhDs CS or PhD CS+LS or PhD TSB or permission of InstructorDescription
In this course, students will explore software design principles like S.O.L.I.D. by learning the object-oriented design patterns introduced by the Gang of Four (GoF). We will critically examine each design pattern, discussing the underlying design principles and the reasons for their necessity. Additionally, we will address the potential misuse and overuse of these patterns and principles. Students will analyze the trade-offs between different design solutions for the same problem and model software using UML diagrams.
- This course fulfills the Technical Elective area.
COURSE COORDINATORS: Prof. Yiji Zhang
COURSE INSTRUCTOR: Prof. Yiji Zhang (Spring)