Skip to main content

ICS 372 Object-Oriented Design and Implementation

System development using the object-oriented paradigm. Programming topics include: inheritance, polymorphism, dynamic linking, generics, Graphical User Interfaces, and data serialization. Use-case and state-based approaches for the discovery of conceptual classes. Design principles including the Liskov Substitution Principle, Open Closed Principle, and Stable Dependencies Principle. Design patterns such as Factory, Iterator, Adapter, Facade, Bridge, Observer, Command, State, Composite, Singleton, and Mediator. Employment of design principles, design patterns, and the Model View Controller in the design of object-oriented systems. System implementation. Refactoring. Group projects.

Prerequisites

Special information

First day attendance is mandatory.
Note: Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.
4 Undergraduate credits

Effective August 23, 2014 to present

Learning outcomes

General

  • Perform use-case analysis and state analysis techniques to discover and specify the conceptual classes.
  • Use design principles such as the Liskov Substitution Principle and Stable Dependency Principle to translate conceptual class design into an appropriate set of abstract and concrete classes and interfaces
  • Efficiently develop systems using design patterns including Bridge, Visitor, Singleton, Adapter, Observer, Command, Composite, and State
  • Use principles of the agile methodology by following the Unified Process
  • Use the Unified Modeling Language to document work
  • Implement a design utilizing structures such as classes, interfaces, generics, and threads
  • Refactor an existing implementation
  • Work in small groups

Summer 2024

Section Title Instructor books eservices
01 Object-Oriented Design and Implementation Amouzou, Christopher Books for ICS-372-01 Summer 2024 Course details for ICS-372-01 Summer 2024

Fall 2024

Section Title Instructor books eservices
01 Object-Oriented Design and Implementation Cassidy, Benjamin Books for ICS-372-01 Fall 2024 Course details for ICS-372-01 Fall 2024
02 Object-Oriented Design and Implementation Cassidy, Benjamin Books for ICS-372-02 Fall 2024 Course details for ICS-372-02 Fall 2024

Spring 2025

Section Title Instructor books eservices
01 Object-Oriented Design and Implementation Foy, Ralph Alex Books for ICS-372-01 Spring 2025 Course details for ICS-372-01 Spring 2025
02 Object-Oriented Design and Implementation Carlson, Timmothy S Books for ICS-372-02 Spring 2025 Course details for ICS-372-02 Spring 2025