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
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.
There is no required text. All our readings will be online.
- "Parallel Programming in C with MPI and OpenMP", Quinn, McGraw-Hill,
- "Computer Graphics: Principles and Practice", Foley, van Dam et al.,
- "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.
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)
As this course is programming-heavy, there is a strong emphasis on the
programming labs, in which the student will design and implement a
significant software program for each assignment. Proficiency in C++
is expected. The tentative topics for each programming lab are as follows:
- Lab 0: FLTK orientation tutorial
- Lab 1: FLTK application, GUI design
- Lab 2: OpenMP parallel program on Carmel
- Lab 3: Animated 3D model in OpenGL
- Lab 4: Texture maps and trackball rotation
- Lab 5: Vertex and fragment shaders in GLSL
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) ||50% ||About every other week|
|Midterm 1 ||10% ||Mon 5 Oct (tentative)|
|Midterm 2 ||10% ||Mon 16 Nov (tentative)|
|Final Exam ||30% ||TBA during finals week|
- Since this is a directed study, regular face-to-face meetings will
only be needed approximately once every two weeks. The student is expected
to be in regular email contact at least once a week to update on progress.
The lecture material will be posted online, and the student is expected to
learn independently through the lecture notes, the additional reading
resources, the programming assignments, and email/office hours as needed.
The student will schedule with the instructor appointments to take the
two midterms and the final exam.
- All labs must be completed -- if you do not turn in
something for each lab, you will automatically fail the course.
- 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 myCourses. It is
your responsibility to make sure all parts of your lab are
uploaded to the right place in myCourses by the deadline.
- During exams, all of the following are not permitted
and should be left in your closed/zipped bag and put on the floor:
Scratch paper will be provided.
Your desk should be clear except for your pencil/pen.
- Textbooks, notes, cell phones (turn off), laptops, PDAs,
electronic dictionaries, calculators.
- Academic integrity is a core value of the entire TWU community.
This includes, but is not limited to, avoiding all forms of plagiarism and
cheating. Plagiarism is using someone else's work without attribution.
In this course, if you do it once you will get a zero, if you do it again you
will automatically fail the course. Any such cases also go into the
University's files for future reference; TWU has a strict policy concerning
A tutorial describing plagiarism and how to avoid it has been
prepared by TWU Librarian William Badke:
(14 min flash),
(8 min flash)