“Going Farther in Less Time: Responding to Change in Introductory Graphics Courses” by Wolfe, Cunningham, Grissom and Hitchner

  • ©Rosalee Wolfe, Stephen




    Going Farther in Less Time: Responding to Change in Introductory Graphics Courses




    The field of computer graphics has matured greatly since the formal statement of the introductory undergraduate course was created for ACM/IEEE Curriculum 91, and courses must change accordingly. This panel will describe a philosophical basis for the
    changes and gives some examples of courses that are responding to that change.

    The panelists all teach computer graphics at medium-size institutions and teach courses whose details vary rather widely. However, all have addressed the changes in the field, and their discussions of their choices illuminate how the changes in the field are reflected in course design. The panel shows how several recurring themes appear in the courses.
    One of the goals of the panel is to lay out an early form of a philosophy for the introductory graphics course. We hope that this philosophy will evolve into a basis upon which instructors can develop courses that fit their local needs while reflecting the changes in the field. Fundamentally, the philosophy is:
    1. Computer graphics is inherently 3D and courses should be also.
    2. The fundamental subject of a computer graphics course is geometry and how it is expressed in computational terms. Thus, geometry is a major part of the introductory course. Geometry is expressed in terms appropriate to the field, such as coordinate systems, transformations, and surface normal. The basic shape is the triangle. The mathematics of curved surfaces is typically treated in a more advanced course.
    3 Computer graphics is intrinsically visual, and even the most technically oriented graphics practitioner must be aware of the visual effects of algorithms. Unlike other areas of computer science, algorithms must be considered not only for time and memory usage, but also for their visual effect.
    4. Besides geometry, computer graphics is about light and surfaces, and about developing algorithms to simulate their interplay. Courses need to include material about light and surface properties, and about the distinction between the ways various algorithms present light and surfaces visually.
    5. Computer graphics has matured to a state in which there is a small number of high-level API’s that support all the fundamental concepts needed for early work. Courses should be built upon this high-level approach.
    6. Computer graphics should be interactive. Courses should include interactive projects and cover event-driven programming. Because this explores new possibilities in curricula for computer graphics courses, this panel is designed to spark discussion and encourage involvement in this process.
    Panel Members and Position Statements

    Steve Cunningham
    Steve Cunningham has taught at California State University, Stanislaus since 1982. He has worked in computer graphics since he developed a graphics-based general statistics laboratory in 1976-78. He has worked with SIGGRAPH since 1983 as chair of the Education Committee, chair of the SIGGRAPH 91 Educators Program, Director for Publications, and currently as Chair of the organization. He has presented two SIGGRAPH conference courses, co-authored books on user interfaces and electronic publishing, and co-edited two books on visualization and one on object-oriented computer graphics.
    “In the late 1980s I contributed to Curriculum 91 by reviewing its recommendations in computer graphics and user interaction. As part of that review, I wrote the computer graphics course outline in that curriculum. However, the field has changed substantially and our graphics courses must keep up. I changed my introductory course to become fundamentally a course in computer graphics programming based on OpenGL. This change showed me that students could succeed with less computer science preparation when they use a capable API. This makes the course accessible to more students, and I have begun to orient the course towards students in the sciences. I am now developing materials for such students. It is still important to offer a computer graphics fundamentals course, particularly for students who want to pursue a graphics career. Because the fundamentals course builds on students’ OpenGL background when it is a second course, it can cover significantly more material than when it is the first graphics course.”
    Scott Grissom
    Scott Grissom has been teaching at the University of Illinois at Springfield since 1993. He graduated from The Ohio State University with an emphasis on computer graphics and human-computer interaction. He is editor of the Visualization Resource Center, a collection of peer-reviewed teaching resources for computer science. He teaches Data Structures, Computer Science II, Object-Oriented Design, and Human-Computer Interaction in addition to the Computer Graphics course.
    “We only offer one undergraduate course in computer graphics. So I try to expose students to a wide range of computer graphics. I have been using C++ and OpenGL for three years. I want students to create interesting and motivating images as early
    as possible. Using a high-level API allows them to do that. Towards the end of the semester, I briefly introduce concepts of ray tracing and have students use POV-Ray to render an image. POV-Ray requires an understanding of lighting models, view
    manipulation, and texture mapping, and is available on all platforms. The final project involves an interactive application on the Internet using JavaScript, CGI, VRML, or Java.”
    Lew Hitchner
    Lew Hitchner has a varied background in applying computer graphics and virtual reality in academia, industry, and research. His PhD is from the University of Utah. He taught at the University of California, Santa Cruz for five years and currently teaches at California Polytechnic University. He has worked as a researcher for NASA, in industrial R&D, and as a private consultant in graphics and VR. His teaching experience includes introductory CS1 and CS2 and all levels of computer graphics courses (intro through graduate courses).
    “The Cal Poly introductory computer graphics course is a practice-oriented curriculum that combines fundamentals with intensive laboratory exercises and programming assignments. Students learn to apply fundamentals through programs that use two high-level API’s. Our one-quarter course covers 3D geometry and transformation basics, event-driven interaction, hierarchical modeling, camera and lighting equations, and rendering techniques (visible surface, texture mapping, etc.). Students use a high-level API in all assignments (Open GL and Open Inventor).”
    Rosalee Wolfe
    Rosalee Wolfe has taught graphics and human-computer interaction at DePaul University since 1987, after graduating from Indiana University. She served as the SIGGRAPH Educators Program Chair in 1996 and 1997. She has edited several SIGGRAPH Slide Sets and the Seminal Graphics book published in 1998. In addition, she is the education columnist for Computer Graphics and currently serves on the SIGGRAPH Education Committee.
    “We have two introductory computer graphics courses. Computer Graphics Survey covers the entire discipline and uses high-level packages (Rhino, POV-Ray) to teach topics from the areas listed above, and to teach animation. This course is often referred to as the seduction course, because students taking this course often decide to embark on additional courses in graphics. The second course, Computer Graphics I, uses C++/OpenGL as a platform. Students are given a crippled wireframe browser, to which they add transformations, hidden surface removal, shading, texture mapping, and interactive elements. Although both are entry-level courses, many find that the survey course helps them when they take Graphics I.

    Rosalee Wolfe
    DePaul University

    Steve Cunningham
    California State University, Stanislaus
    Scott Grissom
    University of Illinois at Springfield
    Lew Hitchner
    California Polytechnic University

ACM Digital Library Publication: