CS 351 Visual Computing
Instructor:
Prerequisites:
C or better in CS 262 and CS 310
Texts:
Recommended: Fundamentals of Computer Graphics, 3rd Edition
Software:
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
Description:
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.
Grading:
- Assignments 70%
- Midterm Exam 20%
- Quizzes 10%
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:
- Have a firm grasp of basic computer graphics algorithms and their
underlying mathematics.
- Be able to describe the various components of a graphics pipeline at a
high level.
- Know how to represent and manipulate 2D and 3D models as well as a
virtual camera.
- Be able to design, implement and evaluate a simple graphics modeling
package.
- Have understanding of the consequences of various software system design
choices.
Tentative Schedule:
|
Topic |
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.
Privacy:
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: