WEB-ENHANCED UNDERGRADUATE COURSE AND BOOK FOR

0 downloads 0 Views 368KB Size Report
physics and for incorporating some basics of high-perform- ance computing ... http://www.aip.org/cip/pdf/landau.pdf. We developed .... ence for upper-level students. It is ap- .... ics, the integral equations for quantum bound and scattering states ...
COMPUTERS IN EDUCATION

WEB-ENHANCED UNDERGRADUATE COURSE AND BOOK FOR COMPUTATIONAL PHYSICS Rubin H. Landau, Hans Kowallik, and Manuel J. Páez Department Editor:

Denis Donnelly [email protected]

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

I

n this article we describe the Web-enhanced computational-physics course and textbook we developed in the Physics Department at Oregon State University. The goal of our efforts is to provide an improved medium for teaching physics and for incorporating some basics of high-performance computing into university curricula. The improvement comes by using the computer as a tool for amplifying the student’s cognitive and reasoning abilities, and by using the World Wide Web to provide what is otherwise too difficult to provide. The course is aimed at upper-division undergraduates in science and engineering; it also benefits beginning graduate students. The book, Computational Physics, Problem Solving with Computers,1 contains more than enough projects for a twoquarter course and is enhanced by links to free, interactive Web tutorials containing sonifications, animations, Java applets, and research-based codes. To appreciate the Web enhancements, the reader is encouraged to follow the links given as references or to read the Web version of this article at

Rubin H. Landau is a professor and Hans Kowallik was a graduate student in the Department of Physics at Oregon State University, Corvallis, OR 97331. Both are members of the Northwest Alliance for Computational Science. E-mail for Rubin Landau: [email protected]. Hans Kowallik’s current address is San Diego Supercomputer Center, University of California at San Diego, La Jolla, CA 92093-0505. E-mail: [email protected] Manuel J. Páez is a professor in the Department of Physics, University of Antioquia, Medellin, Colombia.

240

COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

http://www.aip.org/cip/pdf/landau.pdf. We developed the course and wrote the text over a sevenyear period with support from the U.S. Department of Energy, the U.S. National Science Foundation (NSF), and the IBM Corp. Our Web materials were developed over the last three years with support from the Undergraduate Computational Engineering and Science project (UCES)2 and the Northwest Alliance for Computational Science and Engineering (NACSE),3,4 an NSF Metacenter Regional Alliance. To supplement our materials, we have also included links to Webenhanced instructional materials at Syracuse University5 and the Shodor Foundation.6 Our package of educational materials is not what we planned to write 10 years ago when we started the discussions that led to our Computational Physics course. We thought then that the Computer Science Department would teach students what they needed to know about computers, and the Mathematics Department would teach them what they needed to know about numerical methods and statistics. We would teach them how to apply mathematical and computer knowledge to doing physics problems on computers. However, we have found that the students who take our Computational Physics course generally do not bring knowledge of these other disciplines with them. Many of the materials we have developed would, in a more perfect world, be taught and written by experts in other fields. It is probably for the better that we could not follow our original plans. On the one hand, if physicists who conduct research with computers tell students they need to know “this” in computer science and “that” in mathematics, students get the message that the knowledge they acquire in their other courses is useful. On the other hand, it easier for students to understand interdisciplinary subject matter and to master complex systems when they study physics, mathematics, and computer science concepts in the language and from the perspective of a scientist focused on problem solving.

Course structure The educational materials we have developed focus on individual projects for students to complete. This is the pragmatic point of view introduced in pioneering computational physics books by Gould and Tobochnik,7 Schmid,8 and Koonin.9 It emphasizes the acquisition of knowledge by doing projects as opposed to merely reading about them. These © 1998 AMERICAN INSTITUTE OF PHYSICS S0894-1866(98)00203-X

