CMPT 166 Spring 2011 Syllabus


Dr. Sean Ho
(604) 513-2121 x3209, Neu5
Office hours: MW 2-4, F 1:30-2:30 and by appointment
Class location:
TR 11:40-13:00 Neufeld 21


Intermediate programming techniques in one or more programming notations. CMPT166 is a second step for students learning programming by showing them how object-oriented concepts are employed in the design and writing of code in a variety of notations. The emphasis is on the theory of OO programming and design of solutions, as well as implementation in a current OO language such as Java or C++. Students will be introduced to the general concepts of object oriented programming and will learn one object oriented language in sufficient detail to be able to produce substantial programs.


CMPT 140 (145 preferred) or an equivalent course or working experience using a procedural language such as Pascal, Modula-2, Python, C, or C++.


Required: Absolute Java, Savitch, 4th edition, Pearson Addison-Wesley, 2009. ISBN 0-13-608382-X. This text is available in the campus bookstore.


We will be using the Eclipse development environment, using the Java SE platform. This is installed on the CMPT lab computers. You are free to use your own computer, as long as you set your compiler to produce bytecode compatible with the version of Java installed on the lab computers (so that it can be run there). No official support will be provided for installing/compiling on your own computers.


Letter grade assignment follows the TWU percentage to grade equivalents except that >=85% and <95% is an A; 95% and above is an A+.
Labs (6) 40% Approx. every other week
Homeworks (5-6)15%Approx. every other week
Midterm 15% Tues 8 Mar
Final Exam 30% Wed 27 Apr


  1. Every lab must be done; no exceptions! If you do not turn in something for each lab, you will automatically fail the course. But the late policy is fairly lenient: penalty of 5% per calendar day, up to a week late. More than a week late is 50% penalty. More than two weeks late and it will not be accepted unless there are extenuating circumstances. The final lab (Lab6) will not be accepted late. We will use the timestamp on myCourses. It is your responsibility to make sure all parts of your lab are uploaded to the right place in myCourses by the deadline.
  2. If you turn in your lab on-time, you can expect your lab to be marked within a week. If you turn in your lab late, you forfeit the privilege of getting prompt feedback.
  3. Laptops are permitted in-class only for course-related work. This means no Facebook, YouTube, Halo, etc., (unless directly related to coursework)!
  4. During in-class quizzes/exams, all of the following are not permitted and should be left in your closed/zipped bag and put on the floor:
    • Books, notes, cell phones, laptops, PDAs, iPods, dictionaries.
    Your desk should be clear except for your pencil/pen.
  5. All academic policies in the Academic Calendar are in effect, including "Academic Dishonesty and Plagiarism", "Attendance", and "Students with a Disability".
  6. In case of inclement weather, call (604) 513-2147 or see for official campus conditions.