Student Programming in the Introductory Physics Course: M.U.P.P.E.T.


Edward F. Redish

Department of Physics and Astronomy
University of Maryland
College Park MD 20742-4111


Jack M. Wilson

Anderson Center for Innovation in Undergraduate Education and Department of Physics
Rensselaer Polytechnic Institute
Troy, NY 12180-3590

This article first appeared in the American Journal of Physics, Vol. 61, 222-232 (1993); ©1993, American Association of Physics Teachers.

It is displayed in two parts. Go to part 2.(References are at the end of part 2.)


Since 1983, the Maryland University Project in Physics and Educational Technology (M.U.P.P.E.T.) has been investigating the implication of including student programming in an introductory physics course for physics majors. Many significant changes can result. One can rearrange some content to be more physically appropriate, include more realistic problems, and introduce some contemporary topics. We also find that one can begin training the student in professional research-related skills at an earlier stage than is traditional. We learned that the inclusion of carefully considered computer content requires an increased emphasis on qualitative and analytic thinking.

I. Introduction

Since 1983, in an effort we refer to as the Maryland Project in Physics and Educational Technology[1] (M.U.P.P.E.T.), the authors and their colleagues at the University of Maryland have been studying what the impact is of introducing beginning students to programming at the start of the traditional calculus-based introductory physics course.

The computer is more than simply a powerful calculator that allows students to multiply and add more quickly. The computer adds orders of magnitudes to the individual's computational abilities. As we know well in physics, when scales change by orders of magnitude, we have to look carefully for qualitatively new phenomena.

The question we address in this paper is the following:

What is the implication of the computer for teaching physics majors at the introductory level? To answer this we must considerthe answer to two related questions:

We assume that the broad general goal of the introductory physics course is to begin to prepare students to be professional physicists as well as to introduce them to the basic physics content. We find that having the computer as part of the course affects significantly both the skills we can begin to train and the specific content.

Problems with the traditional physics curriculum

The physics curriculum as presently taught was developed over thirty years ago.[2] Although that change was a significant advance at the time, the curriculum has failed to develop since then.

This might not be a problem if physics were a static field. It is not. In the past thirty years we have seen an explosion of new understanding and power in a variety of subfields of physics ranging in scale from the substructure of the proton to the clustering of galaxies. There have even been major breakthroughs in fields long thought to be understood. Current developments in Newtonian mechanics are evolving into a theory of non-linear systems and chaotic behavior that may produce profound changes in the way we think about physics.[3]

It is not only the content of physics that has changed. The computer has changed the way the physics professional carries out his or her job. The introductory student rarely gets any hint of modern developments or of the excitement of doing physics and learning new things about the world that no one has known before. The absence of active research and exciting new areas in the introductory physics course is a serious distortion of the profession.

A second problem is that, although standard instruction introduces students to the basic content of physics, it provides almost no activities that illustrate how research is done -- the kind of work that professional physicists do day-to-day. This problem has been noted in more general circumstances by education specialists who recommend a professional education that is more like an apprenticeship than current college education.[4] Although many physics departments have programs to "get undergraduates into the research lab", in most cases their goal is to "expose" students to "real" research. That is, the students become part of an existing research project. Unfortunately, since most of them don't know enough physics to actually participate in designing the project or making research decisions, their activities tend to be menial.

To decide what activities an undergraduate needs to do to begin to understand how to become a professional scientist ,we have to analyze the differences between the activities carried out by professional research physicists and introductory students. Some of these are summarized in Table 1.

Table 1: Comparison of students' activities with those of a professional physicist
Solve narrow, pre-defined problems of no personal interest. Solve broad, open-ended and often self-discovered problems.
Work with laws presented by experts. Do not "discover" them on their own or learn why we believe them. Do not see them as hypotheses for testing.Work with models to be tested and modified. Know that "laws" are constructs.
Use analytic tools to get "exact" answers to inexact models. Use analytic and numerical tools to get approximate answers to inexact models.
Rarely use a computer. Use computers often.
To professional physicists, much of the pleasure of doing physics is associated with satisfying curiosity and learning surprising relationships and analogies of structure. Stimulating and satisfying one's curiosity requires starting with broad, naturally formulated questions and refining them successively in response to observation and analysis. Very little of this joy of the profession is present in the traditional introductory physics course. Many students entering college today, even some of those identified as among the brightest and highest achievers, have been trained to associate learning physics with rote memorization and application of memorized laws in narrowly defined situations. The traditional introductory course does little to disabuse them of these views. Students who might have become excellent research physicists change their majors because they see physics as "solved": constraining, routine, and dull.

