bluebanner

Computational Physics Education:

A Course and a Web-Enhanced Book+

 bluebanner

Rubin H. Landau NACSE 
logoand Hans Kowallik++

Department of Physics and
NACSE
Oregon State University, Corvallis, OR 97331

rubin@physics.orst.edu
http://www.physics.orst.edu/~rubin
kowallik@sdsc.edu

Manuel J. Paez

Department of Physics
University of Antioquia
Medellin, Colombia, SA

mpaez@fisica.udea.edu.co

Abstract:
A coherent set of material for upper-division university education in computational science has been developed. It contains a course in Computational Physics, a book entitled Computational Physics, Problem Solving with Computers, and a coordinated collection of multimedia interactive Web tutorials (sonifications, animations, and applets) which enhance the book and the course. The project is an experiment in 1) using the Web for education and training in high performance computing and 2) in publishing academic materials in which a comercial publisher, John Wiley Inc., produces a traditional book geared to a course, while simultaneously maintaining links to free Web tutorials on their and our sites. Web tutorials topics include Monte Carlo Techniques, Sounds of Oscillating Systems, The Chaotic Pendulum with Java, HPC Libes in High School Physics, ODEs & Oscillations, Radioactive Decay Simulations, and the Web Geiger Counter.
Keywords:
Computational Physics, Computational Science, Education, High Performance Computing, World Wide Web, Web-Enhanced Text, JAVA, Simulations, Web Tutorials, Sonifications, Chaos

Applying computer technology is simply finding
the right wrench to pound in the correct screw. -Anonymous


Outline and Motivation

In this paper we wish to describe and to have the readers demonstrate to themselves the Web-enhanced Computational Physics book and course we have developed in the Physics Department at Oregon State University. By the end of the paper we hope you will agree that the composite course + textbook + Web tutorials produces a new and effective approach for education and publishing. The course is intended for upper-division undergraduates or beginning graduate students in science and engineering. The book, Computational Physics, Problem Solving with Computers[1] containing more than enough projects for the course, is enhanced by links to free, interactive Web tutorials containing sonifications, animations, and JAVA applets.

We have developed the course and written the text over a seven year period with external support from the U.S. Department of Energy, the U.S. National Science Foundation, and IBM corporation. The Web materials were developed in the last three years with travel support from the Undergraduate Computational Engineering and Science project (UCES)[2], and with research support from the Northwest Alliance for Computational Science (NACSE)[3]. This last organization is an NSF Metacenter Regional Alliance which promotes Web technology to improve the use of high performance computing (HPC) resources in science and engineering.

While some of the Web materials we have developed are directly related to the course, others are also useful for a general audience. The latter include Techniques for Visualizations, HPC Library Use, PVM, and Coping with Unix (both a book [4] and Web tutorials[5]). Accordingly, the Web materials can be used in the traditional university and high school settings, or in a scientist's and engineer's workplace.

This coherent package of educational materials is not what we planned on writing when, about a decade ago, we started the discussions that led to our Computational Physics course. We though that the Computer Science Department would teach the students what they needed to know about computers, the Mathematics Department would teach them what they needed to know about numerical methods and statistics, and we would teach what they needed to know about applying that knowledge to solve physics problems using computers. That's how we thought it would be. But, by and large we have found that the students taking the Computational Physics course do not carry the subject matter from these other disciplines with them. And so a lot of the materials we have developed would, in a more perfect world, be taught and written by experts in these other fields.

While that is not the materials we originally planned to develop, we believe it's probably for the better. On the one hand, having physicists who conduct research with computers tell students they need to know "this" in computer science and "that" in mathematics gets the message across that "this stuff really matters". On the other hand, it is useful to have the physics, mathematics, and computer science concepts conveyed in the language and from the perspective of a natural scientist working within the context of solving a problem scientifically.

Computational Science Viewpoint

We believe that our work is an excellent example of that interdisciplinary mixture of computer science, mathematics, and discipline (in our case physics) known as Computational Science. While much of what we hear about "computational science education" deals with what computer science should be taught to science students, we believe that computational science education is most useful and contains the most intellectual content when it focuses on its science and applications.