books have no doubt greatly influenced our presentation both Project format. After discussions with their instructors, in style and content. students write up each project as an “executive summary” containing the following headings: 1. Problem; 2. Equations Problem-solving paradigm. Our presentation adheres explicitly to the problem-solving or scientific method as illussolved; 3. Numerical method; 4. Code listing; 5. Visualizatrated in Fig. 1. This paradigm, tion; 6. Discussion and critique. The emphasis of the projects which has been advocated by is professional. Students learn how to prepare the type of UCES2 and Bob Panoff,6 disreport presented to a boss or manager in a workplace and how tinguishes the steps involved in to convey the right amount of information about the work they scientific problem solving, enhave done and their evaluation of the project. We encourage courages the use of a variety of students who have the necessary background to write their tools, and emphasizes the value reports as hypertext documents on the Web. Such documents of continual assessment, a necare always in a centralized place for the students and faculty essary procedure for dealing to access, and the original codes are available to run or modify. with machines of finite preciMoreover, the Web pages may contain striking three-dimension and models of limited apsional and color visualizations and animation. plicability. Building our maWhen we first started teaching this course, which typiterial according to this paracally contains 10 to 20 students, we envisioned that the digm emphasizes the need to students would read the assigned material beforehand, work know more than physics in orthrough the projects in the computer lab with the help of a der to be creative in computaprofessor and a teaching assistant, and prepare their executive tional physics. It also makes it summaries. Possibly as a consequence of the newness of much easier for students from nonof the material or of the breadth of the subjects covered, there physics disciplines to follow has been a consistent desire on the part of the students to hear the mate rial a nd take the a lecture on the material before working on a project. The course, since they can more lecture presents a broad picture of the material, makes it clear easily see how all the different pieces fit together, even without a complete understanding of the content of each piece. Note that the Implementation box in Fig. 1 contains programming languages in addition to problem-solving environments or computer-algebra systems (CAS) such as Maple, Mathematica, and Matlab. Although problem-solving environments provide the easiest way to attack most of the everyday problems a scientist is likely to encounter,10 we prefer to have our students do their Figure 1. The UCES or scientific problem-solving paradigm was adopted projects with a compiled language such as C or Fortran. (Java in creating the projects. is certainly an alternative, although we suspect its abstractness and interactivity may make it difficult for inexperienced programmers.) Our preference for compiled languages is based on the view that our Sample of Chapter 6 Contents (with Hyperlinks Underlined) course is meant to be a learning experi6 Deterministic Randomness 83 ence for upper-level students. It is ap6.1 Problem: Deterministic Randomness 83 propriate for them at least once in their 6.2 Theory: Random Sequences 83 lives to “get their hands dirty” and see 6.3 Method: Pseudo-Random-Number Generators 84 what is inside the computational “black 6.4 Assessment: Random Sequences 86 boxes.” In addition, by using the flexi6.5 Implementation: Simple and Not bility and speed of compiled program[random.f (.c); call.f (.c)] 87 ming languages, this approach provides 6.6 Assessment: Randomness and Uniformity 87 students with the confidence to solve 6.7 Assessment: Tests for Randomness and Uniformity 88 problems that have grown too complex 6.8 Problem: A Random Walk 89 for problem-solving environments. In6.9 Model: Random Walk Simulation 89 deed, access to the world of high-per6.10 Method: Numerical Random Walk 90 formance computing is still pre6.11 Implementation: Random Walk, walk.f (.c) 91 dominantly through compiled lan6.12 Assessment: Different Random Walkers guages. Nevertheless, we have had stuExploration: 2D Gas Simulation (SUHEP) 91 dents take our course using only Maple, and the results were quite satisfactory.

The emphasis of the projects is professional. Students learn how to prepare the type of report presented to a boss or manager in a workplace.

COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

241

CIE

what is expected of the students in their projects, and motivates them to do the work. Once the project is under way, the Web becomes a valuable resource for extending the investigation or understanding results. Accordingly, our experience does not support some university administrators’ vision of classes taught on the Web with professors sitting in the back-row seats.11

Table of Contents PART I: GENERALITIES 1. Introduction 2. Computing Software Basics 3. Errors & Uncertainties in Computations 4. Integration

PART II: APPLICATIONS

Contents

5. Data Fitting 6. Deterministic Randomness 7. Monte Carlo Applications 8. Differentiation 9. Differential Equations & Oscillations 10. Quantum Eigenvalues, Zero-Finding 11. Anharmonic Oscillations 12. Fourier Analyses of Nonlinear Oscillations 13. Unusual Dynamics of Nonlinear Systems 14. Differential Chaos in Phase Space