A critical element in the activity of professional physicists, both theoretical and experimental, is getting the physics right. This means understanding which physical principles can be ignored and which must be kept given the accuracy one wants to calculate or measure. In physics, no theory or experiment ever calculates a result or measures an observable exactly, in the sense of a mathematical theorem. Physics is not an exact science, rather, it is a science where we believe we understand the accuracy of our approximation.[5] The art and creativity of the profession lie in viewing a complex situation and having the "empathy for the phenomena" to extract the simple principles that dominate the system. Because introductory students perceive that they are working with laws and problems that have exact answers, they are cut off from this fundamental aspect of the profession.

Removing the curiosity and creativity from physics often leaves it dry, obscure, and poorly motivated to the beginning student. Only the most inspiring and dedicated teachers are able to even display the presence of these components of the profession in the introductory course. To actually get the students to feel not only that the field possesses these characteristics, but that they themselves can actually perform innovative investigative physics seems like an unmeetable challenge. Fortunately, many bright students still choose physics as a profession. But fewer physics Ph.D.'s are granted today than two decades ago. Competition from sciences that didn't exist in 1960 is becoming increasingly strong. Can we continue to attract the best students if we hide from them the excitement of contemporary problems and the roles of curiosity and creativity in the profession?

Enter the computer

The primary constraint that has kept the profession from introducing more creative science at an early stage is the limited mathematical ability of the introductory student. Creative and open-ended problems using analytical tools require a level of mathematical sophistication not usually obtained by students until their third year of college. In the past decade, however, there has been an immense growth in the power and availability of computer tools and technology. More power is packed into a desktop computer the size of a breadbox than was available in mainframes thirty years ago. Programming environments have been transformed from complex line editing with batch compiling in FORTRAN to systems with full-screen editors, fast compilers, and interactive debuggers in unified, easy-to-use environments in Pascal and structured Basic. These developments open the possibility that students could be given the computer power to solve more interesting problems in the introductory course with little training.

A second aspect of computer use is that the power of the computer has become a major element in modern research physics. Doing physics with the computer is not the same as solving analytic problems and is not the same as learning to use the computer in a computer science course. In order that our majors learn to use this critical tool properly, it is important to give them an early start and specific training in solving physics problems with computers.

II. What are our goals for teaching physics majors?

Our primary goal is to transform the introductory calculus-based physics course so that students who have designated themselves as prospective majors can begin to both get training in a wide range of professional skills and develop an idea of what it would be like to be a physicist. Although there is considerable discussion among physics educators of what content to include, discussion of the general skills we are trying to teach is much less common.

Skill analysis

We analyzed the general skills we would want our students to have at the point they begin research on a Ph.D. thesis. Certainly each particular sub-discipline has particular content elements they would like students to have (such as experience with a Camac crate or ability to program fast Fourier transforms), but students who have a good grounding in strong general skills are able to successfully do research in almost any area that interests them. An outline of the general process skills required is given in Table 2.

Table 2: Skill analysis for physics students.

We define two basic skills: having a scientific framework and number awareness. By having a scientific framework we mean that the student must understand the "story-line" of science -- that science means observation, hypothesis, analysis, and testing against observation. By number awareness, we mean that the student must understand that aspects of the real world may be quantified by measurement and that the results of our mathematical analysis can tell us about what is happening (or will happen) in the real world. This skill is a sine qua non of doing physics. It is often assumed by the introductory physics teacher (incorrectly!) that students have a reasonable scientific framework. Nunmber awareness is stressed in some introductory courses.

We next add a set of theoretical or modeling skills. The first in this group are analytic skills: students should be able to write equations from word problems, to solve a variety of equations, and to interpret their results in terms of the physical world. Some aspects of these skills are stressed in traditional introductory courses. Other theoretical skills needed by physicists tend to be shortchanged in those courses, even when they are restricted to majors: estimation, approximation, and numerical skills.

These skills are essential in learning to model physical systems and to understand the implications of models built by others. Since physics is not an exact science, the "art" in the science is knowing what physical laws to apply under what circumstances and what additional complicating factors can be safely neglected. We call this "getting the physics right". It involves being able to estimate the size of an effect and to calculate corrections by understanding approximations. Today, it often involves putting physical insight into and getting it out of a complex numerical calculation. Yet these skills -- critical for both the professional physicist and the engineer -- are almost completely ignored in traditional introductory courses.

