Course Group Status Report


Computer Graphics Group

Course no. Title Credit
Hours
Reqd (R)/
Elective (E)
681 Introduction to Computer Graphics 4 E
781 Introduction to 3D Computer Graphics 4 E
782 Advanced Image Generation 3 E
881 Geometric Modeling 3 E


1. Summary

Graphics is a popular applications area of Computer Science and one of the focus areas of the Department.

The field of Computer Graphics continues to evolve at a rapid pace, fueled mainly by the research and development taking place in industry - places such as Microsoft, SGI, SUN, PIXAR and ILM, just to name a few. The curriculum struggles to keep pace with the rapid development of the field, the interests of the students, and the demands of the employers.

We have a four courses in graphics. Three of these comprise a sequence in display and illumination algorithms - the spine of computer graphics. The fourth course is in geometric modeling. The field of computer graphics has grown dramatically and we are trying to keep pace with the many subareas which are evolving as the depth of knowledge increases in all aspects of graphics. Fitting all of the important topics that students should know into these courses is a continual challenge. In addition to accommodating more topics in the main sequence, there is use for a single course which would serve as a stand alone survey of computer graphics for those students not interested in going into the field in depth. Apart from the these four courses, the graphics faculty offer regular research seminars that cover the most recent developments in Animation, Visualization, and Virtual Reality; the result is that these topics are not covered yearly. Introducing advanced courses on these topics is a priority of the graphics faculty.



2. Detailed Analysis

Section 2.1 describes the individual courses in the group. Section 2.2 explains how the group is related to the rest of program. Section 2.3 explains how the group helps meet a range of ABET and CSE objectives. Section 2.4 provides information on the feedback we have received from students, recruiters, etc. about the courses in the group. Section 2.5 summarizes the changes we are considering in the various courses.

2.1 Summary of the courses

Graphics is a popular applications area of Computer Science and one of the focus areas of the Department. We have four courses: CIS681, 781, 782, and 881. (881 is newly renumbered from 783 in order to make room for the University standard honors course 783). The first three courses are a sequence of courses which cover display algorithms including illumination models and texture maps. CIS881 is a course in Geometric Modeling.

CIS681: Introduction to Computer Graphics is the introductory course to computer graphics. 681 takes the student up through 3D wire frame perspective display with clipping and then ends with an introduction to using OpenGL. 681 started out incorporating a lot of 2D graphics including some business graphics. Over the years, we have decided to concentrate more and more on 3D graphics and have dropped a fair amount of the 2D graphics in order to accommodate the advanced 3D material in the display sequence. Introducing OpenGL to 681 is a fairly recent development and has replaced an introduction to ray tracing which essentially duplicated material in CIS781.

CIS781: Introduction to 3D Image Generation is a survey of display algorithms and basic illumination and shading models. It concentrates on the two standard display algorithms: ray tracing and z-buffer. 781 also surveys several (6 or 7) other display algorithms so that the students know the various approaches that have been used and why they are less desirable than the standard ones. The survey is also useful because it increases the students geometric bag of tricks as they learn the many geometric computations that are employed in the various algorithms. In addition to display algorithms, standard shading and illumination models are surveyed including smooth shading and basic texture mapping.

CIS782: Advanced 3D Image Generation contains all of the most sophisticated display techniques including radiosity, speed-ups for ray tracing, basic anti-aliasing of visible surfaces and anti-aliasing of texture maps, an introduction to curves and surfaces, and various topics from computer animation, volumetric graphics, and scientific visualization.

CIS881: Geometric Modeling surveys the representations, generative procedures, manipulative operations, and data structures important in modeling geometric objects. Basic polyhedral constuction and manipulation operations are surveyed including extrusion, solids of revolution, sweep operations, Euler operations, boolean operations, lofting, rounding, simplification, subdivision, and skinning. The data structures covered are the basic vertex-face list and the Winged Edge data structures. Curves and curved surfaces form a major component of the course and include Hermite curves and Coons patches, Bezier, B-spline, and NURBS curves and surfaces.


2.2 Relation of the courses to the rest of the program

Computer Graphics is a very popular elective area. As an application area, it is an area in which students can exercise the principles of software design, databases, algorithms, data structures, and programming languages they have learned in the foundation courses.

2.3 Relation to program objectives


Objective 1.To provide graduates with a thorough grounding 
in the key principles and practices of computing, and in 
the basic engineering, mathematical, and scientific principles
that underpin them. Students will: 
  a.Demonstrate proficiency in the areas of software 
    design and development, algorithms, operating systems, 
    programming languages, and architecture. 
  b.Demonstrate proficiency in relevant aspects of mathematics, 
    including discrete mathematics, as well as the appropriate 
    concepts from physics and electrical circuits and devices. 
  c.Successfully apply these principles and practices to a 
    variety of problems. 

