Academics
  /  
Courses
  /  
Descriptions
COMP_SCI 396: Software Design Principles and Practices


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 Instructor

Description

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)