CMPT 370 Spring 2007 Syllabus


Dr. Sean Ho
(604) 513-2121 x3209
Office Hours: MTWR 4-5pm, F 9-10am and by appointment
Class location:
TR 14:35 - 15:50 Neu21


This course is designed to provide already experienced students with some of the advanced tools that they need to take their places as competent professional programmers. In this offering of CMPT 370, the topics we will be exploring include graphical user interfaces, parallel programming, and 3D graphics.


By the end of the course students should be able to
  • understand the concepts of event-driven programming for GUIs and demonstrate this understanding by programming in FLTK,
  • understand the concepts of parallel programming and demonstrate this understanding by programming in OpenMP, and
  • understand the concepts of 3D computer graphics and demonstrate this understanding by programming in OpenGL.


The first-year CMPT sequence (145/141/143 and 160+165/167), plus either CMPT 231 or CMPT 285, or second-year transfer status from another school with the instructor's permission.

Required Text

There is no required text. All our readings will be online. Recommended references:
  • "Parallel Programming in C with MPI and OpenMP", Quinn, McGraw-Hill, 2004.
  • "Computer Graphics: Principles and Practice", Foley, van Dam et al., Addison Wesley.
  • "Interactive Computer Graphics: A Top-Down Approach with OpenGL", 4th edition, Edward Angel, Addison Wesley.
  • "OpenGL Programming Guide", 5th Edition, Shreiner et al., Addison Wesley. (the "redbook")


This semester we will cover three major topics; the approximate number of weeks spent on each topic is shown in parentheses:
  • Graphical User Interfaces and Event Programming (2)
  • Parallel Programming (2)
  • Computer Graphics (6)


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 (5-6) 40% About every other week
Midterm 1 15% Thu 15 Feb (tentative)
Midterm 2 15% Thu 22 Mar (tentative)
Final Exam 30% Sat 21 Apr 2-4pm


  1. All labs must be completed -- if you do not turn in something for each lab, you will automatically fail the course.
  2. The good news is 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. We will use the timestamp on eCourses. It is your responsibility to make sure all parts of your lab are packaged and uploaded to the right place in eCourses by the deadline.
  3. 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:
    • Textbooks, notes, cell phones (turn off), laptops, PDAs, electronic dictionaries, calculators.
  4. During in-class quizzes/exams, your desk should be clear except for some blank scratch paper and your pencil/pen.
  5. In case of inclement weather, call (604) 513-2147 or see for official campus conditions.