
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 crosslisted 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 undergraduatelevel
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 seniorlevel (400level) 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 graduatelevel 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 crosslisted 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 regularlyoffered "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
(ComputerHuman 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
physicallybased 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 secondsemester class
in physicallybased 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
undergraduatelevel 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, lightsurface interactions (BRDFs), shadowing,
radiosity and ray tracing techniques and improvements,
speedups for interactive graphics, alternative rendering
approaches (such as imagebased 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 indepth, raytracing based focus on (non realtime)
generation of highquality 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.
