CS 351 Visual Computing



C or better in CS 262 and CS 310


Recommended: Fundamentals of Computer Graphics, 3rd Edition


This course uses Microsoft Visual Studio 2015, which is available only for Windows. If you have a Apple computer and want to install the software on it, you will have to use either a virtual machine or BootCamp to install Windows on your Apple computer. VMWare Fusion and Windows are available at no charge through your enrollment in Volgenau School courses. Instructions for obtaining the software are in the Microsoft DreamSpark & VMWare FAQs on http://labs.vse.gmu.edu


This course is a requirement of the ACS Game Design degree and can be used as a CS Related Elective for the BS CS degree.

The focus of this course is programming essential mathematical and geometric concepts underlying computer graphics. It covers fundamental topics in computational geometry, 3D modeling, graphics algorithms, and graphical user interfaces using both 2D and 3D implementations. Furthermore, it reinforces Object Oriented programming practices.


Late policy:

Each student will be granted 3 grace days that can be used with programming assignments. The smallest unit that can be used is one day. After using the grace days, students will receive no credit for late assignments. All assignments will be given and submitted through Blackboard.

Course Outcomes:

  1. Have a firm grasp of basic computer graphics algorithms and their underlying mathematics.
  2. Be able to describe the various components of a graphics pipeline at a high level. 
  3. Know how to represent and manipulate 2D and 3D models as well as a virtual camera. 
  4. Be able to design, implement and evaluate a simple graphics modeling package. 
  5. Have understanding of the consequences of various software system design choices.

Tentative Schedule:

Week 1 Introduction
Week 2 Introduction to C++
Week 3 Linear Algebra
Week 4 Scene Graphs
Week 5 More C++ and Animation
Week 6 Polygon Geometry
Week 7 Midterm Exam
Week 8 3D geometry and camera
Week 9 Parametric Surfaces
Week 10 Subdivision Surfaces
Week 11 Deformation
Week 12 Planarity and 3D picking
Week 13 Effective C++
Week 14 Course Review

Classroom Behavior:

During the lecture, students should not play games, text on their phone, or surf the web. All electronic communication devices (including laptops, PDAs, cell phones) should be either turned off or silenced.

Honor Code:

GMU is an Honor Code university; please see the Office for Academic Integrity for a full description of the code and the honor committee process, and the Computer Science Departmentís Honor Code Policies regarding programming assignments. The principle of academic integrity is taken very seriously and violations are treated gravely. What does academic integrity mean in this course? Essentially this: when you are responsible for a task, you will perform that task. When you rely on someone elseís work in an aspect of the performance of that task, you will give full credit in the proper, accepted form. Another aspect of academic integrity is the free play of ideas. Vigorous discussion and debate are encouraged in this course, with the firm expectation that all aspects of the class will be conducted with civility and respect for differing ideas, perspectives, and traditions. When in doubt (of any kind) please ask for guidance and clarification.

Accommodations for Disabilities:

If you have a documented learning disability or other condition that may affect academic performance you should: 1) make sure this documentation is on file with Disability Services (SUB I Suite 2500; 703-993-2474; http://ds.gmu.edu) to determine the accommodations you need; and 2) talk with me to discuss your accommodation needs.


Students must use their MasonLIVE email account to receive important University information, including messages related to this class. See http://masonlive.gmu.edu for more information.

Other useful campus resources: