Graphics Course Group Status Report


Computer Graphics Courses
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 at companies such as Microsoft, SGI, SUN, PIXAR and ILM, just to name a few. In addition, graphics is becoming a ubiquitous tool in a variety of application areas because of advances in scientific visualization, virtual reality, and use of the web. We have evolved the curriculum continuously 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. The first three comprise a sequence in display and illumination algorithms, the fourth is in geometric modeling. Fitting all of the important graphics topics into these courses is a continual challenge. There is also need for a stand alone survey of computer graphics for those students not interested in going into the field in depth. The graphics faculty also offer research seminars that cover recent developments in Animation, Visualization, and Virtual Reality. Developing new advanced courses on these topics is a priority of the graphics faculty

The graphics curriculum satisfies many of the CSE and ABET objectives. 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. The graphics courses rely heavily on the application of various principles from areas of mathematics such as vector algebra, affine transformations, linear interpolation, perspective and parallel projections, the use of interpolating splines, geometry, and trigonometry. The advanced graphics courses use material common to Engineering such as heat transfer theory to explain radiosity and Fourier analysis to explain aliasing. The graphics sequence is intimately concerned with developing the principles of physics into computational models for illumination and shading. User interface issues are a common theme which run through the graphics curriculum. Students who study graphics in the Department receive a good grounding in the area, are usually ready for graduate studies in graphics and are very employable.

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 the CSE program. Section 2.3 explains how the group helps meet a range of CSE and ABET 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

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 student knows 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 student's 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 CSE 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 (1a). All of the graphics courses require fairly intensive programming; CIS560 is a prequisite to CIS681 in order to ensure significant programming experience among the students. CIS781 has a prerequisite of CIS675 because it covers some hardware issues related to frame buffers and color look-up tables. CIS781 also has a prerequisite of 459.21 (C) in order to make sure that students who might not have gone through the newly reorganized 'spine' courses have C programming experience. CIS541 is a prequisite to CIS881 because of the dependence on numerical techniques when analyzing sculptured surfaces. None of the graphics courses are prerequisites to any courses outside of the graphics curriculum.

2.3 Relation to CSE and ABET objectives

The courses in this group play a key role in meeting both CSE program objectives as well as ABET Criterion 3 objectives. In section 2.3.1 we consider the CSE objectives that this course group helps us meet, and in section 2.3.2 we consider the ABET objectives.

2.3.1 CSE 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, and 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. 

User Interface design issues are a common theme which run through the graphics curriculum. CIS681 provides an introduction to the use and design of graphical user interfaces and how information can be effectively communicated from user to system. In addition, various input devices are surveyed in the beginning of CIS681. CIS781 and CIS782 programs are script driven and present the difference between object attributes and graphics state interfaces. In CIS881, students are required to design their own graphical interfaces to drive their own geometric modeling packages which they develop in the course.

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

As a result of increased bandwidth of the Internet, cheaper processing power and storage devices, and more sophisticated display devices, computer graphics is becoming part of the computing infrastructure. As a consequence, it is becoming more important to industry in everything from web pages to Hollywood films to interactive kiosks. The graphics curriculum in the Department covers the basics of graphics very thoroughly. Students who study graphics in the Department receive a good grounding in the area, are usually ready for graduate studies in graphics and are very employable. 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.

Summary of Relation to CSE Objectives
CIS Course CSE
1a
CSE
1b
CSE
1c
CSE
2a
CSE
2b
CSE
3a
CSE
3b
CSE
3c
CSE
4a
CSE
4b
681 XX X XXX   XX   X   X X
781 XX X XXX   XX   X   X X
782 XX X XXX X XX   X   X XX
881 XX X XXX   XX   X   X XX

2.3.2 ABET Criterion 3: Program Outcomes and Assessment

Engineering programs must demonstate their graduates have:
  1. an ability to apply knowledge of mathematics, science, and engineering
  2. an ability to design and conduct experiments, as well as analyze and interpret data
  3. an ability to design a system, component, or process to meet desired needs
  4. ability to function on multi-disciplinary teams
  5. an ability to identify, formulate, and solve engineering problems
  6. an understanding of professional and ethical responsibility
  7. an ability to communicate effectively
  8. the broad education necessary to understand the impact of engineering solutions in a global and societal context
  9. a recognition of the need for, and an ability to engage in life-long learning
  10. a knowledge of contemporary issues
  11. an ability to use techniques, skills, and modern engineering tools necessary for engineering practice.
[!!! put in text discussion of ABET objectives]

Summary of Relation to ABET Objectives
CIS Course ABET
3a
ABET
3b
ABET
3c
ABET
3d
ABET
3e
ABET
3f
ABET
3g
ABET
3h
ABET
3i
ABET
3j
ABET
3k
681 XX X XXX   XX   X   X X XXX
781 XX X XXX   XX   X   X X XXX
782 XX X XXX X XX   X   X XX XXX
881 XX X XXX   XX   X   X XX XXX

2.4 Feedback

As an elective sequence of courses, the popularity of the graphics courses speaks to the success of the curriculum. Students who have gone out to industry have reported back concerning the satisfaction of their graphics education. Student evaluations have also expressed the value of the material. It is not uncommon for employment agencies to contact the graphics faculty concerning the possibility of locating potential employees. And finally, both undergraduate and graduate student applicants often select Ohio State University specifically because of its reputation in graphics instruction and research.

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.

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.

Many students take only one course in computer graphics in order to get some exposure to the technology. The first course of the sequence is CIS681. However, CIS681 was designed as the first course of a sequence of courses in image generation: CIS681-781-782. While CIS681 thoroughly examines the 3D display pipeline and the 2D display algorithms related to that, it lacks much of the practical considerations which might be valuable to a student entering the workforce at the undergraduate level. As a result, we are currently discussing the possibility of introducing a new introductory course in Computer Graphics which covers much of what CIS681 covers, while still providing for more consideration of such issues as OpenGL and Motif, as well as modeling and animation issues encountered in off-the-shelf software. 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 serve them better for using computer graphics in jobs and studies in which computer graphics is not their main responsibility.

Other possible courses which might be introduced are a course in Computer Animation and a course in Vizualization. Both are currently taught as seminars by the graphics faculty.

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.