Since physics is a science whose results are continually tested and evaluated against the real world, a physicist needs experimental skills as well as theoretical ones. Majors are often trained in error analysis, mechanical skills, and given experience with a variety of devices. An experimental skill that we hope our students will develop as a concomitant part of their experimental experience is an "empathy for the apparatus". By this we mean an understanding of what is happening in an experiment, what is being measured, and where the information lies.[6] Yet this skill is primary to their understanding of what even basic physics means and how the equations we write down relate to the behavior of the real world.

Finally, there are a number of general skills that all professionals must develop. They must build an intuition for their field -- the ability to understand which tools apply in which circumstances and to have the complex network of internal checks that let them look at a wrong answer and have it not "feel" right. They must learn large-problem skills; the ability to take a significant problem and break it down into component, solvable parts in an appropriate manner while keeping track of the overall goal. They must also build communication skills. In physics, as in any field, it does not suffice to do brilliant work in a notebook or in your head. Physics, as is any field, is a social agreement of what it is we know. To interact with the community, a physicist needs to be able to present his or her results both in oral and written form in a clear and compelling fashion. This cluster of general skills is largely neglected in our professional training of physicists until they begin research in the second or third year of graduate school!

Principles of computer use

Our approach to the use of the computer in the classroom is based on three powerful principles:

  1. It is not enough to use the computer to illustrate examples from the current curriculum. We must rethink the curriculum entirely from the ground up, now assuming the availability of the computer. What can we teach with it that we couldn't teach before?

  2. The computer should not replace anything in the current environment: not the textbook, not the teacher, and not the laboratory.

  3. The student should run the computer, not the other way round.

In our approach the student must play an active role. Students must learn to use the computer in an open ended way. The computer must be a powerful servant for the student, not a master.

III. The M.U.P.P.E.T. Environment

For physics majors, our view of appropriate computer use implies that they will learn to program the computer themselves directly. In the past, this has represented a formidable obstacle to the use of the computer in physics courses. We could not expect all students to come to the course prepared to develop interesting programs, nor could we afford to devote much time to teaching programming in the physics class.

In order to overcome this barrier, we have developed modular programming materials that can be linked together by students to create sophisticated programs. With these materials built in Pascal, we were able to reduce the programming overhead for the student. Good Pascal programs are easy to read and easy to set up, so the physics and the structure of the analysis is easy to understand. We set up utilities for interactive input and for graphics output, and we provide self-documenting sample programs that allow even non-programmers to learn by example and to begin to build programs themselves without extensive training. (See Fig.1 for an advanced example.) Once they master Pascal, students can make an easy and straightforward transition to other professional languages such as FORTRAN or C.

Fig. 1 View the Pascal source for the program PROJ1D.

Description and history of the project

We began M.U.P.P.E.T. in 1983. Because physics majors at Maryland are taught in small classes separated from majors in engineering and other sciences, we decided to begin the project with those classes. The introductory course for physics majors at Maryland is a three-semester sequence (Physics 171, 272, and 273). One semester of calculus is a pre-requisite. Many students arrive at Maryland with enough calculus to begin the course as first-semester freshmen. Physics 171 is offered in two sections in the fall and one section in the spring.

The computer and student programming have been used in introductory physics for majors at Maryland since 1985. Our materials development culminated in 1988 with the production of a supplementary manual, Physics with the Microcomputer.[7] In the past three years, the M.U.P.P.E.T. materials have been used with more than 200 students in both lecture and lab sections. The materials have been revised several times over the years as a result of student and faculty input.

Informal polling of our students indicates that our physics majors enter college with a broad variety of backgrounds. About one third of our incoming majors have extensive programming experience: they can program comfortably in two or more languages. Another third can program in one language. The rest of the students have little or no programming experience. Even this group has had significant exposure to computers. Almost all the students were able to master the required programming quickly and with enough skill to do computer homework problems and projects.

Because our group is self-selected as physics majors, they tend to be somewhat better prepared and have higher incoming SAT math scores (average of verbal + math of about 1250) than our broader group of engineering majors. This suggests that our results should be interpreted and extended with some care.[8]

The utilities and libraries

The M.U.P.P.E.T. environment provides a set of utilities for handling I/O and menus and a set of libraries to simplify various tasks. The utilities package includes: