WCOMS3107-1: Clean Object-Oriented Design for Fall 2020

Days and Time

Mondays and Wednesdays 1:10 PM-2:25 PM

Location

ONLI ONLY

Allowed For:

  • Undergraduate
  • Masters
  • Professional
  • PhD
  • Undergraduate
  • Masters
  • Professional
  • PhD

Prerequisites:

None

Notes:

None

Instructor:

Lipson, Hod

Description

A course in designing, documenting, coding, and testing robust computer software, according to object-oriented design patterns and clean coding practices. Taught in Java.Object-oriented design principles include: use cases; CRC; UML; javadoc; patterns (adapter, builder, command, composite, decorator, facade, factory, iterator, lazy evaluation, observer, singleton, strategy, template, visitor); design by contract; loop invariants; interfaces and inheritance hierarchies; anonymous classes and null objects; graphical widgets; events and listeners; Java's Object class; generic types; reflection; timers, threads, and locks.