The course and textbook materials divide into four parts (see “Table of Contents,” this page). A more traditional arrangement might include Chapters 18 and 19 after Chapter 2, but we prefer to have the students start working on applications as soon as possible. There are more projects here than can be covered in two quarters, so that it is possible to tailor the course to suit the PART III: APPLICATIONS (HIGH-PERFORMANCE COMPUTING) students’ interests. The online version of 15. Matrix Computing the textbook contains a more detailed 16. Bound States in Momentum Space table of contents that includes links to a 17. Quantum Scattering & Integral Equations variety of Web enhancements [see 18. Hardware Basics: Memory & CPU “Sample of Chapter 6 Contents (with 19. Profiling and Tuning Hyperlinks Underlined),” p. 241].13 20. Parallel Computing & PVM The course usually starts off rather 21. Object-Oriented Programming: Kinematics slowly, partly because this is the first 22. Thermodynamics: The Ising Model experience most students have with the 23. Functional Integration on Quantum Paths Unix operating system, Unix-related 24. Fractals visualization tools, and the use of a cluster of Unix workstations sharing a comPART IV: PARTIAL DIFFERENTIAL EQUATIONS mon file system. Familiarizing the 25. Electrostatic Potentials students with Unix is less of a problem 26. Heat Flow than it used to be, now that Melanie 27. Waves on a String Johnson, anoth er membe r of the 28. Solitons, the KdeV Equation NACSE group,13 has developed a series 29. Sine-Gordon Solitons of Interactive Unix Tutorials.12 Many 30. Confined Electronic Wave Packets students take the tutorials over the Web on non-Unix machines using Webterm, Appendices Java-based Web technology that makes A. Analogous Elements in Fortran and C it possible for a browser to connect to a B. Programs on Floppy Disk remote Unix machine and execute Unix C. Listing of C Programs commands. D. Listing of Fortran Programs Although some of the material in E. Typical Project Assignments the Table of Contents is similar to what Glossary is presented in other computationalphysics textbooks, our course emphasizes subjects for which the use of a computer is required, and which thereuse of advanced scientific-library subroutines, multiple-subfore may not be covered in the standard physics curriculum. routine programs, and supercomputing/parallel processing on These subjects include nonlinear oscillations, chaotic dynama workstation cluster. Ours is often the only course in which ics, the integral equations for quantum bound and scattering students learn about these common elements of computastates, fractals, Feynman path integration, solitons, and the tional science. The introduction of high-performance computaccumulations of round-off error. ing also marks a pivotal point in the course. Up to this A key aspect of our course is its emphasis on high-perintroduction the computer serves merely as an instructional formance computing (Part III and following), including the 242

COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

aid; subsequently the students must learn much more about computers in order to proceed. This is another illustration of how our presentation differs from that of most other textbooks. As shown in the Table of Contents, our course contains a broad and balanced presentation of the subjects that are part of computational physics. Other areas such as molecular dynamics are incorporated into the course through Web tutorials. Our aim is for students to work in as many of these areas as possible. The students then can experience the excitement of computational physics, acquire confidence in making a complex system work, and build upon their accomplishments. There is a price to pay for an approach this broad: students must work hard and cannot master material in great depth. We leave theoretical backgrounds to be taught in other places and do not spend a lot of time in detailed error analysis, as might occur in a course in numerical methods. The workload is lightened somewhat for students by providing them with “bare-bones” programs on the Web or on disk that they can modify or use as templates for their own programs. The level of the course is deepened by making references and Web tutorials readily available to students for further reading or exploration. Even though students rarely have time to do additional work during the course, it is not unusual for them to explore such materials further for term projects in other courses or as independent research.

Web enhancements We have been developing prototypes of Web applications to assist in high-performance computing education for scientists and engineers.3,4 We are particularly interested in letting students participate in educational activities that are not easily communicated on paper. Such activities may be possible in a

laboratory or lecture hall, but they are not something that students can usually do on their own. As part of our research project, we have placed the table of contents for our book on the Web1 with hyperlinks to free Web enhancements. These interactive, multimedia enhancements need to be experienced

We are particularly interested in letting students participate in educational activities that are not easily communicated on paper.

