Title: Using Computers to Teach Graphics

Author(s): Matthew O. Ward, Computer Science Department, Worcester Polytechnic Institute, Worcester, MA 01609

Source: Proc. of Mid-Year Meeting of the Engineering Graphics Division of the ASEE

Abstract: Teaching students computer graphics can be broken down into two distinct phases. The first is instructing them on the use of basic graphics language constructs, i.e. the particular graphics package with which you are dealing, and the second is to teach the fundamental concepts and techniques of graphics itself (e.g. scan-conversion, transformations, hidden-surface removal, modelling, etc.). Both phases of graphics instruction can be assisted by the use of computers. Illustrating the capabilities of the graphics system in use can be performed with a set of demonstration programs, each of which highlights one particular aspect of the language or package. One logical way of dividing these is into the six types of graphics software operations as specified in [FOL84], namely graphical output, segment control, attribute modification, input, viewing operations, and control/status. The key is to provide the students with the source code of the demos and assign them problems which consist of modifying these programs. This helps them overcome their initial 'fear of the unknown'. The second phase of graphics education, namely teaching the concepts and techniques, can be attacked in a similar manner. The strengths and weaknesses of various techniques can be displayed by example, and an interactive front-end can be used to allow the students to experiment for themselves. This has proved quite successful in activating the students' interest. This paper will describe a set of demonstration programs used in an undergraduate course in computer graphics, the reasoning behind their design, an estimate of their effectiveness, and a description of additional programs currently under development.

[FOL84] Foley, JD, Van Dam, A, Fundamentals of Interactive Computer Graphics, Addison-Wesley, 1984.

Matthew O. Ward (matt@cs.wpi.edu)