Education & Computing 8 (1993) 339-345 Elsevier
339
Visualization education in the U S A G.
Scott Owen
A C M SIGGRAPH Educatton Committee, Georgta State Universzty, Atlanta, GA 30303, USA
Abstract Owen, G.S., Visualization education in the USA, Education & Computing 8 (1993) 339-345. The use of advanced computer graphics techniques to help visualize large volumes of multivariate information has become increasingly important. Most of the research in this area has been in the area of scientific visualization, and visualization has become one of the most important tools of modern computational science. It should be noted that computational science has become the third supporting methodology for the physical and biological sciences, alongside the more traditional theoretical and laboratory science areas. It is receiving considerable emphasis from the National Science Foundation in the United States. This development has raised the issue of providing visualization education for both computer science students and students in the physical and biological sciences. The computer graphics community has started to examine the question of incorporating visualization concepts and techniques into undergraduate and graduate computer science curricula. The author co-chaired, with Steve Cunningham, an Educators' Seminar on "Education for Visualization" at SIGGRAPH °90 and the ACM SIGGRAPH Education Committee has recently formed a subcommittee (currently consisting of the author, Steve Cunningham, and Norman Soong of Villanova University) to address these educational issues. Steve Cunningham has just been elected to the Board of Directors of ACM SIGCSE (Special Interest Group on Computer Science Education) and intends to work to support the development of computational science studies in computer science programs. There are many issues m visualization education. Students need to be familiar with a wide range of tools, because visualization environments typically include many networked hardware and software tools that support particular aspects of visualization. Equipment in a visualization center typically includes high-performance computing and specialized codes for numerical experiments, specialized rendering machines with accelerated graphics, individual workstations for scientists' viewing, and specialized devices for making video or film images for study and publication. Many commercial visualization tools, such as the Silicon Graphics, Wavefront and Alias software systems, are now available for different computer platforms. In addition, a substantial amount of public domain visualization software is available, such as the set of image tools from the National Center for Supercomputer Applications (NCSA) at the University of Illinois and the Khoros system from the Vision Lab at the University of New Mexico. Finally, some visualization software is developed, especially for special projects. Some of the educational questions to be considered are as follows. Should all computer science students learn some visualization concepts? What computational environment should be offered to visualization students? Should visualization techniques be a part of an introductory computer graphics course, part of an advanced computer graphics course, or should there be a separate course in the area? Just what visualization techniques should be taught? What are the appropriate underlying principles? What textbooks and other course materials are available or need to he developed? This paper will report on the current status of education for visualization in the United States, attempt to answer some of the above questions, and make some preliminary recommendations for future curriculum development. -
-
-
-
-
-
Introduction Correspondence to: G.S. Owen, ACM SIGGRAPH Director for Education, Georgia State University, Atlanta, GA 30303, USA. Email:
[email protected].
Visualization is an old term which has received a large amount of interest recently in the corn-
0167-9287/93/$06.00 © 1993 - Elsevier Science Publishers B.V. All rights reserved
340
G.S. Owen / Visualization educatzon in the USA
puter science community. Visualization has previously been defined as the "formation of visual images; the act or process of interpreting in visual terms or of putting into visual form". More recently a new definition has been added: "A tool or method for interpreting image data fed into a computer and for generating images from complex multi-dimensional data sets" [1]. Computational science has become much more important in the sciences, joining the traditional theoretical and laboratory science areas as a new supporting methodology. It is also becoming of greater interest to computer scientists, as shown by the fact that the Association for Computing Machinery (ACM) has taken the official position that computer scientists should become involved in computational science [2]. Visualization will be the primary way to interpret the vast amount of data generated by computational science techniques. In this paper I will briefly discuss the rationale behind the increased interest in visualization, the concept of visualization, its history (which extends well before the advent of computers), the major components of visualization, the skills and concepts to be learned, several possible types of courses, and finally, give a brief survey of the types of courses currently being taught.
of magnetic computer tape, These enormous sets of numbers are virtually incomprehensible. The most promising method of understanding this data is by visualization. It is estimated 50% of the brain's neurons are associated with vision. "The purpose of [scientific] computing is insight, not numbers." Richard Hamming, 1982. "The goal of Visualization in [scientific] computing is to gain insight by using our visual machinery" [1]. A significant difference between this application of visualization versus presentation graphics is that the primary purpose, at least initially, is for the scientific investigator to use visualization techniques to understand their own data, rather than presenting it to others. The presentation mode comes later in the process. While most of the interest has been in scientific visualization, there is a growing interest in applying it to business information. The computer simulation of economics and businesses is a growing field and these simulations may produce as much data as any scientific simulation. There has been a large amount of computer software developed to help people perform the visualization process. For example, Silicon Graphics is now bundling its visualization software, called the Iris Explorer, with every new workstation. These resources are discussed in more detail later in the paper.
Rationale History There are several major forces driving the interest in visualization. The existence of inexpensive microcomputers with substantial color graphics features has made the capability to create presentation graphics widely available. More computer scientists, and professionals from other disciplines such as science, engineering or business, are now producing these graphical images, many of them of poor quality. The recent availability of powerful but inexpensive UNIX-based graphics workstations, with a compute power of 30 mips or more, has fueled the interest in the more advanced visualization applications. Another force is the huge amount of data being generated by modern science, both in supercomputer simulations and by experimental means. It has been claimed that much of the data that has been accumulated by the US NASA effort resides in "tape landfills", huge warehouse
Visualization, in the presentation sense, is not a new phenomenon. It has been used in maps, scientific drawings, and data plots for over a thousand years. Examples of this are the map of China (1137 A.D.) and the famous map of Napoleon's invasion of Russia in 1812, by Jacques Minard. Most of the concepts learned in devising these images carry over in a straightforward manner to computer visualization and can be incorporated in courses in visualization. Edward Tufte has written two excellent books [3,4] which explain many of these principles (discussed later in the paper). Computer Graphics has from its beginning been used to study scientific problems. However, in its early days the lack of graphics power often limited its usefulness. The recent emphasis on visualization started in 1987 with the special issue
G.S. Owen / Visualizationeducationin the USA
of Computer Graphics, [1], on Visualization in Scientific Computing. Since then there have been several conferences and workshops, co-sponsored by the IEEE and ACM SIGGRAPH, devoted to the general topic, [5], and special areas in the field, for example volume visualization [6]. There have also been numerous books and research articles on visualization in the past four years.
Principles and components In this section I will discuss the components of visualization which are general to both printed and computer presentation applications and then those components which are more specific to the understanding or insight process. Many of the general principles of graphics design, as taught in Art departments, carry over into this area. For statistical graphics, [3] gives some of these general principles. The essential idea is to provide as much information as possible without confusing or distracting the viewer with clutter and inappropriate color schemes. For the more general process of information visualization, [4] provides general principles. While his orientation is primarily printed graphics the principles are valid for computer generated images. The first principle addresses the problem of projecting 3D (or higher) data onto a 2D surface ("Escaping Flatland"). The second principle ("Micro/Macro Readings") shows how the addition of appropriate detail can enhance understanding and that simpler is not always better. The third section ("Layering and Separation") discusses how the use of color or gray scale, and line density can be used to enhance information. The next section of [4] ("Small Multiples") discusses how the use of a series of changing images, all of which are visible to the user simultaneously, can be used. His final sections discuss the more general use of color plus how to display time varying information. The tutorial presented at Eurographics '91 by Hearn and Baker [7], gives an excellent overview of the more advanced components of visualization, especially scientific visualization. These are also discussed, from a slightly different perspective, in the overview article by Nielson, in the special issue of IEEE Computer [8]. Another view
341
of the principles and educational requirements of visualization is given in [9]. The discussion below is a combination of these. Nielson describes the essential method of scientific discovery as being an iterative loop between a model (abstract description of the phenomena) and observation of the phenomena. Each of these two components is divided again. The model process becomes the development of a mathematical model followed by a numerical solution of the model. The observe process becomes a graph evaluation phase (choosing the proper output from the numerical solutions phase, for example computing the values of f ( x ) to plot f ( x ) versus x) followed by a transform and render phase which performs the actual graphical output. In instances where the data is empirical the observe phase may include a comparison of the experimental data with the data produced by the mathematical model. This process may occur in several different types of modes [7]. The "movie mode" consists of acquiring the data, producing an animation tape of the data and then analyzing the data. The "tracking" mode consists of acquiring the data and visualizing it and observing it directly on the computer. Neither of these two modes includes any user interaction. The third mode, "interactive post-processing", introduces user interaction in that the user is able to interactively control the visualization parameters. The final mode, "interactive steering", allows the user to interactively control both the actual computation of the data, e.g., by changing parameters as the computation progresses, and the visualization of the data. These four modes provide increasing support for analysis but also require increasing technology support. [7] discusses the different types of data that must be manipulated during this process. There may be nominal data types, e.g., biological classifications, or more commonly, quantitative data types such as scalar, vector, tensor, and multivalued types. Examples of scalar types would be temperature or wavelength. Examples of vector data would be velocity, force or surface normal. Both scalar and vector quantities are examples of tensors with scalars being zeroth order tensors and vectors being first-order tensors. Examples of second-order tensors (matrices) are stress, strain or conductivity. Multivalued data may have any
342
G.S. Owen / Visualization education m the USA
number of dimensions and methods must be found to represent these. Another consideration is the proper coordinate system to use, as this choice can turn a difficult problem into an easy one and vice-versa. Possible coordinate systems include cartesian, curvilinear (where none of the basis axes are straight), polar, cylindrical, and spherical. The researcher may have to convert data from one coordinate system to another for the best data display. We must also consider the connectivity of the data. Some data may be grid free (scattered) while other data may be gridded, either in 2D or 3D. This occurs when space is divided into these grids and an average value is computed or measured for each grid area or volume. There may be different types of grids such as simple cartesian grids, structured grids, irregular grids, and others. There are several ways to construct complex mathematical models. We may use linear equations, nonlinear equations, ordinary differential equations, partial differential equations, integral equations and integral-differential equations. The graph evaluation phase, i.e., deciding just how to graph the data and how to perform the necessary computations to render the graph is sometimes considered to be the central problem in visualization [8]. Hearn calls this the representation phase. There are many possible methods to represent the data and many issues to consider such as effectiveness, interactivity, efficiency, composition, color shape, and expressiveness. Some of these have been addressed in the first paragraphs of this section. As previously discussed, the representation of the data draws from many disciplines such as computer graphics, image processing, art, graphic design, h u m a n - c o m p u t e r interface, cognition and perception. A particularly interesting aspect of visualization is that it is best performed by teams, sometimes called "Renaissance Teams" [10], which might consist of scientists, computer scientists and artists. We can use line charts for 1D scalar data, and scatter plots, images, or 2D contours for 2D data. For 3D, height fields or 2D contours over planar slices can be used. We can also use isosurfaces in 3D. Volume rendering allows us to display information throughout a 3D data set. The basic idea in volume rendering is to cast rays from screen
pixel positions through the data, obtain the desired information along the ray, and then display this information. The data can be an average of the data in a cell ("voxel"), or of all cells intersected by the ray, or some other such measure. This is used is areas such as medical imaging and displaying seismic data. Vector data can be displayed using arrow plots ("hedgehog display"), or flow ribbons which show particle trajectory and rotation. In an animation, we can also use particles that move along a computed path. Multivariate data can use the three spatial dimensions plus other methods. One is attribute mapping where some variable is mapped to some geometry or geometry attribute. An example of this might be mapping temperature, or some other variable, to color. Special symbols such as glyphs or data jacks [10] have also been developed.
Concepts and skills needed for visualization As can be seen from the above discussion, a student who wants to specialize in visualization needs a broadly based background. They should have some art courses such as graphics design, photography, drawing, or painting to obtain the general principles of design from an artistic viewpoint (see, for example, [11]). They need some science courses such as biology, chemistry, or physics, to be able to communicate with the scientists. They need a strong mathematical background, with calculus, linear algebra, ordinary and partial differential equations, and numerical analysis. In addition to a regular computer science background the students would also need a strong grounding in computer graphics plus some experience in computer animation. While it might be extremely difficult, if not impossible, to fit all of this into an undergraduate curriculum, a program oriented towards a Masters Degree in Visualization would be quite feasible. Later on I will discuss one such program, at Texas A & M University. If we accept that to have a completely thorough understanding of visualization requires a masters level degree there are other related issues. One is what level of knowledge about visualization all computer science students should have and how should it be attained. [12] gives a defini-
G.S. Owen / Visuahzationeducation #z the USA tion of computer science, which I have slightly modified (the modified portion is in bold italics), as follows: The discipline of computing is the sys-
tematic study of algorithmic processes that describe, transform, and provide information: their theory, analysis, design, efficiency, implementation, and application. If one accepts that Computer Science is the science of information [13], or at least that this is a major component of Computer Science then it would seem that all computer science students should learn some of the principles of visualization, just as they should all know some principles of h u m a n - c o m p u t e r interaction and computer graphics. At a minimum, they should know some of the presentation principles as presented in the Tufte books. A second issue is what should we try to provide to undergraduates who want to specialize in visualization. There is enough information to justify a separate visualization course. In the sections below we discuss some current and proposed courses in visualization. A third issue is what type of visualization education we should provide for science students who do not have a strong computer science background. One possibility is to design a course that could be taken by both computer science and science students with the students working on team projects but having a slightly different emphasis in other parts of the course. A course which has been taught to noncomputer science students is described below.
Current and possible courses
A course on visualization, will be extremely hardware and software dependent, as are courses on computer graphics. Thus, the possible types of courses offered by an institution will be limited by their resources. Ideally, the students would have available powerful UNIX workstations running different types of visualization and animation software. While some institutions have this environment, most (at least in the USA) do not. However, given the rapid decrease in workstation prices, more are gaining this capability every year. One type of visualization course is the project oriented course, as exemplified by Nan Schaller's course at the Rochester Institute of Technology [14]. This is the second course in a two-course
343
undergraduate computer graphics concentration. Each student must do a research paper on some area of computer graphics and the class is divided into teams for a team project which is some advanced computer graphics application. While this is not specifically a course on visualization, the students frequently choose a visualization-related project. An example of this was a project to develop a tool for visualizing the behavior of strange attractors. The students worked with a Mechanical Engineering Professor at RIT who was doing research in this area. An advantage to this type of course is the team experience and the interdisciplinary aspect of the project. Donald Hearn teaches a visualization course at the University of Illinois which is very similar to his tutorial notes. It is a graduate level course, taken mainly by computer science students, with a prerequisite of a computer graphics course. He concentrates on visualization techniques for various data types, visualization software, and the physical models. He also touches on image processing techniques for enhancing displays. He tries to give the students an intuitive feeling for some of the mathematical terms and methods. The students do a term project and are matched with a physical scientist or engineer so that they can do a realistic project. Many of the students have taken an Art and Design course, from Donna Cox, and most have taken one or two numerical analysis courses. Larry Hodges, College of Computing at the Georgia Institute of Technology, has taught a one quarter (ten weeks) visualization course oriented towards non-computer science majors, i.e., engineers and scientists. They have no background in computer graphics and a widely varied programming background. The first four weeks was a crash course in computer graphics, up through rendering techniques such as simple shading and hidden surface techniques. This was so the students could understand the computer graphics terminology involved in visualization techniques. The next four weeks considered some of the specific tools of visualization. There was one week each for color theory, animation, image processing and vision, and stereoscopic techniques. The last two weeks of the course were case studies of other professors from the campus who were using visualization in their research. This first version of the course did not have a laboratory but this
344
G.S. Owen / ldsualization education in the USA
will be incorporated into the next version. Dr. Hodges thinks that having a laboratory with visualization software tools would provide the students with a much better understanding of the topics. Another possible type of course would be one oriented primarily towards the presentation aspect of visualization. The objective of this course would be to introduce students to general concepts of graphics design and displaying visual information using computers. The target audience would include students in Computer Science, Science, Engineering, and Business. The prerequisites would include: a basic knowledge of computers (with no programming) with minimal mathematics skills. This course could be taught using simple equipment, for example IBM PC compatibles with VGA boards or color Macintosh systems. Possible course texts would include [4] and [11]. The course would cover the topics discussed at the beginning of the section on principles and components.
Current p r o g r a m s
The only current educational program that specializes in Visualization is located at the Visualization Laboratory, in the College of Architecture, at Texas A&M, College Station, Texas with Tom Linehan, an artist, as the Director. This Laboratory just started a Masters degree program in Visualization. The laboratory is eighteen months old, represents an investment of $5,000,000 with 17,000 sq. ft. of space, has 14 Silicon Graphics machines, 20 Suns, 2 Nexts, a site license for Wavefront, 3 Alias licenses, and 8 Softlmage licenses. It is truly an interdisciplinary effort with eight faculty (four with a Ph.D. in Computer Science and four with an M.A. in Art or Design), plus eight staff. While the Laboratory offers a master's program they also work with Ph.D. students from Computer Science. Currently there are fourteen graduate students, about half of whom are from Computer Science and the other half are from an Art background. The laboratory is also a research facility and has external funding from several sources including the National Endowment of the
Arts, the US Forest Service, and the state of Texas.
Resources for visualization courses
While there are many commercial programs to do visualization, I will only mention a few. The "Data Visualizer", from Wavefront, runs on several different UNIX platforms, and is fairly expensive, approximately $4,000 per user educational price. The IRIS Explorer runs only on Silicon Graphics machines but comes bundled with every machine. The Animations Production Environment (apE) [15] developed at the Ohio Supercomputer Center runs on most UNIX machines and on the Apple Macintosh under A U / X . The apE system is no longer distributed for free and has become a commercial product by Taravisuals, priced at about $600 per user for educational users. The Application Visualization Software (AVS) system from Stardent computer runs on Stardent and Silicon Graphics machines. In the realm of free software, the National Center for Supercomputing Applications (NCSA) at the University of Illinois has developed several visualization tools for the Apple Macintosh and for UNIX systems which run X windows. This software is available to all with internet ftp access at the address: ftp.ncsa.uiuc.edu. You must log in as anonymous with your local login as a password. A possible future source of materials is the ACM SIGGRAPH Computer Graphics Courseware Repository (CGCR) recently established at Georgia State University. The CGCR is soliciting Computer Graphics and related courseware from around the world. The submitted courseware will be reviewed and, if accepted, made available to educators. The annual ACM SIGGRAPH Technical slide set usually contains several visualization images, as do the SIGGRAPH Video Reviews. However, these are oriented towards the display of finished projects and not towards education. Similar materials oriented towards education should be developed. The ACM SIGGRAPH Education Committee has previously developed an educational slide set for computer science computer graphics education [16] and is currently working on one oriented towards art and design computer graph-
G.S. Owen / Visualization education zn the USA
ics education. Therefore, this committee could produce an educational visualization slide set.
Conclusion
New methods are being constantly developed for the different components of the visualization process. Since the field, from a computer viewpoint, is only about five years old, it is in a somewhat unstable and rapidly changing state of flux. There are very few separate courses currently being taught on visualization. Clearly, no single course can teach all of the material given in the above section but we can try to assess what knowledge a student should have in order to work in visualization. A related question is if there is a core body of knowledge that all computer science students should know since this is becoming such an increasingly important area. Several types of visualization courses are now being developed and taught. Some general curricular issues need to be discussed by all of these educators. Resources to support these courses need to be developed. These include textbooks, software, and educational slides and videotapes. The ACM S I G G R A P H Education Committee has formed a subcommittee to investigate the curricular issues involved in the area of visualization. We will be working with IEEE, Eurographics, and other organizations in this effort. We will also investigate the production of materials such as software and slide sets to support education for visualization.
References [1] B.H. McCormick et al., eds., Visualization in scientific computing, Comput. Graphics 21 (6) (1987). [2] P. Denning, Computing, applications, and computational science, Comm. ACM 34 (10) (1991) 129. [3] E.R. Tnfte, The Visual Display of Quantitatic,e Information (Graphics Press, Box 430, Cheshire, CO 06410, 1983). [4] E.R. Tufte, Envisioning Information (Graphics Press, Box 430, Cheshire, CO 06410, 1990).
345
[5] Vtsuahzatton '90, Conference co-sponsored by the IEEE Technical Committee on Computer Graphics and ACM SIGGRAPH, Oct. 23-26, 1990 in San Francisco, CA. The second conference, Visualization "91, will occur Oct. 22-25, 1991 in San Diego, CA. [6] T.T. Elvins and N. England, eds., Special Issue on San Diego Workshop on Volume Visualization. Comput. Graphics 24 (5) (1990). [7] D.D. Hearn and P. Baker, Scientific Visualization, Tutorial Notes for Eurographics '91, Sept., 1991, Eurographics Technical Report Series, EG 91 TN 6 (ISSN 1017-4656). [8] G.M. Nielson, Visualization in Scientific and Engineering Computation, IEEE Comput. 24 (9) (1991) 58. [9] B. Cabral, The visualization process in a scientific laboratory course, in: R.S. Cunningham and G.S. Owen, eds., Educator's Semmar: Education for Visualizatton, SIGGRAPH 1990, Dallas, TX. [10] D.J. Cox, The Art of Scientific Visualization, Academic Computing 4 (6) (1990) 20. [11] D.A. Lauer, Design Basics (Holt, Rinehart and Winston, 3rd edn., 1990). [12] PJ. Denning, D.E. Comer, D. Gries, M.C. Mulder, A. Tucker, A.J. Turner and P.R. Young, Computing as a discipline, Comm. ACM 32 (l) (1989) 9. [13] R.S. Cunningham, Computer graphics in computing curriculum 91, Comput. Graphics 25 (3) (1991) 208. [14] N. Schaller, Undergraduate Computer Graphics Laboratory Course, in: R.S. Cunningham and G,S. Owen, eds., Educator's Seminar: Education for Visualization, SIGGRAPH 1990, Dallas, TX. [15] R.S. Dyer, A dataflow toolkit for visualization, IEEE Comput. Graphtcs Appl. 10 (4) (1990) 60-69. [16] R.S. Cunningham, 1991 SIGGRAPH Educator's Slide Set, Comput. Graphics 25 (3) (1991) 204.
Scott Owen is currently ACM SIGGRAPH Director for Education, Director of the Hypermedia and Visualization Laboratory, and Professor in the Department of Mathematics and Computer Science at Georgia State University (GSU). He has been doing scientific and graphics programming for over twenty years. He received his undergraduate degree from Harvey Mudd College and his Ph.D., in Physical Chemistry, from the University of Washington. He taught at Atlanta University, in the chemistray department, from 1972-1984 and moved to GSU in 1984. He has published and presented papers in a variety of areas including multimedia, computer graphics, software engineering, computer graphics education, computer science education, and the use of computers in science education.