CPSC128: Object-Oriented Programming I (W'06) Course Outline
Instructor: Dave Rogers
Course Website: http://college.yukondude.com/cpsc128/
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
Lecture
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.
Prerequisites
COMP118, COMP101, or permission of the instructor.
Requirements
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.
Evaluation
Assignments
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.
Quizzes
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.
Evaluation
| 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, Second Edition
by Mark Lutz & David Ascher
O'Reilly Books
ISBN 0-596-00281-5
Recommended Textbook
Python Pocket Reference, Third Edition
by Mark Lutz
O'Reilly Books
ISBN 0-596-00940-2
Equivalency/Transferability
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. |