The dynamical nature of NatureSean Bartz, Physics, Macalester College
There are a variety of very strong arguments for teaching computation as part of the undergraduate physics curriculum. Students are likely to need computation in any future research they might do, and computational skills are among the most desired transferable skills to the job market. However, I focus on the understanding of physical laws that is supplemented by computational thinking -- what I refer to as ``the dynamical nature of Nature."
We spend class time developing clever techniques for describing how things change, usually in the nature of calculus. The success of this program is remarkable, but it is merely one way to track these changes. When a ball is thrown into the air, does the universe ``solve'' for where it will land? Or do the forces at each point simply add up at each instant, changing the ball's trajectory until it hits the ground? From a classical Newtonian perspective, both are equally valid. In fact, if Newton had computers, maybe he would have solved problems computationally instead of inventing calculus. Our traditional in-class techniques emphasize the calculus-based method, but I want to use computation to help students understand the dynamical updating idea, which is often simpler and can be used to do more difficult problems.
Many students express discomfort with the frictionless, airless environment of typical textbook problems, but such confounding effects are easily incorporated in computer simulations. For introductory classes, I have developed tutorials using VPython as a simple method for including familiar effects from students' lived experience. How is the range of a golf ball affected by air resistance? What if a pendulum is pushed past the small-angle approximation? Now they have the tools to answer such questions, complete with an animation of the process.
In upper-level classes, I use numerical techniques to explore analytically difficult problems or to help students get a feel for abstract mathematical techniques. For example, I introduce the relaxation method for Laplace's Equation by using the class as a parallel ``computer'' to solve a one-dimensional problem by hand, with each student using the algorithm to update the potential at a single point on each iteration. After they get this granular look at the method, I have them use MATLAB to apply different starting approximations and spatial mesh sizes to the solution of a two-dimensional problem. This helps students get a grasp on an abstract mathematical approach to solving electrostatics problems.
Additionally, students know that they will never see an infinitely large parallel-plate capacitor in reality, and this level of abstraction can act as a barrier to student learning in this very abstract, mathematically-based class. Using computation lets them determine the answers for a real-world situation that they can also measure. This real-world application helps these students understand the practicality and universality of the topics we have covered in class from an analytical perspective.