Graduate Program

Graduate Study in General

A wide variety of courses are available on a regular basis to support graduate students wishing to focus on graphics.  Other students interested in related areas are also welcome to take these classes.  This page gives a brief description of the courses available to graduate students in the department.

For those students interested in focusing their graduate study on graphics at Texas A&M, please see the link on Expectations.  That link gives more details about expectations for students who want to work within the Geometry and Graphics Group.

Many students are also aware of the graduate program in Visualization Sciences, offered in the College of Architecture.  It should be noted that many of the Viz Lab classes are cross-listed into computer science, and students in computer science can take these.  Graduate study in Computer Science should not be considered a substitute for study in Visualization Sciences, but there is a large degree of overlap possible, and a good deal of cooperation between the programs.  Students who have an interest primarily in the computer science side of visualization studies might find graduate work in Computer Science, with a focus in graphics, more appropriate than study in Visualization Sciences.

Graduate Courses in Graphics

Students wishing to pursue graduate study in graphics should first take the undergraduate Computer Graphics class, CPSC 441 (or its equivalent at another institution).  The exception to this would be for graduate students interested only in a particular topic (e.g. a student, from within or outside of Computer Science, interested in a geometric modeling class).  Most of the graduate classes assume an undergraduate-level graphics class as a prerequisite, but may be open to other students (particularly from outside the department) who might need only a specialized class.  Note that it is possible for Masters' students to count some senior-level (400-level) class for graduate credit, and CPSC 441 might be taken in this way.  For more details about CPSC 441, please see the Undergraduate Program link.  Students are also encouraged to have taken CPSC 442 (Scientific Programming) or its equivalent.

There are two graduate-level classes in computer graphics offered on a regular basis in our department, CPSC 641 (Computer Graphics) and CPSC 645 (Geometric Modeling).  Computer Science students focusing on graphics should take both of these classes.  In addition to these classes, there are four classes offered in the Visualization Sciences program (i.e. the Viz Lab) that are cross-listed into computer science.  Most graphics students will end up using these classes to fill in the remainder of elective course choices, and these are usually sufficient to supply all courses needed for a degree plan.  That is, most students interested in focusing on graphics study can do so nearly exclusively.  These six courses are described in more detail below.

In addition to the regularly-offered "graphics" classes, there are several related classes that many students may find useful, depending on their particular interests.  Some classes are listed under the Undergrad Program link.  Among the graduate classes are:

  • CPSC 620 (Computational Geometry) - Computational Geometry is closely related to many aspects of graphics.  This course is offered regularly (usually once every 2 years).

  • Courses offered in the Digital Libraries group.  These include CPSC 667 (Collaborative Systems and Models), CPSC 671 (Computer-Human Interaction), and CPSC 672 (Computer Supported Collaborative Work).  These courses would be useful mainly to those interested in the interface aspects of graphics.

  • Courses in numerical or mathematical computation.  These include CPSC 659 (Parallel/Distributed Numerical Algorithms and Applications), CPSC 660 (Computational Linear Algebra), and CPSC 669 (Computational Optimization).  Numerical computations underlie many parts of computer graphics, including geometric calculations and physically-based modeling.

  • There are several courses in the Math department (as well as other departments) that are relevant to study in graphics.  These include topics on differential geometry, computational linear algebra, computational algebraic geometry, etc.  Students who have an interest in such topics are strongly encouraged to take such classes, since it is often easier to "pick up" graphics topics during research work, anyway, but may be more difficult to get the necessary exposure to similar topics from other fields.

  • There are other courses regularly offered in Visualization Sciences that are relevant to graphics students.   Many of these focus on animation.  Most of these courses will require specific instructor approval, as they are intended for Viz Lab students.

  • Finally, there are occasionally special topics courses offered in Computer Science or Visualization Sciences with a graphics focus.  In particular, a second-semester class in physically-based modeling is often offered in the Viz Lab.

Depending on the particular direction of a student's research, a committee might require other courses, beyond those listed above.

Course Descriptions

There are six main graduate "graphics" classes.  For information about frequency of offerings, see the Course Offerings link.  The six courses are:

  • CPSC 641 (Computer Graphics) - This is the advanced general graphics class.  It assumes CPSC 441 as a prerequisite, and there is very little overlap with the undergraduate-level material; with only very rare exceptions, students should take CPSC 441 (or its equivalent) before this course.  This class deals with several advanced topics in graphics, including sampling and antialiasing, mapping functions, light-surface interactions (BRDFs), shadowing, radiosity and ray tracing techniques and improvements, speedups for interactive graphics, alternative rendering approaches (such as image-based and volume rendering) and recent graphics research topics.  It is intended to bring students to a point where they will be capable of following most recent graphics research literature, including fundamental principles not usually covered at an undergraduate level.

  • CPSC 645 (Geometric Modeling) - This course focuses on methods for representing geometric information.  In particular, methods for describing and computing with curved surfaces are dealt with. Although CPSC 441 (undergrad graphics) and CPSC 442 (Scientific Programming) are listed as prerequisites, it has usually been offered so that these are not required courses, in order to encourage participation from students outside of Computer Science.  Whereas CPSC 641 focuses more on the rendering aspects of graphics, CPSC 645 focuses more on the modeling aspects.  This course is also useful for those interested in geometric modeling outside of its application to graphics.

  • VIZA 654 / CPSC 646 (The Digital Image) - This course deals mainly with ways of manipulating and storing 2D images.

  • VIZA 656 / CPSC 647 (Image Synthesis) - This course is an in-depth, ray-tracing based focus on (non real-time) generation of high-quality images. 

  • VIZA 657 / CPSC 648 (Computer Aided Sculpting) - This course deals with methods for using geometric modeling techniques to create 3D models.  Whereas CPSC 645 focuses more on the representation and computation with surfaces, this course focuses more on how these can be used to create particular models or features.

  • VIZA 659 / CPSC 649 (Physically Based Modeling) - This course deals with methods used to simulate physical systems, including rigid bodies, deformable objects, and groups of individuals.  It includes both representations of motion and of interactions.