This course is closed. The accuracy of this page's content is not guaranteed. [Return to]

You really should consider upgrading your browser to a more recent version. You'll still be able to view everything on this site, but it'll be an ugly experience.

CPSC128: Object-Oriented Programming I (W'06)
Course Outline

Instructor: Dave Rogers

Course Website:

Course Description

The most successful methodology for producing medium to large software systems is to model and implement them as interacting systems of software components. These software components are called objects and the process of creating systems of them is called object-oriented programming (OOP).

The goal of CPSC 128 is to introduce the student to the design and implementation of object-oriented software. To this end it covers: techniques, methods, and tools for systematic development and maintenance of software systems and documentation; basic algorithms and data structures; and fundamental concepts of object-oriented programming.

The bulk of the course is spent practicing program design as new elements are added to the student's knowledge of an OOP language. Good programming practices are emphasized throughout, including: top-down design, modularization, code re-use, debugging techniques, and creating useful documentation.

Learning Outcomes

A student who successfully fulfills the course requirements will have demonstrated an ability to:

  • produce an object-oriented (OO) analysis and design for a problem;
  • apply the principles of class inheritance, composition, and association to construct hierarchies of new classes;
  • use the components and constructs necessary to implement an OO program in efficient, reusable, extensible code;
  • use an OO programming environment to build applications;
  • produce clearly written and well-documented code;
  • evaluate programs through the careful application of appropriate testing techniques to assess their reliability and correctness; and
  • document the analysis, design, implementation and testing of a program constructed using OO principles.

Delivery Methods/Format


Monday and Wednesday classes will be lecture-labs, i.e. each session will be held in a lab and consist of both the formal presentation of material by the instructor, and practical hands-on activities by the students. It is designed so that students are able to follow examples during the mini-lectures, undertake additional examples and ask questions during the lab activities, and develop and hone their skills by completing the assignment exercises. Students will be expected to take notes during classes to study from and to use in completing the course assignments.

Friday classes will be devoted to hands-on programming practice through various exercises with the instructor present for assistance.

Class time alone will not be enough to learn the material. To develop the necessary programming skill you should plan on spending between one and three hours in preparation, study and practice outside class for every hour of direct instruction, i.e. 4.5 to 13 hours per week.


COMP118, COMP101, or permission of the instructor.


Attendance and Conduct

Attendance is mandatory. A student may be dismissed from a course if more than ten per cent (10%) of the scheduled contact hours are missed in any one course (Yukon College Academic Regulations, §4.01). Dismissal from a course may result in loss of full-time status and loss of sponsorship funding.

Missing a quiz or examination (either by absence or arriving too late to write) will normally mean forfeiture of the mark. An opportunity to write a missed quiz will be granted only for documented medical illness or similar emergency. Vacation scheduling is not an acceptable excuse for missing or re-scheduling a quiz or examination.

In the interest of minimizing distractions during class, students are asked not to perform the following activities during a scheduled class:

  • Sending or receiving e-mail
  • Surfing the Internet
  • Downloading or transferring files from the Internet
  • Playing computer games

There are instances where your instructor may ask you to do the above during class, in which case these activities would be acceptable. Students will be given a verbal warning the first time they are caught doing the above. The second time, a written warning will be given. A third offence will result in being compelled to leave the class.

Dishonesty and Plagiarism

The assignments are individual assignments and group submissions are not permitted. All submissions should be original work prepared for that specific assignment. To copy another person's work or present it as your own will result in penalties. Note that plagiarism is defined not only as submitting someone else's work as yours, but also includes submitting the same assignment for more than one course without the explicit permission of the instructor. The penalties for plagiarism include receiving a mark of 0 for the assignment, a mark of F for the course, and expulsion from the College.



Eleven assignments will be due on specific dates throughout the term. The one assignment with the lowest mark will be discarded from the term evaluation. The content of assignments will serve to reinforce the exercises performed during the lab sessions. Assignments are due at the beginning of class on the specified due date. Assignments submitted during or after class on the due date are considered one day late. Late submissions will be penalized 20% per working day, and due dates may not be rescheduled, except in exceptional circumstances and only where prior arrangements have been made with the instructor.


Six quizzes will be held on specific dates throughout the term. The one quiz with the lowest mark will be discarded from the term evaluation. Quizzes are normally held at the beginning of class. Quizzes may not be rescheduled, except in exceptional circumstances and only where prior arrangements have been made with the instructor.

Final Examination

The Final Exam will cover all aspects of the course.


Component Weight
Assignments (best 10 of 11) 50%
Quizzes (best 5 of 6) 25%
Final Examination 25%
Total 100%

Letter grading will follow the College's standard, which can be found in the Letter Grading section of Academic Regulations in the College Calendar.

Required Textbook

Learning Python Learning Python, Second Edition
by Mark Lutz & David Ascher
O'Reilly Books
ISBN 0-596-00281-5

Recommended Textbook

Python Pocket Reference Python Pocket Reference, Third Edition
by Mark Lutz
O'Reilly Books
ISBN 0-596-00940-2


Other Canadian universities and colleges may accept CPSC128 as equivalent to one of their own courses. For more information about transferability contact the Arts & Science Division office.