As a case in point, we have tried to make computational science education become alive for students by having the clever -but transparent- use of computers stimulate their innate intellectual interest in understanding and finding beauty in the world in which they live. The viewpoint we try to impart is that the computer is an excellent tool for amplifying our cognitive and reasoning abilities. There is nothing like having your science, be it some mathematical equations and lines of code, or some abstract connection among ideas, come alive right before your own eyes, and come alive looking like the real world. After that type of "close encounter" with science, students often go back to learn more of the underlying science and to find more powerful tools in order to understand better what is happening. Not surprisingly, we find that teaching gets to be much easier once students are motivated, are interacting with the materials, and are doing it all without too much pain.

The Problem Solving Paradigm

The educational material we developed is in the form of individual projects, each of which follows a problem-solving paradigm of the type developed by the UCES[2] and shown in Fig. 1.

flowchart of UCES paradigm
Figure 1: The UCES or "problem solving" paradigm followed for most projects.

This paradigm distinguishes the different steps in scientific problem solving, encourages the use of the best (or just the available) tools, and emphasizes the value of continual assessment (the double-headed arrows). It also makes it clear that computational science is an interdisciplinary field founded on the scientific process.

Course Objectives

The course differs from many others in its underlying philosophy:
I hear and I wonder,
I see and I follow,
I do and I understand. -as recalled from a fortune cookie
The specific objectives of the course are:

When we first started teaching this course, which typically contains 10-20 students, we envisioned that the students would read the assigned materials beforehand and then work through the projects in the computer lab with the help of the professor and teaching assistant. Possibly as a consequence of the newness of much of the material, or of the breadth of the subjects covered, there has been a uniform desire on the part of the students to have a traditional lecture before working on a project. The lecture seems important to give a broad picture of the material and to make it clear what is expected of the students in their projects. It is interesting that our experience does not support the vision of some higher-education mangement gurus who envision classes with professors in back row seats when the Web is used in education.[6]

Contents a book

The course and book materials divides into five parts which we cover, pretty much, in order. You can get a full table of contents containing every section of every chapter with links to the Web materials by following these URLs:
The contents by chapters are:


The reader will notice from browsing through these topics that there is an emphasis on looking at subjects which may not be covered in the standard physics curriculum (aside from the computer science and mathematics). They includes anharmonic oscillations, chaotic dynamics, integral equations of quantum mechanics, and solitons; all subjects which are best studied with the computer.

The first quarter of the course concentrates on the basic mathematical, numerical, and conceptual elements needed for using computers as virtual scientific laboratories. We start off slowly, in part because this is the first experience some students have with Unix. We next study the basics of computing: algorithms, precision, efficiency, and verification, and then move on to some numerical analysis and associated approximation and round-off errors.

Learning Unix is less of a problem than it used to be, both for students in this course and for all students using the Physics Department workstation cluster. This is because our NACSE[3] group (and especially Melanie Johnson) has taken a conventionally-published Guide for Scientists and Engineers written by Landau and Fink,[4] and used it as a base for a series of Interactive Unix Tutorials.[5] The Unix tutorials use some Java-based Web technology (Webterm) we developed which makes it possible for a browser to connect to a remote Unix machine and execute Unix command - even browsers on non-Unix computers such as PCs or Macs. Many students take the tutorials on their own either before or during the course.