with a browser to be appreciated. The enhancements include source codes, figures, animations, and sonifications. The table of contents serves as a useful focal point and is a way of imposing order on the confusion of Web information. The Web Geiger counter. In Fig. 2 we present the results of a student’s project on the Monte Carlo simulation of radioactive decay. The simulation is based on an empirical description of the process. Given N(t) particles at time t, the probability of ∆N of these particles decaying in some time interval t is proportional both to N(t) and to the time interval ∆t: ∆ N = l ∆ tN(t) ,

(1)

where l is the decay constant (inverse lifetime). Equation (1) leads to a simple algorithm in which we keep picking random numbers 0 < r < 1 until the number of nuclei N is zero: repeat until N = 0 N − 1, if r < l (2) N = N, if r > l,  t = t + ∆t.

Figure 2. Simulation of the spontaneous decay of 10 and 1000 nuclei with a decay constant l = 0.1. The Nmax = 1000 curve looks exponential at first.

We see in Fig. 2 that the Nmax = 1000 curve starts smoothly but becomes noticeably stochastic as the number of nuclei decreases. In contrast, the N max = 10 curve is always stochastic and stops abruptly when N = 0. These simulations show the students that for fixed decay constant l, the decay rate (the slope of the curves) is independent of the number of initial nuclei, and that the decay can be well approximated by an exponential for large Nmax but not for small N. Among other lessons, the student learns that the numerical simulation is a more accurate description of nature than exponential decay. The students’ acceptance of the accuracy of the decay simulation as a description of nature is further strengthened by listening to our Web Geiger Counter.14 This enhancement, COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

243

CIE

a CGI script on our server in Oregon, converts N(t) into a series of 1’s and 0’s, opens up a sound player plugged into a local browser, and then “plays” the decay simulation. If your computer has a sound player, you can hear sounds of decay at Ref. 14. Please keep in mind that what you hear over the Web is the simulation of Eq. (2) and not a recording of a real Geiger counter. As the students listen to the simulation, they are usually struck by how much it sounds like a real Geiger counter. The simulation sounds steady at first (exponential decay) but becomes noticeably more random. We believe that listening to this simulation helps students to understand that natural spontaneous decay has an element of randomFigure 3. Screen dump of a GIF animation of a chaotic pendulum. Top: angular displacement versus ness in it and that the decay rate must be time. Bottom: phase-space plot (angular velocity versus angular displacement). The vertical lines proportional to the number of nuclei move to show the current position of the pendulum. remaining. Animated chaotic pendulum. The chaotic pendulum (a driven sin q pendulum with friction) is an excellent system for demonstrating various aspects of nonlinear dynamics. All students have some real-world familiarity with pendula, and it is easy for them to solve numerically the simple equation of motion, d 2q dt

2

= −w 02 sin q − a

dq + f cos w t . dt

(3)

Here w 0 is the natural frequency of the pendulum, w is the frequency of the driving torque, f I is the magnitude of the driving torque, a I is the coefficient of viscous friction, and I is the moment of inertia. Although the pendulum represents a simple system, some of the concepts here are difficult for students to grasp. To assist the learning process, we have animated the motion in GIF format (CIP 12:1, 1998, p. 16) and as Java applets (CIP 11:6, 1997, p. 611) and made the results available in four Web enhancements: • A GIF animation of the chaotic pendulum.15 16 • An interactive GIF animation of the chaotic pendulum. 17 • A chaotic pendulum applet. 18 • A comparison of chaotic pendula applets. In Fig. 3 we give a snapshot of a GIF animation, and in Fig. 4 we give a snapshot of a Java animation. Graphs of the pendulum’s position or velocity versus time can become quite complicated and at times difficult to connect to the real world. For this reason the animations show a cartoon of a pendulum actually swinging and simultaneously plot q versus time and q versus time. The actual motion of the pendulum combines oscillations with multiple frequencies and “over the top” rotations. It also shows modes of behavior such as “stuttering,” indeterminacy, and chaos, which are also hard to visualize by looking at graphs alone. In the interactive GIF animations, such as that in Fig. 3,16 the user’s commands are sent back to our server, where the

.

244

COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

