Do you teach physics? Would you like a flying start with using computation effectively in your teaching? Then this workshop is for you!

Josh Rutberg, Greg Benedis-Grab, and I, and now also Paul Feffer and Frank Noschese, have been brewing up the ideas and materials for a workshop at Teachers College on Sunday, December 8th. I want to tell you what the workshop is about, why we think it’s special, and why you ought to attend.

To cut to the chase: you can CLICK HERE TO REGISTER RIGHT NOW. Or, keep reading to find out why I think that the use of computation represents an extraordinary opportunity for physics teachers.

The workshop on Dec. 8 leverages the unique power of computation instead of the usual approach to teaching introductory physics, based on algebra. We have developed this computational approach via JavaScript, the language of the Web and a superbly capable, widely-available, and easy-to-use programming language.

But first, what are the challenges inherent to teaching motion, which is the first topic in most intro courses? What’s wrong with the traditional algebra-based approach? And how might computation help us overcome these challenges? The study of motion, since the beginning of science, has generally focused on questions such as: How do objects move? And how can we best describe the motion of an object? The traditional algebra-based approach uses the method of analysis: breaking down the problem into components, that is, identifying the simplest type of motion (constant velocity), studying it intensively, and then using what we learned to attack the next-most complicated type of motion (constant acceleration: velocity changing by the same amount every second).

This approach required and gave birth to some new math (calculus) and, eventually, to Newton’s Laws of Motion, The very first step of this journey isn’t too difficult: the simplest type of motion is constant velocity. And most students, after some struggle, can use the traditional equation (d = v*t) to solve simple problems by the “plug and chug” method: substituting for two known values and solving for the remaining unknown.

However, the next step of the journey involves what is usually presented as a distinct category of motion: that is, accelerated motion, in which the speed (rather than the distance) increases by a given fixed amount every second. The traditional algebra-based approach then uses an analogy with the equation for constant velocity to introduce a new equation with a new unknown (acceleration, a) to describe the increase in velocity with time: v = a*t.

Many students get lost at this point, having difficulty keeping the distinction between v and a in mind, as well as the similarities and differences between constant and accelerated motion, and especially the similar but quite different meaning of d = v*t and v = a*t. The further abstract steps necessary to develop an equation for the distance traveled under accelerated motion (d = (1/2)at2) are extremely challenging for most students. Therefore, many teachers must resort to asking students to accept this equation on faith, leading to limited understanding of the physics, and great difficulty solving problems successfully.

How can computation possibly help? We believe that the flaw in the traditional method lies, first, in the dependence upon algebra, which many students do not understand well enough to build upon, and, second, in the initial distinction between constant velocity and accelerated motion. This distinction masks the crucial similarities among all types of motion.

We have found a way to approach kinematics via computation that offers an alternative way of tracking changes that avoids, first, the abstractions inherent in algebra, and, second, the sharp distinction between constant velocity and accelerated motion

How does this work? To describe constant velocity computationally, we use repeated addition, rather than the multiplication inherent in d = v*t. In JavaScript, we instruct the computer to repeatedly calculate “next position” by adding “change in position” to “previous position”, using a statement such as: “x = x + delta_x”. This is meaningless in algebra (for example, if x = x +1, then 0 = 1!!!) but the computer and most students understand it immediately and a computer can repeat it rapidly, with as tiny a delta_x and as many times as required.

This is in fact an extremely general and powerful way to track any type of change through repeated computation (in computer language, using a “loop”), and in the case of motion, it makes it obvious that all types of motion can be tracked and understood through the process of adding the small changes during each short time interval to the previous position.

But, you say, how does the computational approach actually handle constantly accelerated motion? Our approach is to simply add an additional command to the program, such as v = v + delta_v. This is indeed based on an analogy with x = x + delta_x, (just as v = a*t is based on an analogy with d = v * t), but the analogy is now simple and strong.

We are not asking students to understand a proportional relationship and an equation; we are simply asking students to understand that we are repeatedly addingsomething to the existing value. As a result, the program can generate the record of where the object is located, and in the case of constant acceleration, we can see that the graph of position vs time is a curve with a specific shape. Furthermore, the set of points determining the curve can be shown to be increasing in proportion to time squared. We can also test this experimentally and develop the important d = (1/2) * a * t2 relationship as a summary of real-world behavior and as the result, via computation, of assuming that the velocity increases uniformly with time.

Computation now becomes a valuable part of the toolkit for solving problems. Students can use computer programs in conjunction with traditional algebra and with the available analytic solutions. They can recognize the traditional equations as efficient ways to solve certain kinds of problems. They can also write or modify computer programs to solve problems that are no longer limited to the usual range of analytic solutions: the real-world universe of phenomena is now open to investigation via computation: including friction, many-body interactions, and much more.

Does this require some new learning? Yes – and that’s what we’re proposing to help you with on December 8th! Come to our workshop and get started with computation for teaching physics via JavaScript – we’ll have a nicely structured sequence to get you started; a bunch of teachers who use computation will be there to help beginners, and we’ll have a blast helping one another reach for a better way to teach physics!!