A Flexible Text in Computation for

Undergraduate Physics Majors

Text of Talk Delivered at the Summer Meeting of the
American Association of Physics Teachers
California State University, Sacramento, CA
4 August 2004
Session FG, Paper FG01

David M. Cook
Department of Physics
Lawrence University
Box 599
Appleton, WI 54911-5626


Email: david.m.cook@lawrence.edu

Department website: http://www.lawrence.edu/dept/physics

Project website: http://www.lawrence.edu/dept/physics/ccli


For about fifteen years, use of graphical, symbolic, and numeric computational tools throughout the Lawrence undergraduate physics curriculum has steadily increased. NSF CCLI-EMD grant DUE-9952285 has supported the refinement and completion of a flexible text based on these developments at Lawrence but designed to support efforts of many departments to embed computation in their undergraduate programs, even when those departments use different software packages on different hardware platforms than those in use at Lawrence. The end result has benefitted from the comments of 70 physics faculty members who participated in one of four week-long summer workshops held at Lawrence and from beta testing by a few of those individuals at institutions around the country. Detailed information about the project and the resulting text is posted on the project web site, www.lawrence.edu/dept/physics/ccli.


The project on which I am reporting today had its origins in the mid 1980s when we at Lawrence decided that, to be properly prepared for their future careers in physics, our majors needed to have a substantial exposure to computational approaches to problems alongside the more traditional analytic approaches and they needed to have that exposure early enough so that we could require them to use computational resources in subsequent courses and so that they would have the knowledge and confidence to use those resources on their own initiative whenever it seemed to them appropriate to do so. In developing what we have come to call a signature program in computational physics, my activities have been supported by grants from the National Science Foundation in 1988, 1993, and 2000, grants from the W. M. Keck Foundation in 1988, 1994, and 2002, and funds from Lawrence University. In the first decade, activities focused on acquiring hardware and software, developing a succession of curricular modifications, and generating numerous---ultimately 65 or 70---documents that described the features of the operating system and the several acquired software packages and illustrated how to apply those software packages---both symbolic and numeric---to selected representative problems drawn from several different subareas of physics.

By late 1998, it was clear to me that I should be trying to export our developments to the wider community---a realization that prompted the submission of the Educational Materials Development proposal that is the primary focus of this talk. The proposed activity had three major components:

I wish this afternoon to spend a few minutes discussing each of these components. First, however, I want to review briefly the curriculum which the text supports.

Curricular Structure

Each year, students at Lawrence take three courses in each of three ten-week terms. Freshman prospective majors encounter LoggerPro, Kaleidagraph and Excel for data acquisition and analysis, curve fitting, and graphical visualization. Fall-term sophomores encounter Electronics Workbench for circuit simulation; in a relatively new course titled Computational Mechanics (which I described in a poster mounted yesterday), winter-term sophomores experience a concentrated exposure to IDL, MAPLE, and LaTeX for solving ODEs, evaluating integrals, visualizing functions graphically, and preparing neatly printed problem solutions; and spring-term sophomores continue to use IDL and MAPLE for graphical visualization and for numerical solution of Laplace's equation in Electromagnetic Theory. Junior/senior courses in quantum mechanics, plasma physics, advanced mechanics, computational physics, and mathematical methods make further explicit use of computers. In addition, at all points in our curriculum, students are free to use the resources of our Computational Physics Laboratory (CPL) whenever they deem it appropriate or useful, and many do so in Advanced Laboratory, in senior independent projects, and many other contexts. Indeed, our primary objective in incorporating an early (sophomore)---and substantial---explicit introduction to computation is to make sure our students develop sufficient skills early enough in their studies at Lawrence to assure that, ultimately, they will have the necessary knowledge and the personal confidence to pursue computational approaches fluently, effectively, and independently on their own initiative. Our curriculum and the text which is the topic of this talk evolved together, and the text has played an important role in supporting our curricular developments.

The Text

Primarily, my CCLI-EMD grant supported standardizing the format of and expanding the extensive library of instructional materials developed at Lawrence into a flexible publication as a resource for other institutions. The bulk of the writing took place during the summers of 2000, 2001, and 2002 and during a sabbatical year early in the grant. In the summers, student assistants drafted solutions to representative exercises. Thus, in the end, the project has generated not only a book titled Computation and Problem Solving in Undergraduate Physics (CPSUP), which runs to about 900 pages if all components are included, but also an accompanying manual containing solutions to nearly 200 representative exercises.

The essential idea for the book emerged from a recognition that the background for and setup of particular problems to be addressed with a computer are independent of the specific hardware on which and software package with which the solutions would be pursued. Thus, I reasoned, it ought to be possible to create a single book that could be produced in various versions. The book would be assembled from generic components that would be common to all versions and software-specific components, different subsets of which would appear in different versions. At the coarsest level, that flexibility is illustrated in the table of contents. Chapter 1 stands alone; Chapters 2 and 3 introduce the general features of two common array processors; Chapters 4, 5, and 6 introduce the general features of three different computer algebra systems; Chapters 7 and 8 introduce a programming language and the numerical recipes library; Chapters 9, 10, 11, and 12 address several important categories of computational processing; and the appendices introduce a publishing system and a program for producing drawings. Any particular version would include at least one of Chapters 2 and 3 and one of Chapters 4, 5, and 6, and Chapters 9, 11, and 12---though these last three would be assembled with only those components that illustrate the programs included in the selections from Chapters 2--6. Chapters 7, 8, and 10, the associated sections in Chapters 9, 11, and 12, and the appendices would be included only if desired by the end user.

