CPSC_210_103_2020W

Course Title
Software Construction
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
Calendar Description
Design, development, and analysis of robust software components. Topics such as software design, computational models, data structures, debugging, and testing.
Course Info
Course Number
CPSC 210
Section
103
Term
Term 1
Session
2020W
Location
Building
HEBB
Room
100
Dates
Days
MWF
Time (start)
3:00 PM
Time (end)
4:00 PM
Date (start)
Date (end)
UBC Course Schedule