Figure 4. A screen dump of a Java applet simulation of a chaotic pendulum. The control panel is on the left. differential equations are solved numerically for the entered parameters. The server converts the output of the program into a series of GIF images, which then get transferred over the Web and viewed on the user’s browser. The advantage to this approach is that the program on our server can be compiled and optimized to run fast. The resulting GIF images can be viewed by almost any browser, even on a computer with older technology (often the norm in schools). The disadvantage of the GIF-based approach is that it can take a frustratingly long time to transfer the many images needed to make an animation, and the server and networks can get loaded down by external users requesting runs and animations all at the same time. In contrast, for the interactive Java animations, byte code is sent over the Web to be interpreted and run on the user’s local computer. This method avoids the slow transfer of im-

ages over the Web, and it reduces the load on the server and network. In theory, Java code can be written once and then run on any computer. In addition, it is relatively easy to make Java programs interactive with fancy buttons and slides, all of which run on the local computer without the need for further network communication. One disadvantage of the Java approach is that an applet on a user’s local machine does not run as fast as code compiled in Fortran or C. Moreover, interactive Java applets are highly time-intensive to write and debug. Programmers have to test an applet on all the platform/browser combinations they want it to run on, and they may have to work hard to get it to look “just right” on every platform and browser. Java/browser technology is still evolving. Sometimes an applet may not run, or may not run well, on certain platforms or for certain levels of browsers or operating systems. For example, code using newly developed features of Java will not run on Netscape Navigator 3. In Fig. 4 the control panel on the left displays buttons to Start, Stop, Clear, and Rerun the animation, slide bars to adjust the parameters of the chaotic pendulum, and pull-down menus to control the duration and speed of the animation.

Since chaotic systems are notoriously sensitive to the exact choice of parameters, we include a few standard cases as a good place for students to begin their explorations. When the applet is started, the browser displays a swinging pendulum with a bob that changes color with increasing pendulum speed. Its motion is synchronized with a graph of angular position versus time and a simultaneous phase-space plot of the motion. Because modern classical dynamics has evolved into the study of geometrical figures in phase space, it is important for students to develop an understanding of the physical meaning of phase-space structures. Seeing the phase-space plot being drawn along with the other plots and the swinging pendulum itself helps students in the learning process. They grow to appreciate the abstract concept that classical dynamics is just geometry in phase space (note the cusp in Fig. 4). Although students can learn such concepts from studying printed books, viewing the material online is more engaging, illuminating, and easier. As a further example of the benefits of online learning, we note that students often are confused when texts refer to “three-cycle” and “five-cycle” structures in phase space without the number being strongly correlated to the number of loops within the structures. As can be seen in Fig. 4, by clicking on the Power Spectrum button, the student can bring up the Fourier spectrum for this simulation. The spectrum immediately shows that the number of “cycles” is correlated to the number of dominant Fourier components. Our second chaotic-pendulum applet displays cartoon images of two independent pendula in motion, along with synchronized phase-space plots (see Fig. 5). It also contains a control panel for adjusting the parameters and controlling the animation, along with some built-in standard cases. This applet explores just what it means for a chaotic system to be hypersensitive to its initial conditions. In the snapshot shown here, both pendula have identical parameters and initial positions but have initial velocities that differ by approximately 0.1%. When students run this simulation with these parameters, they see that the initial behaviors and phase-space plots of the two pendula are essentially identical, as expected. At the instant of time immediately preceding the snapshot, both Figure 5. Screen dump of a Java applet used to study the effect of slightly pendula are in a symmetrical position with their bobs baldiffering initial conditions on two chaotic pendula. Immediately preceding anced on top (the separatrix for a free pendulum). As seen in the image capture, both pendula were balanced vertically. Here the motions have separated; the left pendulum is moving quickly at this instant and its the snapshot, the pendula then move away from the separatrix bob has accordingly changed to a light color. in opposite directions, and from then on the motions look entirely different. The phase-space plots for the two pendula also differ but do contain similar geometric figures. It is possible to make this type of comparison by running a code over and over and plotting the results. In practice, however, the task is too tedious and time-consuming for most students. This easy-to-use applet dramatically demonstrates how hypersensitivity arises and encourages students to explore the pheFigure 6. One cycle of the angular-position-versus-time plot for (a) a harmonic oscillator, (b) a nomenon. realistic (not small-angle) pendulum, (c) an anharmonic oscillator, and (d) the nearly chaotic Sonification of physics. Like the motion of a ball driven by an external force but constrained to move within a box. Web Geiger counter, other Web enCOMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