This overhead shows the table of contents for Chapter 3, which is representative of the early chapters, each of which focuses on an individual application program, adopts a tutorial, self-study style and leads the reader through an exploration of the main features of the corresponding program. Though these chapters draw their examples from physical situations and conclude with numerous physically oriented exercises, they still focus on the capabilities of the application program rather than on the physics illustrated in the examples. Their format reflects my conviction that students must first focus attention on the application program itself before being ready to use the program to address problems in physics.

In contrast, this overhead shows the table of contents for one of the later chapters, each of which focuses on a particular computational technique. Each of these chapters begins with a section that sets six to eight representative physical problems, the successful addressing of which benefits from exploitation of the computational technique with which the chapter deals. Subsequent sections describe how one might use a symbolic tool in application to some of the problems set in the first section, describe appropriate numerical algorithms generically, and then illustrate how those algorithms can be invoked from a variety of application programs. Each chapter concludes with numerous exercises. While the objective is for students to become fluent in the use of a spectrum of computational tools---and the chapters are organized by program or by computational technique, the focus throughout is on physical contexts.

This transparency moves us one step further down in the overall structure and shows the list of sample problems for Chapter 11. They range over several subareas of physics and reveal that evaluation of integrals, perhaps as functions of one or more parameters, plays an important role in many areas of physics.

Even among sites that use the same spectrum of hardware and software, however, many aspects of local environments---some of them shown in this overhead---are still unique to individual sites. CPSUP does not constrain local options in these matters. Throughout the book, individual users are directed to a local guide for site-specific particulars. A template for that guide, specifically the one used at Lawrence, is included in the supplementary materials available to each user, but it will require editing to reflect local practices.


For purposes of both evaluation and dissemination, my CCLI-EMD grant also supported four week-long summer workshops. In each workshop a student assistant and I guided the participants through a week's worth of exercises that familiarized them with the Lawrence computational environment, with the primary features of IDL or MATLAB (1 day), and of MAPLE or MATHEMATICA (1 day), and then with applications of these programs to address problems in physics involving ordinary differential equations (1 day), evaluation of integrals as functions of parameters (1 day), and finding roots (1 day). A total of 70 faculty members representing 66 distinct physics departments from around the country participated in these workshops and provided feedback on the growing manuscript. A few served as beta testers.

Dissemination also occurred as a consequence of seven papers presented (or scheduled for summer, 2004) by the PI at six national meetings and occasional announcements emailed and/or US-mailed to the chairs of departments offering the bachelor's degree in physics and to others on an accumulating list maintained by the PI.

Publishing Strategy

I have separated remarks about publishing the product from discussion of the product itself. The customizability of the book as I envisioned it from the beginning has turned out to be a problem for commercial publishers. Despite assurances to the contrary at the beginning, one publisher, with whom I actually signed a contract very early on in the project, ultimately concluded that their processes could handle only chapter by chapter inclusions or omissions, not the more microscopic section by section customization I required. That publisher and I have parted company, and I am again searching for a commercial publisher that can provide both the customizability and the capacity to respond economically to orders for a relatively small number of copies.

In the meantime, I have embarked on a self-publishing venture. From my perspective, the process of producing a PostScript file containing the generic components and the selected software-specific components is almost trivially easy: I create a file containing true/false values for eleven flags, run LaTeX twice, run makeindex, run LaTeX a third time, and run dvips---and the PostScript file for a 400--900 page book is in hand after about five minutes of processor time!!! For the actual printing, I transmit the file electronically to a local office of Sir Speedy, which feeds it as input to a massive machine that digests the file and produces bound copies as output, all without human intervention. The process is economical even for as few as half a dozen copies. My project website has a web-based form that potential buyers can use to submit a request for a quotation and can then send a PO for the actual order. Copies can be produced and delivered in about three weeks. During 2003--04, CPSUP was adopted for class use at six institutions and I have received requests for quotations for the fall term of 2004--05 from four institutions.

I do not, of course, have the resources to provide free examination copies. However, last fall, with permission of the program officer, I used funds remaining in the grant to print a dozen copies of each of four different versions and then, again with a web-based form, offered to send examination copies to any physics faculty member who requested one (with the understanding that the copy would be returned after 60 days or bought---so the funds would be available to produce additional copies when the first printing was exhausted). The availability of CPSUP, both for purchase and for examination, has been announced now twice by sending an email to the chairs of the 750 or so departments in the US that offer the bachelor's degree in physics and to about 150 other individuals who have at one time or another expressed interest in my work. To date, one or another version has been sent for examination to individuals at 30 departments around the country.

The Post-Grant Years

About a month ago, I submitted my final report to the NSF. Official termination of the grant, of course, does not mean cessation of related activities. I will continue to seek a commercial publisher and will continue with self-publication as long as necessary. Computational Mechanics will continue to be taught every year at Lawrence, and Computational Physics will be taught every other year. In the context of the latter course, I have already begun to craft additional chapters on approaches to partial differential equations, on MUDPACK, and on MARC/MENTAT. In the longer term, a second edition of CPSUP is likely, that edition to add to its present topics not only partial differential equations but also data analysis, curve fitting, Fourier analysis, image processing, and cellular automata. Further, additional software packages (particularly OCTAVE, which is a shareware version of MATLAB, and MAXIMA, which is a shareware version of the now unavailable MACSYMA, and MathCAD) may be incorporated by including chapters specifically on these packages and by adding sections illustrating the use of these packages in other chapters. Once the format of the files has been fully finalized and the process of production perfected, other individuals than the original author may well be able to contribute components to the spectrum of those available for selection by end users.

Getting More Information

Details can be found on my project website. I have with me a copy of the version of CPSUP used at Lawrence, a copy of the supplementary Local Guide for orienting students to our computational environment, a copy of the notes I have written for the course Computational Mechanics, and a copy of the syllabus for that course. I would be happy to show these items to anyone interested.