Beginning the Journey

Thomas Kelley, Physics, Northeastern University

Having been a full faculty member at Northeastern University for just over a year, I have yet to implement
many of my ideas about integrating computation into the courses I teach. Like almost all academics in the
STEM fields, I have extensive programming experience; however, I had no experience teaching computational
skills until 2013. My experience so far has convinced me that computation is an essential part of every
STEM student's education. In the following essay, I will expand on my experience, explain the challenges
I encountered, and detail the driving philosophy behind my current efforts to integrate computation into the
physics curriculum at Northeastern.
After working at MathWorks, I stumbled into teaching a graduate-level computational physics course at
UMass, Boston. I relied on Numerical Computation with MATLAB by Cleve Moler to supplement my lectures
with exercises and several deeper programming problems. During that semester, I learned that students
should be expanding simple programs to incorporate new numerical concepts. One particularly successful
program series had the students build on their rudimentary projectile motion program. They incorporated
air resistance, the coriolis effect, atmospheric density variations, and earth's curvature in a step-by-step process
as we discussed numerical differential equations and more complex control structures. The project
cuminated in designing a GUI interface for their final program. The course finished with a student-driven
research project and presentation. Students chose a research topic and designed a program that addressed a
small calculation in that field. Students produced an array of projects, from Monte Carlo programs of particle
collisions to image recognition algorithms. These projects finally helped me realize that "easy" problems
are not where numerical computing makes the biggest impact; rather, numerical computing's power is illustrated
in expansive complex problems, the same problems that push research ahead.
Designing a course on the fly requires an instructor to tackle challenges in real time. One difficulty I
encountered was the vast difference in abilities among students with no programming experience who had
trouble with a command line interface to students on the verge of publishing research containing sophisicated
computer modeling programs. The desire to offer activities that challenge and are accessible to all
the students led me to scaffold diffferent skills onto one another as in the projectile motion extension. Another
major difficulty was designing instructive problems that integrate computational skills and physics
in a non-trivial way. Many exercises couple difficult physical concepts with rote programming or complicated
programming concepts with a hint of physics. I spent too much time trying to reinvent the wheel
before realizing that adapting the rich resources available through MathWorks sites and organizations such
as Partnership for Integration of Computation into Undergraduate Physics was a viable alternative.
The challenges I encountered in my first foray into computational physics influence how I plan my
next computational project. In May of last year, I received a MathWorks microgrant to develop a new
computational course for incoming college freshmen. I have spent the last three months designing this
course, entitled Computational Problem Solving, around Problem-Based Learning strategies. I center the
programming topics around the basic concepts in introductory physics: projectile motion, rotational motion,
harmonic motion, and electric fields. In each section, students start writing a basic program and continue
to improve the code with more detailed physics using additional programming tools. By introducing the
physics and computational aspects in chunks, students will be less likely to be overwhelmed by either.
Additionally, each step will present the physics and computation aspects in a more equal proportion.
Over the next several semesters, I will create computational modules that can "plug and play" in most of
the undergraduate physics courses. As more faculty buy into the need to incorporate computational problem
solving into the subject matter itself, my hope is that these modules may become fundamental to many of
these courses. Making this happen will require hard work, persuasive arguments, and a little luck. I am at
the beginning of my career and up for the challenge.

Downloadable version of this essay