As an application area, Computer Graphics is an area in which students can exercise the principles of software design, databases, algorithms, data structures and programming languages which they have learned in the foundation courses. Computer Graphics relies heavily on basic mathematical and scientific principles. CIS681 depends on matrix manipulation, clipping procedures, 2D and 3D linear mappings, affine transformations, perspective projections and perspective transformations. CIS781 uses vector algebra, line intersection, polygon intersection , normal vector calculation, dot product, cross products, trigonometric identities, geometric arguments, ray tracing, spherical, cylindrical, and solid texture mapping. CIS782 employs radiosity calculations, complex spatial data organization and processing, hierarchical data structures.

Objective 2.To provide graduates with an understanding 
of additional engineering principles, and the mathematical 
and scientific principles that underpin them. Students will: 
   a.Demonstrate an understanding of differential and 
     integral calculus, differential equations, physics 
     and several areas of basic engineering sciences. 
   b.Have the ability to work with others and on 
     multi-disciplinary teams in both classroom and 
     laboratory environments. 
The graphics sequence is intimately concerned with developing the prinicples of physics into computational models for illumination and shading. CIS781 covers the basic illumination models including diffuse and specular illumination, reflectance, and refraction. CIS782 includes radiosity (heat transfer theory) and anti-aliasing (Fourier analysis).

Objective 3.To provide graduates with an understanding of 
the overall human context in which engineering and 
computing activities take place. Students will: 
  a.Demonstrate an ability to communicate effectively. 
  b.Obtain familiarity with basic ideas and contemporary 
    issues in the social sciences and humanities. 
  c.Obtain an understanding of social, professional 
    and ethical issues related to computing. 

The graphics courses address this objective in a variety of ways. Interface issues are a common theme which run through the graphics curriculum. Interactive system design is part of all of the courses, to some degree, in that each is project based and some type of user interface must be employed. Interactive techniques, script-driven systems, display technology and interactive devices are covered throughout the graphics curriculum. In addition, computer graphics is becoming a common component in many interfaces intended for the general population.

Objective 4.To prepare graduates for both immediate 
employment in the CSE profession and for admission to 
graduate programs in computing. 
   a.A large fraction of graduates will be immediately 
     employed in high-technology companies that utilize 
     their computing education. 
   b.Strong graduates from the program will be prepared 
     to enter good graduate programs in CSE

The graphics curriculum in the Department covers the basics of graphics very thoroughly. Evidence for this is anecdotal in the successful employment of many of our graduates in the graphics industry as well as several students continuing on for advanced studies at Ohio State and other institutions.

2.4 Feedback

Because Computer Graphics is not required, it is easy to infer from its popularity that it is a successful area of instruction and research within the Department.

Textbooks for the mainstream of Computer Graphics display and illumination are well-developed at this point and, while we continually fine tune, there are no major problems. Geometric modeling has few books which cover the range of topics which we include in our course, so the basic text is augmented by papers from the literature. Some of our seminars lack good texts, but papers from the literature are used effectively.


2.5 Possible changes

We (the graphics faculty) have been discussing possible changes to the Graphics curriculum for some time now and have only to decide which of the possibilities makes the most sense to put into effect first.

Many students take only one course in computer graphics in order to get some exposure to the technology. However, CIS681, the first course of the sequence, was really designed as the first course of a sequence. There is some question about how well such a course serves those students who only take one course. As a result, we are currently discussing the possibility of introducing a single survey course in Computer Graphics. This would give those students a more tailored and more complete introduction to the field by eliminating content which only serves to prepare them for the rest of the courses in the sequence. This would make room for more practical material, which would serve them better for jobs in areas other than computer graphics.

Other possible courses which might be introduced are:



3. Conclusions

The Computer Graphics group is a popular application area for the CSE program and serves as a testbed for the mainstream programming concepts and techniques taught in the spine of the curriculum. The courses, as they currently stand, are doing very well; students are generally satisfied with the courses, we are placing students in with top-notch employers and graduate programs in the field and there is strong faculty commitment to the courses.


Course Coordinator Recent Instructors
681 Crawfis Fujimura, Crawfis, Parent, Wenger, Yagel, Mueller, May
781 Parent Fujimura, Crawfis, Parent, Yagel
782 Crawfis Crawfis, Yagel
881 Parent Carlson, Fujimura, Parent,

People involved in preparing report: Rick Parent, Roger Crawfis

Date of report: Feb. 8, 1999


Rick Parent
Feb. 18, 1999.