Ryerson University Ryerson University
School of Computer Science

CPS 209 Computer Science II

Course Management Form (Jan.-Apr. 2005)

Instructor Eric Harley Tim McInerney
Office ENG 282 ENG 262
Phone 979-5000-4874 979-5000-7245
Office Hours Timetable tba
email eharley@scs.ryerson.ca tmcinern@scs.ryerson.ca
WWW www.scs.ryerson.ca/~eharley .../~tmcinern

CPS209 Computer Science II:

A continuation of CPS 109, in terms of focus 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. Class time: 3 hours lecture + 1 hour lab.

Reference Material and Text:

Course Web Site http://www.scs.ryerson.ca/~cps209
Course Text Big Java by C. Horstmann; Wiley ISBN 0-471-40248-6

ItemValue Approx. Date
Labs 10% Weekly
Assignment 1 10% weeks 3-6
Assignment 2 10% weeks 8-11
Mid-Term Test 1 15% week 4
Mid-Term Test 2 20% week 8
Final Examination 35% April

In order to pass the course, it is necessary to obtain 50% of the test marks (Midterm 1 + Midterm2 + Examination) and 50% of the total marks.

General Information:
  1. Announcements: Students are responsible for checking the course web site for all instructions relating to the course and for announcements (posted in the announcements section).
  2. Labs: The labs will be graded based on the student's demonstration of some component of the lab material to the TA or instructor during the lab period.
  3. Assignments: Each assignment consists of a small programming project. The grading will be based on program correctness (i.e., how well the program meets specifications), documentation (each class and method should be preceded by a comment describing its purpose, and the comments for each method should describe the purpose of the parameters and the value returned (if any), variable names should be descriptive), and style (modularization, indentation, logic).
  4. Plagiarism: Copied work (both copy and original) will be assigned a grade of 0. Involvement with plagiarism can ultimately result in course failure and/or expulsion from the University in accordance with the Ryerson Student Code of Academic Conduct. See also: related forms and policy 60.
  5. Lateness: Late assignments will be penalized at a rate of 10% per day of lateness, and after 5 days will not be accepted.

Course Outline (the ordering of and time spent on topics may change):
1 Inheritance Ch. 11
2 Interfaces and Polymorphism Ch. 9
3 Event Handling Ch. 10
4 Graphical User Interfaces Ch. 12
5 Exception Handling Ch. 14
6 Streams Ch. 15
7 Recursion Ch. 17
8 Intro. to Data Structures Ch. 19
9 Intro. to Data Structures Ch. 19
10 Advanced Data Structures Ch. 20
11 Multithreading Ch. 21
12 Internet Networking Ch. 22
13 Review and/or Selected Topics  

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