User Tools

Site Tools


start

Advanced Object Oriented Programming

Description

This course concentrates on advance object oriented techniques in Java. Topics include: implementing classes (non-utilities, delegation within the class definition, documentation and API generation, implementing contracts), aggregations (implementing aggregates versus compositions and implementing collections), inheritance hierarchies (attribute visibility, overriding methods, abstract classes versus interfaces, inner classes), applications of aggregation and inheritance in concurrent programming and event-driven programming, recursion, searching and sorting including quick and merge sorts), stacks and queues, linked lists, and binary trees.

This course continues the separation of concern theme introduced in EECS1020 and EECS1021. While EECS1020 focuses on the client concern, this course focuses on the concern of the implementer. Hence, rather than using an API (Application Programming Interface) to build an application, the student is asked to implement a given API.

Prerequisites

General Prerequisite; LE/EECS1021 3.00 or LE/EECS 1020 3.00 or LE/EECS1022 3.00 or LE/EECS 1720 3.00. Course credit exclusions: LE/EECS1030 3.00, AP/ITEC 2620 3.00. (NOTE: The General Prerequisite is a cumulative GPA of 4.50 or better over all major EECS courses. EECS courses with the second digit “5” are not major courses.)

Course Director

  • Navid Mohaghegh
  • Office: EECS 2008 (Computer Science and Engineering Building)
  • Email: navid at eecs dot yorku dot ca.

Lecture Times

  • Tuesdays and Thursdays: 17:30-19:00 (Life Sciences Building - LSB 103)

Lab Times

  • LAB02: Tuesdays: 19:00-20:30 (Lassonde Building - LAS 1006A)
  • LAB01: Thursdays: 19:00-20:30 (Lassonde Building - LAS 1006A)
start.txt · Last modified: 2016/07/05 19:49 by navid