The second quarter of the course focuses on realistic physical problems which apply and extend the preceding techniques. (There are more projects than can covered in two quarters, so some customizations to students' interests is are usually made.) An important aspect of the course is the use of advanced scientific library subroutines, multiple-subroutine programs, and the use of supercomputers or parallel workstation clusters. This is usually covered in the second quarter by which point the students have some experience with numerically intensive computing, and is often the only place students experience these common aspects of computational science.

There is a price to pay for the unusually broad approach we see with all these topics: the students must work hard and cannot master material in great depth. The workload is lightened somewhat by providing "bare bones" programs, and the level is deepened somewhat by having references and Web tutorials readily available. By eliminating the time-consuming theoretical backgrounds more properly taught in other places, and by not sustaining a continual attack on errors, the students have the time to get many of these challenging projects "to work". In the process, the students enjoy the excitement of physics and gain pride, independence and self-confidence; this makes for a fun course for everyone.

Project Format

After discussions with an instructor, each student writes up each project as an "executive summary" focusing on The emphasis is to make a report of the type given to a boss or manager; tell just enough to get across that you know what you are talking about, and be certain to convey what you did and your evaluation of it. Recently, some students have written their reports as hypertext documents for the Web. This is an ideal (but labor intensive) environment for computational science: the projects are always in a centralized place for the students and faculty to observe, the original code is there to run or modify, and the visualizations are striking in 3-D color or animation (examples to follow).

Web Tutorials

There are worthwhile educational activities which are just not possible to do in a book. They may be possible in a laboratory or in front of a lecture as a demonstration, but they are not the things which students can usually do on their own. An unusual aspect of our Computational Physics textbook is that as a NACSE[3] research project, we are including these other educational activities as interactive tutorials available free on the World Wide Web.

Following the Web links given in the table of contents (the scenic route which we highly recommend) leads to running codes, figures, animations, sonifications, corrected code listings, and control-panel interfaces. While these tutorials are not meant to be substitutes for studying the text or for running one's own codes, they do provide prototypes of what can de done and of how scientific materials can be viewed in new and exciting ways (such as seeing phase space plots drawn as a pendulum swings, or hearing the noise made by a chaotic oscillator).


a roulette wheel

Example 1: Monte-Carlo Techniques, Random Walkers

In Fig. 2 we see seven simulations of a 2D random walk of 1000 steps starting at the origin. These have been taken from a student's report [7] on Monte-Carlo techniques. The data were produced by the program walk.c (http://www.physics.orst.edu/~rubin/CPbook/PROGS/C_PROGS/walk.c).

7 random walks in color
Figure 2: Seven random walks of 1000 steps starting at the origin.

Having the student generate random numbers and then random walks with these numbers inevitably leads to "strange " graphs like these. Although random processes are discussed in many undergraduate science and engineering courses, it is surprising to learn how few students have ever seen one! They often ask if their results are correct - as if being a physics professor gives one the divine power to see molecules collide. They are told that if their computer simulation yields a prediction which agrees with experiment, then it is likely to have some truth in it. In some sense, then, they are seeing a random walk.

By uncovering correlations in pseudorandom numbers, the students have already seen that random number generators are not truly random and so know to suspect Monte-Carlo simulations. In Fig. 3 we give results from a student's project which checks the validity of the model of a random walk by plotting the distance covered after N steps versus $R=\sqrt{N}$, where $R_{RMS}$ is the square root of the average squared step size.

Plot of R versus $\sqrt{N}$
Figure 3: The distance R from the origin after N two-dimensional random steps. The dashed curve is the theoretical result, the red and black solid curves correspond to different algorithms for choosing random steps in two dimensions.

We see that although the theory of random processes predicts that for large N,

 $R=\sqrt{N}$,

this holds only on the average after many trials, and even then only if particular care is used in generating the random walk (the different curves in Fig. 3).


a warning sign for radiation

Example 2: Spontaneous Decay Simulation

 

In Fig. 4 we present the results of a Monte-Carlo simulation of radioactive decay. The simulation is based on the basic, phenomenological fact that for $N(t)$ particles at time t, the number of these particles decaying in some small time interval $\Delta t$ is proportional to both N(t), the number of particles present at time t, and the length of the time interval:

  $Delta N = \lambda \Delta t$

where lambda is the decay constant. This leads to the basic algorithm which decides if a nucleus decays:

if $Delta N = \lambda \Delta t$ , the nucleus decays and N=N-1.

log N versus t
Figure 4: Simulation of the spontaneous decay of 10 and 1000 atoms with a decay constant lambda of 0.1. The Nmax=1000 curve only looks exponential, it is actually stochastic.

The results in Fig. 4 are of a simulation of this equation. Notice that the Nmax=1000 curve starts smoothly but becomes more stochastic as the number of atoms decreases. In contrast, the Nmax=10 curve is always stochastic. These simulations show the student that the decay rate (the slope of the curves) is independent of the number of initial nuclei (the curves are scaled to begin at the same point). Of even more interest, the student sees that for large numbers of nuclei, the decay can be approximated well by an exponential (a straight line on a semilog plot), but that for small N, the process is always stochastic, as it is in nature.

These simulations shatter the students' prejudice that the analytic result (exponential decay) is a more accurate description of nature than the computed result. Here, the simulation holds for all values of N, while exponential decay becomes a poorer and poorer approximation to nature as N decreases (which, in nature, always happens eventually).


The Virtual Web Geiger Counter

The students' belief in the decay simulation and their understanding of nature is further strengthen by our Web Geiger-counter[8]. This enhancement converts a numerical N(t) versus t graph into a series of 1's and 0's, opens up a sound player, and then "plays" the decay simulation. For example, if you have a sound player, you can hear sounds of decay (.au 8K) here or at http://www.physics.orst.edu/~rubin/TALKS/CPtalk/GEIGER.AU. It is important to keep in mind that what you hear is a simulation produced by equations and not a recording of a real Geiger counter. Listen and hear the decay rate decrease with time and simultaneously turn more stochastic as the number of nuclei decreases.

The actual Web Geiger counter is a CGI-bin script on our server which has an interface of the form:


Number of atoms (0..500):  
Decay constant (0..1):
Data Format: .au
Sampling Rate: 8kHz
Size: 80K


The Geiger counter is activated after you specify the decay rate and the number of initial nuclei. It then runs a simulation in Oregon, produces a sound file, and ships it out to the user. To keep the size of the sound file and the amount of CPU time on our machine reasonable, we have limited the maximum number of atoms to 500 and the length of the sound files to 10 seconds. 
a moving pendulum

Example 3: The Chaotic Pendulum

Here is another example from a student's project on the chaotic pendulum, this one using gifs for animations.[7] Animated gifs are convenient in that you do not need a movie player, but the files do get to be rather large in size (and you may have to push "reload" to make them move).

The theory here is the angular form of Newton's laws of motion including an external periodic driving torque, viscous damping, and a nonlinear restoring force proportional to the sine of the angle of displacement. This leads to an ordinary differential equation,

the differential equation

We integrate this equation with a fourth order Runge-Kutta technique.

In Fig. 5 we show an animation of the solution to this equation. On the left is a cartoon of a moving pendulum, and on the right is a plot of the angular displacement theta versus time. When animated, the plotting is done in synchronization with the pendulum's motion (remember to push "Reload" to animate).

animated pendulum and theta versus 
time
Figure 5: Left: A model of a chaotic pendulum; Right: The angular displacement of the pendulum versus time. The vertical line shows the current angular position of the pendulum.

In Fig. 6 we show on the left a cartoon of the moving pendulum, and on the right a plot of the motion of the pendulum in phase space (angular velocity versus angular position). When animated, the plotting is done in sychronization with the pendulum's motion.

animated pendulum and phase space 
plot
Figure 6: Left: A model of a chaotic pendulum; Right: A phase space plot (angular velocity versus angular displacement). The vertical line shows the current position and velocity of the pendulum.

These animations (and the JAVA applets we show next) indicate how multimedia can help students learn some difficult and abstract concepts. On the one hand, the picture of a pendulum actually swinging is a concrete example of a chaotic motion's combination of oscillations with multiple frequencies and "over the top" rotations. Seeing this motion occur simultaneously as the displacement versus time graph is being drawn breathes life into what, otherwise, appeared like an unusal geometric figure. Seeing the phase space plot being drawn along with the other plots and the swinging pendulum itself, adds meaning at different levels of understanding to the abstract concept that classical dynamics is just geometry in phase space. While students can learn these concepts from studying the plots in books, this is more engaging and revealing.


Example 4: JAVA and the Chaotic Pendulum

In more recent times we have also developed Web tutorials which use JAVA to study the chaotic pendulum interactively.[3] Because these tutorials are interactive and animated, the reader really does need to browse (here or on Web) to appreciate them:

JAVA is a general programming language particularly well suited for creating animated and interactive Web objects (it is object oriented and its objects can be graphical). In fact, in addition to creating the animated and interactive graphics, our JAVA programs actually solve the equations of motion numerically, albeit slower than with Fortran or C. Of particular noteworthiness is that the JAVA programs sent over the Web ("applets") actually do the numerical computation and the graphical animations on the local computer running the (JAVA-enabled) Web browser. Not only does this take some load off the State of Oregon, but it permits much faster and smoother results than trying to transmit the data and the images over the Web. It also lets the user adjust the parameters in the program and run it again locally. Since this is so fast and painless, it is a valuable type of interaction which hastens the learning process.

Our most recent JAVA applets permit extensive control of the programs, very fast animations of a variety of tabulated and dial-your-own chaotic behaviors, and some research-level studies of levels of complicated behavior. A snapshot of one of these applets is shown in Fig. 7. The buttons are used to start, stop, and clear the animation (helpful before rerunning). Some sample configurations are listed and can be chosen with mouse clicks (since chaotic systems can be a hypersensitive to the precise values of parameters, it is good to have some sample cases).

In Fig. 7 you can see a comparison being made of two chaotic pendula with slightly differing initial conditions. If you activate the applet you will find that both pendula appear identical for quite a few cycles, but when the separatrix is reached, as predicted in the Robert Frost poem, the pendula then follow very different paths in phase space and oh the difference it makes.

Java applet of animated pendulum and 
phase space plot
Figure 7: A snapshot of a Java applet showing the control panel on the left and the comparison of two animated pendula and their phase space plots on the right.

Example 5: Solving Simultaneous Nonlinear Equations Interactively[9]

3 hanging weights connected by strings
Figure 8: A high school statics problem showing two masses suspended by three strings.

At http://nacphy.physics.orst.edu/HSPhysics/nonlinear/ is a Web tutorial we originally developed for a high school physics class, but which also works well at the university level. The physics problem is the simple one from statics, shown in Fig. 8. Two weights hang from three strings of known lengths, and you are asked to determine the angles of and tensions in the strings (for graduate work we like to increase the number of weights).

This is a great problem for computational science. It is easy to write down the relatively simple equations to be solved, and even though there is no analytic solution, there is an easy numerical one ("easy" if one uses a scientific subroutine library). This shows the student how even simple problems may require a computer for solution. In addition, since the computer uses a Newton-Raphson method to search for the solution, the student can take an active part in the process by experimenting with different initial guesses and actually seing the computer fail at a numerical task. This shows the student that while the computer may be needed to solve the problem, there is still a critical need for human insight and intuition.

To avoid the delicate "bookkeeping" needed in using a scientific subroutine library, the high school students submit their problem to the computer via a form of the form:


Interactive Form

cosA1 + cosA2 + cosA3 + sinA1 + sinA2 + sinA3 =
cosA1 + cosA2 + cosA3 + sinA1 + sinA2 + sinA3 =
T1cosA1 + T2cosA2 + T3cosA3 + T1sinA2 + T2sinA2 + T3sinA3 =
T1cosA1 + T2cosA2 + T3cosA3 + T1sinA1 + T2sinA2 + T3sinA3 =
T1cosA1 + T2cosA2 + T3cosA3 + T1sinA1 + T2sinA2 + T3sinA3 =
T1cosA1 + T2cosA2 + T3cosA3 + T1sinA1 + T2sinA2 + T3sinA3 =



Outside each box is one of the variables from our problem (tensions and trigonometric functions of angles). Inside each box, easy to change, is the geometrical coefficient multiplying it in the equations. The solution is done back in Oregon using the Slatec library and then returned over the Web. The reader is encouraged to try it.

In addition to this high school tutorial which hides the subroutine library, we have also developed tutorials whichtry to incorporate the scientific subroutine libraries developed by the national laboratories into the standard working tools of science. We do that by making them easier for practicising scientists and engineers, and especially students, to use, and by putting their use into a textbook. These tutorials include:


Example 5: Physics Sonification

We have already discussed the Web Geiger counter which, by "playing" decay simulation data, sounds like a real Geiger counter. In addition, we have developed tutorials[10] which investigate other ways in which sound can be used to visualize, or more properly, "sonify", physical phenomena. Specificially, the physics and mathematics used to describe harmonic, anharmonic, and chaotic oscillators literally come alive when students can hear them.

We believe sonification assists the learning process by adding senses other than sight to it. Another consequence is that sonification makes science more accessible to the print disabled (the blind). In fact, our collaboration with the Science Accessibility Project[11] confirms that this conclusion holds equally well in reverse: by making science more accessible to the print disabled, we improve the learning for sighted students as well. Accessibility is clearly a valuable and need-to-be developed use of the Web. As a case in point, the figures and gif-formatted equations we include in the HTML version of this paper also contain text descriptions in the ALT= HTML tag. This provides useful information for people, or browsers, that cannot view images.(On some browsers, such as Netscape 4, the ALT= tag appears on the screen before the images load.)

Now we show some samples from Web sonification tutorials which explore methods of creating sound files to represent physical systems (playing these files requires your computer to have a sound player).


Direct Transformation

This is the simplest case in which we convert data directly into a format which can be used by a soundplayer. The frequency and amplitude of the sound wave is proportional to the frequency and amplitude of the signal.

a sine wave
Figure 9: One cycle of the angular position versus time for a harmonic oscillator (small angle pendulum). The full signal is periodic and repeats indefinitely. Selecting this image or http://www.physics.orst.edu/~rubin/TALKS/CPtalk/aiff.au will play a 40K sound file of this signal.

a sine-like
wave
Figure 10: One cycle of the angular position versus time for a realistic (not small angle) pendulum. The full signal is periodic and repeats indefinitely. Selecting this image or http://www.physics.orst.edu/~rubin/TALKS/CPtalk/REAL.AU will play a 35K sound file of this signal. Listening to it, you should note more overtones (higher harmonics) than in the harmonic case, that is, a fuller or less simple tone.

a
squared off sine-like wave
Figure 11: One cycle of the position versus time for an anharmonic (nonsinusoidal) oscillator. Selecting this image or http://www.physics.orst.edu/~rubin/TALKS/CPtalk/ANHA.AU will play a 40K sound file of this signal. Listening to it, you should note more overtones (higher harmonics) than in the harmonic case, that is, a fuller or less simple tone.

noise
Figure 12: The nearly chaotic motion of a ball driven by an external sinusoidal force but constrained to move within a box. Selecting this image or http://www.physics.orst.edu/~rubin/TALKS/CPtalk/DBOX.GIF will play a 35K sound file of this signal. Do not try to fix your sound player, this signal should sound "noisy" since it's chaotic.


Sonifying a Fourier Spectrum

bifurcation plot
Figure 13: The bifurcation plot of the logistics map. Selecting this image or http://www.physics.orst.edu/~rubin/TALKS/CPtalk/DBOX.GIF will play a 204K sound file in which each bifurcation is represented by a tone proportional to the value of the population.

In Fig. 13 we have the familiar bifurcation plot (bug population versus growth rate) of the logistics map with its continuous series of bifurcations.[1] To sonify this plot we interpret it as a time-dependent Fourier spectrum: the population (ordinate) is proportional to the sound frequency and the grow rate (abscissa) is proportional to the time. So, as time increases, we move uniformly along the growth rate and encounter the bifurcations. Accordingly, when there is only one population, there will be just one frequency played, yet the frequency will increase as the population increases with increasing growth rate. When there are two populations, you will hear two frequencies, with one increasing and the other decreasing. And when there is chaos, many frequencies are heard, with chords occurring as we pass through three-cycle windows. There is at least some poetic justice in using many frequencies to represent chaos because chaotic motion is the combination of many of periodic motions; albeit, occurring sequentially and not simultaneously.


Assessment and Conclusions

We have developed a university-level course in Computational Physics, a book based on this course, and an extensive collection of Web tutorials to enhance the book and course. The tutorials are multimedia, interactive, and free over the Web. Our aim in part was to teach the use of computers in physics education and to teach physics with computers. But our primary aim was to see computational science become a more significant part of university education.

After observing the other types of materials that are available over the Web, we have concluded that if Web material is to have significant impact on education, then it needs to be presented as part of a coherent, organized body of knowledge (this is the logic behind our course-book-Web tutorials package). Even with the latest technologies, we still see conventional books as being of value because

As a package, the materials we have developed do appear to work well together. Yet our student feedback informs us that there is still much value in having a Professor give lectures in front of a class as part of an educational process involving the Web. When teaching a hard subject like physics, it takes more than a simple browsing to gain an understanding, let alone mastery. While it is easy and quick to impart information over the Web, more complex processes appears needed to convey the knowledge and understanding associated with learning physics.

The prerequisites we initially established for our course included programming experience in a compiled or symbolic language, numerical methods, and mathematical methods of physics including statistics, data fitting, and linear algebra. Unfortunately, we have had to teach more of these prerequisites ourselves because so few of our students could meet them (a condition which is only getting worse as universities compete with each other for students by lowering the number of credits needed to graduate).

Even though most of the students in the Computational Physics course at Oregon State have taken some computer science courses, we have found that our Computational Physics course often serves as the students' first introduction to scientific computing. While this may serve a valuable need for the students, it means that there is less time to do science on the computer and to experiment. Paul Fink and Rubin Landau have tried to alleviate this shortcoming by collecting some needed background into a Guide For Scientists And Engineers,[4] while Melanie Johnson has worked at developing Web tutorials [5] loosely based on that guide. Landau has also helped introduce an Introduction to Scientific Computing course for students at the freshman and sophomore level based on Zachary's book.[12] This too should leave more time for science in upper-division courses.

The student reviews for our Computational Physics course have been uniformly high, even though working through the large number of projects and the requisite programming skills are a challenge for students. We personally have been rewarded in this course by a level of discussion rarely encountered in other courses and with students actually asking for additional materials. For example, we have heard students comment that "I never understood what was dynamic in thermodynamics until this simulation," and "We would never have imagined that there could be such a difference between upward and downward recursion," as well as "Is that what a random walk really looks like?" or "Why is the pendulum jumping around like that?" In our experiences, a teacher just does not hear students express such insight and curiousity in course material in a standard lecture course.

In general, we find the project approach to be flexible and to encourage students to take pride in their work and their creativity. It also works exceptionally well for individual or distant learning. In some cases, however, the challenge of covering a good deal of material with the student responsible for much of their education is overwhelming or unsatisfactory for the student. We suspect these are students who prefer to cram for examinations at the end of term, rather than maintain a sustained effort for 10 weeks.

In broad terms, the availability of tutorials and auxiliary materials on the Web have made us more efficient when teaching the course. The animations and sonifications available to the student have extended and possibly deepened their education from what was possible before. In this way the Web certainly makes learning more engaging and efficient. On the teacher's part, the investment in time needed to develop and maintain the materials is tremendous, and in our project has only been possible through the hard work of graduate students and staff, and with the support of grants.

One of the most satisfying results of our developments is seeing some of the students going on to study computational science at summer schools or making it a career option in graduate school. We have also received messages that other students have found the projects and the scientific computing experience useful in their employment. For sure, it's been exciting to teach.

Acknowledgments

We have benefited from support from the U.S. National Science Foundation (curriculum Development grant), the U.S. Department of Energy Office of High Energy and Nuclear Physics, the Undergraduate Computational Engineering and Science Project (who gave RHL an award for the course development), and the NSF's Northwest Alliance for Computational Science (NACSE). The tutorials have benefited from the work of Jon Maestri, Melanie Johnson, Paul Hillard, and Kevin Wolver. Helpful discussions with Cherri Pancake, Henri Jansen, Pat Canan, Al Wasserman, Ken Ferschweiler, and John Reed are gratefully acknowledged.

References and Footnotes

+
Based on a talk given at SC97, High Performance Networking and Computing, Nov. 1997, San Jose, (http://www.supercomp.org/sc97/).
++
Present address: San Diego Supercomputer Center, UCSD, 9500 Gilman Dr., LaJolla, CA 92093-0505
*
"O" indicates optional material.
[1]
Computational Physics, Problem Solving with Computers, R. H. Landau and M. J. Paez, John Wiley (http://www.wiley.com/), New York, 1997.
[2]
The Undergraduate Computational Science and Engineering Project UCES, http://uces.ameslab.gov/.
[3]
The Northwest Alliance for Computational Science and Engineering NACSE, http://www.nacse.org/.
[4]
R. H. Landau and P. J. Fink, A Scientist's and Engineer's Guide to Workstations and Supercomputer, Wiley Interscience, New York, 1992.
[5]
The Unix tutorials can be found from the NACSE home page or explicitly at http://www.physics.orst.edu/tutorial/unix/.
[6]
The Learning Revolution, The Challenge of Information Technology in the Academy, D. G. Oblinger, S. C. Rush, Eds., Anker, Bolton, 1997.
[7]
P. Langner, Physics Department, Oregon State University.
[8]
Web Geiger Counter, http://nacphy.physics.orst.edu/ComPhys/MONTE/EXT/counter2.html.
[9]
Interactive High School Physics, Solving Simultaneous Nonlinear Equations, http://nacphy.physics.orst.edu/HSPhysics/nonlinear/.
[10]
Sound tutorial, http://nacphy.physics.orst.edu/ComPhys/SOUND/sound.html; sonification of radioactive decay, http://nacphy.physics.orst.edu/ComPhys/MONTE/mc3/node8.html;
see also [6] for Geiger counter.
[11]
The Science Access Project, http://dots.physics.orst.edu/.
[12]
Introduction to Scientific Programming, Computational Problem Solving Using Maple and C, J. L. Zachary, Spring-Telos, Santa Clara, 1996.