Paul Abbott

Department of Physics
The University of Western Australia
Nedlands WA 6907, AUSTRALIA
Paul.Abbott@earwax.pd.uwa.edu.au

Computational Experiments in Physics using Mathematica

Project Outline: This computational physics course consists of a suite of computational "experiments", implemented using interactive Mathematica Notebooks. The course is a "hands-on" laboratory style course consisting of nine 3 hour laboratory sessions with continuous assessment. After completing the course, students are given two weeks to work on a "take-home" examination to see how well they can apply the computational methods they have learnt during the course to new problems. The project uses our Department's third year computing laboratory which is equipped with 15 Macintosh computers running Mathematica front ends connected to the the departmental DEC alpha running the Mathematica kernel.

Computational physics is taking its place alongside the traditional disciplines of theoretical and experimental physics as a third paradigm for doing physics. It permits simulation, visualisation, and modelling of situations which are normally avoided either because of the difficulty of physical study or the complexity of the mathematical tools required.

In traditional computational courses, simulation and modelling are taught by stressing numerical techniques, whilst visualisation often requires a range of specialised software tools. This course uses Mathematica as both a presentation environment and a computational tool. Programs like Mathematica have the potential to revolutionize teaching and learning in a range of computational disciplines because their hypertext "Notebook" interface provides an environment for computation (including linking to external fortran or C code), a high-level programming language, text, graphics, animation, and sound. At the same time Mathematica is capable of, and used for, high-level computation by physicists making it, in some ways, an ideal computer assisted learning tool.

Standard texts on Computational Physics such as Koonin and Meredith (1990) teach computation by having students develop or edit procedural code fragments to model a particular physical problem or system. This approach requires the student needs to learn and understand many details of a procedural programming language such as Basic, Pascal, Fortran or C. Although learning procedural programming is very useful it can detract from the desired goal of teaching computation. A second approach, taken by, e.g., Hubbard and West (1992), is to develop custom "black-box" applications for illustrating specific physical concepts. Another approach, taken by e.g., Feagin (1994), involves using an integrated computational environment such as Mathematica. (Similar approaches are certainly possible with other high-level computer algebra systems such as Maple, see e.g., Greene (1993)).


Thomas L. Marchioro
Jeffrey R. Christiansen
uces_info@krellinst.org
17 July, 1997