Instructor(s)
Extended Description

The following broad topics will be covered. The main learning goals for each topic are also provided.

Data Abstraction
  • describe how data abstraction makes possible the construction of larger software systems
  • specify, use, test and implement a data abstraction in Java
Control Flow Models
  • produce inter- and intra-method control flow diagrams from Java code
Type Hierarchies, Polymorphism and Dispatching
  • trace the execution of Java source code that uses polymorphism, inheritance and dynamic dispatching
  • determine if one type is substitutable for another
Robust Data Abstractions
  • specify, test and implement a robust data abstraction using exceptions
Object-Oriented Design
  • record the design of an existing system using a UML class diagram
  • extract UML sequence diagrams from existing code
  • express a UML class diagram as a Java program
  • make effective use of the Java Collections Framework
Design Patterns
  • apply the Composite, Observer, and Iterator patterns to a given design problem
Course Info
Section
203
Term
Term 2
Session
2018W
Dates
Days
Mon Wed Fri
Time (start)
3:00 PM
Time (end)
4:00 PM
Date (start)
Date (end)
Location
Building
SWNG
Room
222