Home Syllabus Lecture Assignment Example Reference CGPark MyLS

WLU logo

Course Syllabus
CP411 Computer Graphics 2024 Fall (Session A)
Department of Physics and Computer Science, Faculty of Science, Waterloo Campus

I acknowledge that in Kitchener, Waterloo, Cambridge and Brantford we are on the traditional territory of the Neutral, Anishnawbe, and Haudenosaunee peoples.

Instructor: Dr. Hongbing Fan (HBF)
Office: Science Building N2081
Email: hfan@wlu.ca

Course Information

Calendar description: The principles, algorithms, and techniques of computer graphics. Topics include introduction to graphics hardware, output primitives, two- and three-dimensional geometric transformations, three-dimensional object representation and viewing, illumination models and surface-rendering methods. Graphics software tools will be introduced in this course.

Credit: 0.50
Pre-requisite: CP264 and MA122

Lecture time: 8:30 am - 9:50 am Tuesday and Thursday
Class room: Science Building N1002
Office hours: 10:00 am - 11:00 am Tuesday and Thursday

Course Overview

Computer Graphics (CG) is about computer image generation by modeling, rendering, storage and synthesis. It has a wide range of applications such as graphical user interfaces, animation movies, video games, and virtual realities. Computer graphics is a well-established and continuously evolving field of computer science, and has deep roots in academics, communities, and industries. This course introduces the principles of computer graphics on the following topics.

The following topics will be covered:

  1. Graphics hardware and software
  2. Graphics pipeline and transformations
  3. Primitives and rendering algorithms
  4. Graphics object modeling and representations
  5. Modeling of curve, surface, and fractal objects
  6. Culling and clipping algorithms
  7. Lighting and shading algorithms
  8. Graphics file compressing and storage
  9. Graphics programming with C/C++, OpenGL and GLSL

Learning Outcomes

The primary goal of this course is to teach students the concepts, principles, and technics of computer graphics, and apply them to the design and implementation of computer graphics related applications. By the end of this course students should be able to

  • Describe the concepts and principles of computer graphics including hardware, software, graphics pipelines, 2D/3D transformations, graphics object modeling, and rendering.
  • Design and implement 2D/3D graph pipelines for 2D/3D object rendering.
  • Design and implement 2D/3D object models.
  • Apply industrial graphics libraries in practical graphics projects.

Approach, materials, tools

This course will be taught through In person lectures, class Q&A, lecture notes, program examples, assignments, project, and final exam.

In addition to class Q&A, a discussion board on MyLS will be opened up for every week of the term. The discussion board is intended to provide students with a platform they can use to connect with other students and the professor to discuss the material of the week. If you have a general question about the material for the week, please post your question here. If your questions are of a personal nature, please email to the instructor at hfan@wlu.ca. If you want to talk to the instructor in person, you can come to office during office hours, or email to make an appointment

Teaching materials include lecture notes, reference materials, examples, assignment helps.

PCs with Intel/AMD/NVIDIA graphics cards, MinGW C/C++ compiler, Eclipse and/or VS code IDE, OpenGL, GLSL, Windows OS.

Assessments

The learning outcomes will be assessed by the graded tasks with weights given in the following table.

Graded task Weight
5 assignments 43%
project 15%
final exam 42%

You are required to achieve a minimum of grade of 50% on the overall grade in order to pass the course.. Final letter grades are obtained by converting the numerical percentage grades by the following table. The instructor reserves a right to adjust the cut-off for final letter grade up or down by 2.0%.

A+ A A- B+ B B- C+ C C- D+ D D- F
90-10085-8980-8477-7973-7770-7267-6963-6760-6257-5953-5750-520-49

Assignments will be posted 2 weeks before the due date. Assignments must be done individually. That means you must not look at assignment solutions or program code from others, and you must not show your assignment program code to others.

Assignments must be submitted at MyLearningSpace before due time. Late or missed submissions will not be marked except approved by the instructor in advance.

Assignment program solutions should be written in required programming language and style. Assignment programs are marked on correctness, efficiency, style, and documentation. The programs of each question will be compiled and tested by markers.

Final project is a self-proposed 2D or 3D computer graphics application. It requires to use the CG system developed through out the assignments. It can be done individually or by group up to three members

The final exam will be in-person and paper based at time and location scheduled by university exam office. The final exam contains multiple choice and writing questions on concepts and theory covered in lectures.

Class participations are mandatory for this course. However, class participations will not be recorded and counted for marks.

Lecture Schedule

