Instructor(s)
Online Adaptations

Lectures will be held using Zoom and will be recorded for students who are unable to attend at the scheduled time.  However, participation in lectures is recommended, if at all possible, due to their interactive nature.  

Attendance (online) at the lab in which you are registered is required every week. 

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
102
Term
Term 1
Session
2020W
Dates
Days
Mon Wed Fri
Time (start)
1:00 PM
Time (end)
2:00 PM
Date (start)
Date (end)
Location
Building
SWNG
Room
221