Queen's School of Computing

CISC 124/3.0 Introduction to Computing Science II

Original Author: Bob Tennent
Last Revised: July 2, 2008

Calendar Description

Introduction to object-oriented design, architecture, and programming. Use of packages, class libraries, and interfaces. Encapsulation and representational abstraction. Inheritance. Polymorphic programming. Exception handling. Iterators. Introduction to a class design notation. Applications in various areas.
Prerequisite: CISC 121/3.0
Pre or Corequisite: CISC 102/3.0 or any first-year course in Mathematics.

This course is a direct prerequisite to

  • CISC-223/3.0 (Software Specifications)
  • CISC-235/3.0 (Data Structures)
  • CISC-260/3.0 (Programming Paradigms)
  • CISC-332/3.0 (Database Systems)
  • CISC-457/3.0 (Image Processing)

This course is required in all Computing programs.


Starting in Fall 2008, Java is the (only) programming language used in this course.

Object-oriented design and architecture
  • interfaces and specifications
  • encapsulation
  • inheritance
  • abstract classes
  • polymorphic/generic programming, templates
  • packages
  • inner classes
  • introduction to class design notation
Class-oriented control
  • exception handling
  • iterators
Packages and libraries

The focus is on use and architecture (rather than implementation).

Typical examples:

  • Java.io
  • Java.collections
  • Java.awt
  • Swing windowing toolset