Home Syllabus Lecture Assignment Example Reference CGPark MyLS
   [WLU Home Page]

Department of Physics & Computer Science

CP411 Computer Graphics 2025 Fall (Session A)

Instructor Information

Instructor: Dr. Hongbing Fan (HBF)
Office: Science Building N2081
Email: hfan@wlu.ca
Weekly Office Hours: After class or by appointment

Welcome to CP411 Computer Graphics

The first class meeting is at 4:00 pm Monday, September 08. in room Bricker Academic Building BA110.

The course website on MyLS will be available on the first day of the term. Please read the course syllabus, and if you have any questions, try to get them answered in the first class.

We will use C++ and OpenGL for graphics programming. If you want to get an early start, first visit the examples page and follow the instructions to install the C++ development environment. Next, take a quick self-tutorial on the C++ programming language, or warm up with C++ examples.

This is an introductory course in computer graphics. We will focus more on breadth than depth, covering a wide range of topics. You will create and build a 3D graphics viewing system through a sequence of assignments, and then use it for graphics application projects. To see examples of possible projects, please visit our CGpark.

Why taking this course?

  1. Computer graphics is about 2D/3D object modeling, image generation, and display. It is a hot field in computer science and engineering, with many applications.
  2. To gain a deeper understanding of computer graphics: Almost all images we see on computers or smartphones are created using computer graphics. Isn't it fascinating to learn how these images are generated?
  3. To understand how graphics hardware works: Every desktop computer and smartphone has a graphics processing unit (GPU). It's valuable to learn about GPU computing and programming, and to see the impact of GPUs on today's AI computing.
  4. To learn the principles of computer image generation and graphics software development, and to create various graphics applications such as graphical user interfaces, video games, virtual reality, and data visualization. Isn't it cool to see and appreciate what you create?
  5. To gain a technical background for related fields such as computer vision, image processing, pattern recognition, and robotics.
  6. To apply and integrate knowledge of geometry, algebra, calculus, numerical analysis (scientific computing), and physics: How satisfying would it be to use what you've learned in math and physics courses in graphics programming?
  7. To apply your knowledge and skills in data structures, algorithms, and software engineering: Performance is crucial for graphics, and efficient solutions are always pursued in computer graphics.
  8. To practice more complex programming projects: You will gradually develop a 3D graphics engine through assignments for your application projects. This will enhance your knowledge and skills in software engineering and object-oriented program design and implementation.
  9. To gain experience with industry-standard computer graphics software tools such as C/C++ with OpenGL for graphics programming, and GPU programming with GLSL and CUDA for high-performance computing.