EECS2030 Z: Advanced object oriented programming

Winter 2017-18
Department of Electrical Engineering and Computer Science at York University
Dr. Burton Ma
Lassonde 2046
burton at cse.yorku.ca



Syllabus

Please see the course moodle for the complete website belonging to this course.

Lectures

Lectures
Topics Slides
Lecture materials Exercises
  • Introduction
  • Organization of a Java program
  • Methods
  • Javadoc
  • JUnit
  • Utility classes
  • Classes and objects
  • Fields
  • Constructors
  • Accessors and mutators
  • equals
  • toString
  • hashCode
  • Information hiding
  • Immutability
  • Class invariants
  • compareTo
  • Mixing static and non-static features

  • Aggregation and composition

  • Composition (collections as fields)
  • Arrays

Labs

Date Topic Files
Jan 11 & 15 Utility classes Lab 1
Jan 18 & 22 see lab 3
Jan 25 & 29 Classes Lab 3 (merged with Lab 2)