245

CIE

hancements19 that we have developed are able to visualize computer simulations using sound (to “sonify” them). The aim of these simulations is to assist the learning process by engaging the students’ sense of hearing as well as their sense of sight, and to connect the simulations to the students’ real-world experiences by having the simulation sound like something they recognize. Sonification also helps to make Web learning tools accessible to the blind.20 Some browsers can read HTML text aloud, but they cannot vocalize figures or equations displayed as GIFs. We try to make our Web work accessible to the blind by using the tag in figures and equations so as to provide vocalizable descriptions of figures. LaTeX versions of equations may also be used, since there are audio screen readers that can read LaTeX and use the pitch of the synthesized voice to denote subscripts and superscripts, even for several levels. Realizing that sound is made up of oscillations, we have enhanced our simulations of harmonic, anharmonic, and chaotic motions by converting the oscillatory motion into sound.19 In Fig. 6 we show one cycle of the amplitude versus time of a harmonic oscillator, a realistic pendulum, an x6 oscillator, and a ball bouncing inside a box under the action of an external sinusoidal driving force (a nearly chaotic system). When students listen to the sonifications of these simulated oscillations, they hear a simple tone for the harmonic

Figure 7. High-school statics problem has two masses suspended by three strings.

Figure 8. Interactive Web form transmits data to our server, where the computations required to solve the problem in Fig. 7 are performed. 246

COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

oscillator, increasing overtones for the pendulum and anharmonic oscillator, and a noisy signal for the chaotic system. Solving simultaneous nonlinear equations interactively. In Fig. 7 we show a simple high-school statics problem in which two weights hang from three strings of known lengths. The students are asked to determine the angles and tensions of the three strings. Increasing the number of weights (as we might do to model a bridge) increases the complexity of the problem but not its conceptual difficulty. This is an excellent example of an instructive computational-science problem. The nonlinear equations are easy to formulate and have a simple numerical solution, even though they have no analytic one. Since the computer searches for the solution by starting with a reasonable guess, human understanding is still required to carry out the computation effectively. To make the solution of this sort of problem accessible even to high-school students, and to introduce them to scientific subroutine libraries as the preferred resource for solving matrix problems, we created21 the interactive Web form shown in Fig. 8. When a student enters the coefficients of these or any other equations into the form, the solution is computed on our server using the Slatec scientific subroutine library and returned to the student over the Internet. Other Web enhancements that make it easier to use scientific subroutine libraries include: “Using Subroutine Libraries: Lapack Without All the Pain;”22 “Using Slatec in C: Even More on Subroutine Libraries;”23 and “Parallel Programming without a Parallel Computer: Getting Started with PVM.”24

When the course is effectively presented, mathematical equations and the connections among ideas come alive for students.

Assessment and conclusions We have developed a university-level course in computational physics, a textbook for use in the course, and a collection of World Wide Web enhancements to accompany the textbook. When the course is effectively presented, mathematical equations and the connections among ideas come alive for students, and they are on the path to understanding complex physical systems at a level often encountered only in a research environment. Although the Web enhancements can be exciting, we believe that using the printed textbook provides organization, coherence, and uniformity to the body of knowledge presented in the course and helps to clarify how the subject matter fits into the curriculum. The problem-solving project approach appears to keep the students motivated. The supervised use of computers ensures student interaction with the materials; the prototype Web enhancements enrich the learning process with little extra work required from the students. Even though the components of this package function

well on their own, our students attest to the value of also listening to lectures on the material. The reason is obvious to anyone who has mastered physics: to learn a difficult subject, a far deeper engagement is required than Web-browsing typically provides. Although information can be easily transmitted over the Web, a more complex process appears to be

We have been rewarded by a level of discussion and interest that we have rarely encountered in other courses.

