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
101
Term
Term 1
Session
2021W
Dates
Days
Mon Wed Fri
Time (start)
10:00 AM
Time (end)
11:00 AM
Date (start)
Date (end)
Location
Building
ESB
Room
1013