DETAILS


COLUMNS


CONTRIBUTIONS

a a a

EDUCATION

Vol.32 No.1 February 1999
ACM SIGGRAPH

A Syllabus Survey: Examining the State of Current Practice in Introductory Computer Graphics Courses



Rosalee Wolfe
DePaul University


February 99 Columns
Professional Chapters Student Art Gallery


Rosalee Wolfe
Previous article by Rosalee Wolfe Next article by Rosalee Wolfe



Junior4
Upper Level10
Senior2
Upper Level/Grad3
Senior/Grad1

Table 1: Level of Course





Algorithms and Data Structures12
CS24
Programming fluency2
Software Engineering2
Linear Algebra11
Calculus I2
Calculus II1
Calculus III1
Discrete Math1
Analytic Geometry1

Table 2: Immediate Prerequisites





Angel8
Hearn and Baker8
Foley, van Dam, Feiner, Hughes2
notes2

Table 3: Textbooks used





Open GL12
C/C++2
custom2
VRLM/Renderman/Java1
Pascal1

Table 4: Software used





Open GL12
C/C++2
custom2
VRLM/Renderman/Java1
Pascal1

Table 4: Software used


This column is the second in a series revisiting the introductory computer graphics course for undergraduate computer science majors. It has been 10 years since the last formal discussions resulted in a list of topics for Curriculum 91[1]. Given the great changes that have occurred in computer graphics during that time, the SIGGRAPH Education Committee is reexamining this issue.

At SIGGRAPH 98, several computer graphics educators met to compare syllabi and as a result of the discussion that ensued, decided to solicit syllabi from educators at a variety of institutions across the country. Scott Grissom, Lew Hitchner, Bill Jones, Susan Reiser and I collected syllabi from 23 educators. For a list of the instructors who contributed syllabi, please see the Education column in the last issue of Computer Graphics[2]. Of the 23 collected, two were strictly for graduate students and one was primarily an image-processing course. This column examines the remaining 20 syllabi.

Level

As can be seen in table 1, instructors universally believe that an introductory computer graphics course requires a certain degree of maturity. No courses were targeted for students below the junior year and several were crosslisted as graduate-level courses.

Previous Experience

One of the factors that places an introductory computer graphics course at an upper level is the extensive amount of background required for the course. Table 2 lists the immediate prerequisites for the surveyed courses. Most courses had more than one prerequisite. All of them required at least a year of programming courses or “programming fluency.” In addition, almost every course required some background in mathematics, but the range in requirements is very wide, ranging from analytic geometry to multivariate calculus (Calculus III). However, the most prevalent math prerequisite was Linear Algebra.

Textbook, Software

A few textbooks featured prominently, namely Angel’s Interactive Computer Graphics: A top-down approach with OpenGL, Hearn and Baker’s Computer Graphics, and the classic Foley, van Dam, Feiner and Hughes’ Computer Graphics: Principles and Practice. Two instructors did not use a text of any kind but created their own notes for classroom use.

There was also quite a bit of consensus on software selection, as Table 4 suggests. Quite a few instructors mentioned that the choice of computer and operating system was not important as long as students had access to OpenGL. Several instructors mentioned that they used OpenInventor or GLUT in addition to OpenGL. Two instructors failed to answer this question, which is why the total number of responses is less than 20.


viewing transformations/camera 19math foundation/review 5
hardware/terminology 152D transformations 4
lighting models 153D rendering 4
3D transformations 14fractals 4
user interaction 14coordinate systems 3
object representation 11photorealistic methods 3
shading models 11antialiasing 2
color/color models 10hidden-line removal 2
curves 10pipeline details 2
hidden-surface removal 10virtual reality 2
rasterization 9VRML 2
implementation particulars 72D ray tracing 1
supporting data structures/models 7computational geometry 1
texture mapping 7global illumination 1
clipping 6interactive internet applications 1
ray tracing 6projections 1
surfaces 6scientific visualization 1
2D drawing 5shadows 1
animation 5time-critical app 1

Table 5: Course Topics


Topics

The topics listed in Table 5 appear in the contributed syllabi. The range and number (38) of topics attest to the rich variety of backgrounds and interests of computer graphics instructors and include such diverse subjects as time-critical applications, animations, fractals, virtual reality and scientific visualization. In general, instructors tend to present these more exotic topics near the end of the course.

Although there are a large number of topics, five are mentioned in 70 percent or more of the courses, and three of these draw heavily on mathematics. The most prevalent, mentioned in 95 percent of the syllabi, is viewing transformations. (The thrust of the one course not mentioning this topic is building a ray tracer, which can obviate the need for a matrix representation of viewing transformations.) Another topic, 3D transformations, relies on the same matrix operations as does the viewing operations. Three quarters of the courses cover lighting or illumination models, which also requires a substantial math background.

Two additional topics are present in 70 percent or more of the syllabi. Most courses have an opening discussion covering graphics hardware and basic terminology, and they also include some discussion of the principles and implementation of interactive techniques.

Rosalee Wolfe is an Associate Professor of Computer Science at DePaul University and teaches computer graphics and human-computer interaction. She has served on various SIGGRAPH committees since 1993 and has edited several Technical and Education Slide Sets.



Rosalee J.Wolfe
Department of Computer Science
AC 450
DePaul University
243 S.Wabash Ave.
Chicago, IL 60604

Tel: +1-312-362-6248
Fax: +1-312-362-6116


The copyright of articles and images printed remains with the author unless otherwise indicated.

The topic of object representation occurs in over half of the courses and includes a range of items, from representing points, line segments and polygons to representing surfaces of revolution. Although instructors mention curves and smooth surfaces fairly often, many add the proviso “as time permits.” Rasterization topics range from Bresenham’s line- and circle-drawing algorithms to polygon fills. Another topic occurring fairly frequently is data structures that support graphics. This encompasses everything from display lists and polygon meshes to scene graphs, scene hierarchies and octrees.

What’s Next?

How does this list of topics compare to the course you teach? Have we omitted anything important? Are there topics here that you feel are no longer relevant? Let us know what you find important. Email from you is happily read at wolfe@cs.depaul.edu.

As a next step, Lew Hitchner, Steve Cunningham, Scott Grissom and I will present a panel at SIGCSE 99 in New Orleans. This is the annual conference for the ACM Special Interest Group on Computer Science Education. Check the website for details. Entitled “Computer Graphics: The Introductory Course Grows Up,” the panel incorporates the feedback received thus far and will describe a philosophical basis for changing the introductory undergraduate course. It will also give some examples of courses that are responding to that change. In addition, we are sponsoring a birds-of-a-feather session to gather feedback on drafts of sample syllabi. We hope to see you there.

References

  1.  ACM/IEEE-CS Joint Curriculum Task Force. Computing Curricula 1991. February, 1991.
  2.  OpenGL: Agent of Change or Sign of the Times? Computer Graphics, Volume 32, Number 4, February 1999, 29-31.