Week Day Date Class Topic Reading
1 Thu Sep.05 1 Course introduction, graphics hardware Ch.1, Ch.2, Ch.3
Tue Sep.10 2 Graphics pipeline and software, OpenGL I
2 Thu Sep.12 3 OpenGL II, graphic file formats, OpenGL Lab tutorial Ch.4, Ch.5, Ch.20
Tue Sep.17 4 Scan conversion algorithms for line segment and circle
3 Thu Sep.19 5 Polygon, graphics files Ch.6
Tue Sep.24 6 2D transformations
4 Thu Sep.26 7 2D view and clipping Ch.7, Ch.8
Tue Oct.01 8 3D transformations
5 Thu Oct.03 9 3D view, projections
Next general calendar week is reading break, no classes
Ch.9, Ch.10
Tue Oct.15 10 Object modeling and representation I
6 Thu Oct.17 11 Object modeling and representation II Ch.11, Ch.16
Tue Oct.22 12 Hidden surface detection and removal, color model
7 Thu Oct.24 13 Illumination and shading Ch.17
Tue Oct.29 14 Animation. Object modeling and representation III -- curve, cubic splines, Bezier curves
8 Thu Oct.31 15 Curve II: Advanced curves, B-Splines, Rational-Splines. Ch.14
Tue Nov.05 16 Object modeling and representation IV -- surface
9 Thu Nov.07 17 Texture mapping Ch.13, Ch.18
Tue Nov.12 18 Object modeling and representation V -- fractals
10 Thu Nov.14 19 Shaders and GPU programming with GLSL Ch.22
Tue Nov.19 20 General purpose computing by GPGPU using GLSL, OpenCL, CUDA
11 Thu Nov.21 21 WebGL OpenCL
Tue Nov.26 22 Ray tracing
12 Thu Nov.28 23 USD and beyond WebGL
Tue Dec.03 24 Final review, project presentation and demonstration
Final exam to be scheduled

Lecture schedule is subject to change according to the progress of class.

Course Work Schedule

Job Topic Work Weight Due week Due date
a1 Graphics concepts, C++/Eclipse/OpenGL/GLSL individual 3 2 Tuesday, September 17
a2 2D CG system: Simple draw individual 10 4 Tuesday, October 01
a3 3D CG system: transformations individual 10 6 Tuesday, October 22
a4 3D CG system: light and shading individual 10 8 Tuesday, November 05
a5 3D CG system: curve, surface, GLSL individual 10 11 Thursday, November 21
Project proposal CG application of your 2D/3D CG system team of 1-3 members 3 11 Tuesday, November 26
Project delivery Presentation, demonstration, and submission team of 1-3 members 12 12 Tuesday, December 03

Intellectual Property

The educational materials developed for this course, including, but not limited to, lecture notes and slides, assignments and helps, examinations, and any materials posted to MyLearningSpace (exclude reference materials), are the intellectual property of the course instructor. These materials have been developed for student use only and they are not intended for wider dissemination and/or communication outside of a given course.

Posting or providing unauthorized audio, video, or textual material of lecture content to third-party websites violates an instructor’s intellectual property rights, and the Canadian Copyright Act.

Recording lectures in any way is prohibited in this course unless specific permission has been granted by the instructor. Failure to follow these instructions may be in contravention of the university’s Student Non-Academic Code of Conduct and/or Code of Academic Conduct, and will result in appropriate penalties. Participation in this course constitutes an agreement by all parties to abide by the relevant University Policies, and to respect the intellectual property of others during and after their association with Wilfrid Laurier University.

As a registered student of this course, you are allowed to download and hold all posted teaching materials of this course for your own reference. You are not allowed to disclose the course materials and information (including your solutions) of assignments, labs, examinations to others.

University Course Policies

Laurier has several senate approved policy statements it requires instructors to include in their syllabus. Those with specific wording approved by senate are indicated specifically below.

  1. Special Needs: Students with disabilities or special needs are advised to contact Laurier's Accessible Learning Centre for information regarding its services and resources. Students are encouraged to review the Academic Calendar for information regarding all services available on campus.
  2. Plagiarism: the University has approved the following wording for inclusion on all course syllabi about the use of the institutionally supported plagiarism software tool. “Wilfrid Laurier University uses software that can check for plagiarism. If requested to do so by the instructor, students are required to submit their written work in electronic form and have it checked for plagiarism.” (Approved by Senate May 14, 2002)
  3. Academic Integrity: Laurier is committed to a culture of integrity within and beyond the classroom. This culture values trustworthiness (i.e., honesty, integrity, reliability), fairness, caring, respect, responsibility and citizenship. Together, we have a shared responsibility to uphold this culture in our academic and nonacademic behaviour. The University has a defined policy with respect to academic misconduct. As a Laurier student you are responsible for familiarizing yourself with this policy and the accompanying penalty guidelines, some of which may appear on your transcript if there is a finding of misconduct. The relevant policy can be found at Laurier's academic integrity website along with resources to educate and support you in upholding a culture of integrity. Ignorance is not a defense.

Kitchener/Waterloo campus resources

The University approved the inclusion of information about select wellness and safety services and supports on campus in the course information provided to students. (Approved by Senate November 28, 2011). Specific language (by campus) is provided below.

  1. Waterloo Student Food Bank-All students are eligible to use this service to ensure they’re eating healthy when overwhelmed, stressed or financially strained. Anonymously request a package online 24-7. All dietary restrictions accommodated.
  2. Waterloo Foot Patrol-519.886.FOOT (3668)- A volunteer operated safe-walk program, available Fall and Winter daily from 6:30 pm to 3 am. Teams of two are assigned to escort students to and from campus by foot or by van.
  3. Waterloo Student Wellness Centre519-884-0710, x3146 - The Centre supports the physical, emotional, and mental health needs of students. Located on the 2nd floor of the Student Services Building, booked and same-day appointments are available Mondays and Wednesdays from 8:30am to 7:30 pm, and Tuesdays, Thursdays and Fridays from 8:30 am to 4:15 pm. Contact the Centre at x3146, wellness@wlu.ca or @LaurierWellness. After hours crisis support available 24/7. Call 1-844-437-3247 (HERE247).