Ryerson University, Department of Computer Science

CPS 209: Computer Science II
Course Management Form (Winter 2013)



Office hours 


E. Harley


ENG 263
Tues and Wed 3-5pm,

979 5000 x4874

URL for this CMF: Blackboard (my.ryerson.ca)
Course website : Blackboard (my.ryerson.ca) (contains course information, labs, assignments, announcements, marks).
Calendar Course Description: CPS209 Computer Science II:
A continuation of CPS 109. Emphasis is placed on code optimization, algorithm and program correctness. Fundamental Computer Science Algorithms will be introduced.
Lect: 3 hrs./Lab: 1 hr.
Prerequisite: CPS 109
More detailed synopsis: The focus is on object-oriented programming and design principles. The following concepts are presented: inheritance, interfaces, encapsulation, polymorphism, equality, comparables, serialization, casting, exceptions, graphical user interfaces, and event handling. These concepts are applied to basic algorithms and data structures (stacks, lists, queues, and trees). The Java programming language will be used.

Text: Big Java 4th Edition, by Cay Horstmann, Wiley.




Tentative date

MidTerm Test1


week 5: Feb. 11-14 (in lab)

MidTerm Test2


week 10: Mar. 25-29 (in lab)




Assignment 1


Feb. 17

Assignment 2


Mar. 31

Final Examination ***



General Information

  1. Results: Results for midterms and assignments will be returned within two weeks of due date.

  2. Posting of marks: Marks will be posted on Blackboard (my.ryerson.ca).

  3. Tests: The midterms and exam will in the online testing environment. Questions will be a combination of short-answer, multiple choice and programming.

  4. Labs: Labs start in the second week of classes. There will be 11 lab sessions, two of which will be used for midterms. There will be approximately 9 lab assignments. Each lab assignment involves writing programs and submitting them to a "wizard" for automatic grading. The results from the wizard are to be submitted on blackboard. During the non-testing labs, the TA will answer questions regarding the problems and help with solutions.

  5. Assignments: The assignments are to be done individually. Grading is be based on meeting requirements, documentation and possibly a code walk-through with the student.

  6. Plagiarism: Students are reminded they must adhere to all relevant University policies, such as Student Codes of Academic and Non-Academic Conduct www.ryerson.ca/academicintegrity/students.html ).

  7. Announcements: Students are responsible for checking daily their Ryerson e-mail and announcements posted on the course home page, and for following all course related instructions so transmitted.

Course Outline (the ordering of and time spent on topics may change):



Interfaces and Polymorphism

Ch. 9


Ch. 10

Input/Output and Exception Handling

Ch. 11


Ch. 13

An Introduction to Data Structures

Ch. 15

Advanced Data Structures

Ch. 16

Generic Programming

Ch. 17

Graphical User Interfaces

Ch. 18

Files and Streams

Ch. 19

Multithreading (time permitting)

Ch. 20

Modifications to the course procedures will be made in consultation with the course students.

Academic Consideration

In addition, the following procedures must be followed as well:

For more detailed information on these issues, please refer to Senate Policy 134 at (Undergraduate Academic Consideration and Appeals) and Senate Policy 150 (Accommodation of Student Religious Observance Obligations). Both can be found at www.ryerson.ca/senate/policies/.