involved in acquiring an understanding of physics. We view Web enhancements as a valuable aid to this process, however. In general, we find that the project approach is flexible and encourages students to take pride in their work and creativity. It also serves exceptionally well in independent study or distant learning. In some cases, however, certain students have not responded well to the challenges of covering large amounts of material and being held responsible for a good deal of self-instruction. Those who cram for examinations at the end of term rather than maintaining a sustained productivity over 10 weeks will find themselves overwhelmed by our course. Student evaluations of Computational Physics have been uniformly high, despite the requirements of working through a large number of projects and developing the requisite programming skills. We have been rewarded by a level of discussion and interest that we have rarely encountered in other courses. We receive comments like “I never understood what was dynamic in thermodynamics until this simulation” and “Is this what a random walk really looks like?” We have also seen students return to learn more of a project’s underlying physics and find more powerful tools to do a job better. In our experience, it is unusual for students to express such curiosity and to attain such insight in a standard lecture course.

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 (which gave Rubin Landau an award for the course development), and the NACSE. Our tutorials have benefited from the work of Jon Maestri, Melanie Johnson, Paul Hillard, Peter Langner, and Kevin Wolver. Helpful discussions with Cherri Pancake and Pat Canan are gratefully acknowledged. This article is based on a talk given by Rubin

Landau at SC97: High Performance Networking and Computing, San Jose, CA, November 1997.

Online version of this article Computers in Physics is making the online version of this paper available on the CIP Web site at the URL http:// www.aip.org/cip/pdf/landau.pdf. The American Institute of Physics is committed to maintaining the continuous availability of CIP’s archival electronic materials. The paper is also available at the author’s Web site, http://www.physics.orst. edu/~rubin.

References 1. R. H. Landau and M. J. Páez, Computational Physics, Problem Solving with Computers (John Wiley, New York, 1997), http://www.wiley. com/; http://www.physics.orst.edu/~rubin/CPbook/. 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. NACSE in Physics at Oregon State University, http://nacphy.physics. orst.edu/. 5. Simulation modules from the Syracuse University Physics Department, http://suhep.syr.edu/courses/modsim.html. 6. The Shodor Education Foundation Inc., http://www.shodor.org/. 7. H. Gould and J. Tobochnik, An Introduction to Computer Simulation Methods, 2nd ed. (Addison-Wesley, Reading, MA, 1996). 8. E. W. Schmid, G. Spitz, and W. Lösch, Theoretical Physics on the Personal Computer (Springer-Verlag, Berlin, 1987). 9. S. E. Koonin, Computational Physics (Benjamin, Menlo Park, CA, 1986). 10. J. R. Rice, “Future Scientific Software Systems,” IEEE Computational Sci. and Engr. 4 (2), 44 (1997). 11. D. G. Oblinger and S. C. Rush, editors, The Learning Revolution: The Challenge of Information Technology in the Academy (Anker Publishing, Bolton, MA, 1997). 12. The Unix tutorial can be found from the NACSE home page or explicitly at http://www.physics.orst.edu/tutorial/unix/. 13. Web table of contents of Computational Physics, http://www.physics. orst.edu/~rubin/CPbook/. 14. Web Geiger Counter, http://nacphy.physics.orst.edu/ComPhys/MONTE/ EXT/counter2.html. 15. An animated GIF of the chaotic pendulum courtesy of P. Langner may be found at http://www.physics.orst.edu/~rubin/EdTalk97/DEMO/ demo8.html. 16. Interactive GIF animation of the chaotic pendulum, http://nacphy.physics. orst.edu/CHAOS/. 17. Chaotic pendulum applet, http://nacphy.physics.orst.edu/JAVA_pend/ CHAOS/. Applet versions of some of the other programs in Computational Physics can be found at http://nacphy.physics.orst.edu/manuel.97/. 18. Comparison of chaotic pendula applet, http://nacphy.physics.orst. edu/JAVA_pend/COMP. 19. 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. 20. The Science Access Project, http://dots.physics.orst.edu/. 21. “Interactive High School Physics: Solving Simultaneous Nonlinear Equations,” http://nacphy.physics.orst.edu/HSPhysics/nonlinear/. 22. “Using Subroutine Libraries: Lapack Without All the Pain,” http:/nacphy. physics.orst.edu/lapack/. 23. “Using SLATEC in C: Even More on Subroutine Libraries,” http://www. physics.orst.edu/~rubin/C_slatec/. 24. “Parallel Programming without a Parallel Computer: Getting Started with PVM,” http:/nacphy.physics.orst.edu/PVM/.

COMPUTERS IN PHYSICS, VOL. 12, NO. 3, MAY/JUN 1998

247