Gas station without pumps

2013 July 4

Caballero on teaching physics with computation

Yesterday, Danny Caballero left a comment on my blog with pointers to three preprints of papers he’s been a co-author on:

I couldn’t agree more with the overall sentiment in this post. Computing is important for all students of science and for science teachers. However, as you say, I do think my dissertation work has been misconstrued a bit in this post. So, let me clarify.

The inventory you mention measures a small slice of mechanics taught in introductory physics. It’s been an important slice, but maybe now it’s time to think beyond it. What are students learning above and beyond this assessment? In M&I, they are learning about modeling, computing, and connecting the two. My work shows that the present implementation of M&I doesn’t produce great gains on this assessment, that students make mistakes in their code, and that they are less inclined towards computing after instruction.

So what? We are getting to teach students how science is done and they are using computing to investigate models. Now, this implementation is not the most polished one, which means we have a good way to go. But, that’s OK, because we are not going to fix all these issues overnight. We have been working on them for the last two years in various contexts. But, we need to figure out how to teach science and computing together. And we need to figure out how to do it well.

So, I’ll point you to a few other publications on computing in physics that I’ve written. Two concern high school, and another deals with physics majors. The high school work shows we can implement ideas from my dissertation work at the high school level (as others are doing). Moreover, we find that students who know physics and computing ideas can make good models of systems and are not memorizing lines of code. In my dissertation work, we didn’t do any qualitative work like student interviews, but it’s clear that doing so is necessary. The work with physics majors is one of the first forays into integrating computing in upper-division physics. We show that a new model for implementation can positively affect student attitudes.

High School:


This morning I read his three papers.  They all describe prototype courses that use computational modeling to teach physics, with some analysis of the outcomes.  They are not controlled experiments, but prototyping proof-of-principle projects (as are most educational research “experiments”).  This is not a criticism of the papers—one generally has to do a lot of prototyping before arriving at a method that is robust and repeatable enough to be worth the difficulty and expense of controlled experiments.  Engineers see the need for prototyping, but too many people in other fields think that things have to work perfectly the first time or be discarded forever.

These papers bracket the previous work Danny did that studied computational modeling for first-year calculus-based physics.  The two high-school papers are about a 9th grade physics class that uses the Modeling Instruction approach to teaching physics, to which was added computational modeling using VPython.  The “upper-division” paper discusses adding computational modeling to a 2nd-year classical mechanics course for physics majors, following a traditional 1st-year calculus-based physics course.

I was a little unclear on the level of the 9th-grade course.  In one place he refers to it as “conceptual physics”, but in other parts of the description it sounds more like an algebra-based high school physics course (covering the mechanics half of AP Physics B), a step-up from conceptual physics.

From his description, it seemed fairly straightforward to add a computational component to the Modeling Instruction approach, and it helped students see that all the different “models” taught in that approach are really special cases of the same underlying general model.  They used Vpython with a couple of additional packages (PhysKit and PhysUtil) to make creating graphs and motion diagrams easier for beginning programmers.  The additional packages allow lines like

    graph.plot(t, cart.pos.x)

in the inner loop, simplifying the usual VPython interface a bit.

It sounds like the students were finishing the course with a mix of students who knew what they were doing and those who still hadn’t quite grasped the physics or hadn’t quite got the programming.  He did try analyzing some of the student work to see whether students were having difficulty with the physics or VPython for making the simulations, but I found the results hard to interpret—raw numbers don’t mean much to me, because I don’t have a good prior expectation of what 9th graders at a private high school should be able to do.  I’m curious whether difficulties with programming correlated with difficulties in understanding the physics, and whether grading the computational homework gave insight into the misconceptions the students had about the physics.

One of the strong points of the computational approach is that it allowed the students to model phenomena usually beyond the scope of 9th-grade physics (like a soccer ball with linear drag forces).  I found this to be the case for calculus-based physics also, where we modeled pendulums without the small-angle approximation (problem 4.P.89 in Matter and Interactions) and the magnetic field lines of a helical solenoid.

Some of his observations are unsurprising: “Students find debugging their programs difficult; that is, they have trouble determining whether they have made a coding error or a physics error and how to deal with that issue. ”  He also noticed that some students found installing the software difficult—I believe that the VPython developers have been working on that problem, though it is not yet at the level where all 9th graders will find it easy.

Personally, I’d like to see the physics simulations for high school students use computations with units throughout—this would help them catch a lot of their physics errors earlier.  I see this lack of units as one of the biggest flaws in VPython as an instructional tool for physics.  I’ve blogged about this before in Physics with Units, and I’ve done some VPython programming using Unum.  Unfortunately, the Vpython plotting and animation code does not play nicely with Unum, and having to strip out the units before plotting or drawing negates most of the advantages of keeping units around. I realize that for professional physics simulations, units are always implicit (in comments and variable names) rather than explicit, because that makes more efficient use of the computer, but for instructional purposes explicit units would be worth the inefficiency.

The 2nd-year classical mechanics course used Mathematica to solve ordinary differential equations (ODEs), and provided only minimal instruction in Mathematica.  The main improvement to the course from my perspective was the addition of a final project that allowed students to study an open-ended physics question of their own choice using computational modeling.  This improvement was discarded in subsequent offerings, because it required too much instructor time. Caballero wrote, “For junior and research-focused faculty, the computational project is a significant investment of their time and energy given the large enrollment in CM 1. Developing authentic, scientific experiences for students that can be sustained with little faculty input is challenging.”

This is a theme that I see repeatedly in course design in all disciplines and at most universities: the really good parts of prototype courses take a lot of instructor time and get discarded.  I think that the goal “sustained with little faculty input” is a wrong goal, but it is one shared by many faculty and administrators, who think that teaching is a burden that should be given as little effort as they can get away with. I’ve decided, rather deliberately, not to design my courses that way, but to design them around high faculty involvement.  I believe that the value of a University education depends on high-contact courses, and I’m willing to resist the MOOCification of the university at least in my own courses.  This does take a lot of my time, and I’ve given up on writing grant proposals to make the time—not a choice that most junior faculty could afford to make, given that promotion these days is based more on how much money is brought in than on the quality of teaching or research.

2012 April 29

Tuition scholarships for Modeling Instruction Workshops

Filed under: Uncategorized — gasstationwithoutpumps @ 13:11
Tags: , , ,

This short post is just to pass along the news that there are 35 tuition scholarships available for high-school science teachers to attend one of the ASU modeling-instruction workshops this summer.  More information at Great News: Tuition Scholarships for Modeling Instruction Workshops | Action-Reaction and about the workshops themselves at

Note: I’m just passing on this information—I know nothing more about it than what I have posted here.

2012 February 29

Modeling Instruction

Filed under: home school — gasstationwithoutpumps @ 18:32
Tags: , , , ,

In my reading of physics teacher blogs, one pedagogic buzzword comes up over and over “Modeling Instruction”. I got some pointers to papers in a comment by Jane Jackson, when I asked for references about peer instruction (a somewhat broader buzzword).

Unfortunately, I’ve found most of the papers on modeling instruction to be rather long, wordy, and not very useful for telling me what the technique was.  (They are heavy on measuring that the technique is useful, without actually saying what the technique is.)  I found Hake’s comments on the ap-physics mailing list and his web pages so aggressive and unhelpful that I could not bring myself to read more than one of his papers.  I got some useful information (about a page or two worth) out of the 32-page
Malcolm Wells, David Hestenes, and Gregg Swackhamer
A Modeling Method for high school physics instruction
Am. J. Phys. 63 (7), July 1995, 606-619.

The content can be pretty well summarized by their “box 2”:

The Modeling Method aims to correct many weaknesses of the traditional lecture-demonstration method, including the fragmentation of knowledge, student passivity, and the persistence of naive beliefs about the physical world.

Coherent instructional objectives

  • To engage students in understanding the physical world by constructing and using scientific models to describe, to explain, to predict, to design and control physical phenomena.
  • To provide students with basic conceptual tools for modeling physical objects and processes, especially mathematical, graphical and diagrammatic representations.
  • To familiarize students with a small set of basic models as the content core of physics.
  • To develop insight into the structure of scientific knowledge by examining how models fit into theories.
  • To show how scientific knowledge is validated by engaging students in evaluating scientific models through comparison with empirical data.
  • To develop skill in all aspects of modeling as the procedural core of scientific knowledge.

Student-centered instructional design

  • Instruction is organized into modeling cycles which engage students in all phases of model development, evaluation and application in concrete situations—thus promoting an integrated understanding of modeling processes and acquisition of coordinated modeling skills.
  • The teacher sets the stage for student activities, typically with a demonstration and class discussion to establish common understanding of a question to be asked of nature. Then, in small groups, students collaborate in planning and conducting experiments to answer or clarify the question.
  • Students are required to present and justify their conclusions in oral and/or written form, including a formulation of models for the phenomena in question and evaluation of the models by comparison with data.
  • Technical terms and representational tools are introduced by the teacher as they are needed to sharpen models, facilitate modeling activities and improve the quality of discourse.
  • The teacher is prepared with a definite agenda for student progress and guides student inquiry and discussion in that direction with “Socratic” questioning and remarks.
  • The teacher is equipped with a taxonomy of typical student misconceptions to be addressed as students are induced to articulate, analyze and justify their personal beliefs.

That was all very well, but still rather vague. There was an example running for several pages, but it didn’t help me much in seeing what characterized “modeling instruction”. Perhaps others would find it more informative.

I finally got a more satisfying answer from the ap-physics mailing list where I was directed to a series of blog posts: Salt The Oats: FIU Modeling Workshop.  These posts by Scott Thomas are reflections on a workshop that he took in June and July of 2011.  He offers the disclaimer

… if this interests you, please go to the workshop, don’t just rely on me.  Even after only one day I can tell that my recount will mean nothing for you without you attending.

Since I’m only planning on teaching physics once (and am almost halfway through), I’m unlikely to attend a two-week workshop, so reading Scott’s notes are about as close as I’m going to get.  His descriptions are fairly detailed, and I think I have a better idea of what modeling instruction involves from his description than from any of the more formal papers I’ve been pointed to.  (I’m not knocking the papers—they provide the evidence that the technique works—they just don’t provide enough information about the technique to come close to duplicating it.)

It is already too late for me to use some of the “modeling instruction” principles.  The students I have do read the book and understand the math, so much of the effort of getting the students to develop their own models would not be productive—they’d jump immediately to the “right” model and just verify that their data fits it well enough.

I am trying (now) to get the two students to work together to set up and solve problems and to design labs (rather than my designing the labs)—we’ll see how that goes.  And I am trying to get them to use a more standardized layout for problem setup: drawing the free-body diagram, listing the initial and final state, writing out the appropriate fundamental equations.  I don’t know how much it is helping, as the students were already pretty high performing and good at setting up the right model without much fumbling around.  As we get to more complex problems, though, they may need a more disciplined approach, so I’ll try to provide the appropriate framework of generic questions and general-purpose tools (like free-body diagrams).

At least I was, from the beginning, using an approach that minimized memorization and re-derived things as much as possible from a few key formulas. I’ve always hated memorization (which is part of why I was a math major as an undergrad—almost no memory work). The textbook I’m using, Matter and Interactions, supports that approach pretty well—I believe that the authors were trying to get a bit of the modeling instruction flavor into their text (though the videos of Ruth Chabay’s lectures are very much a traditional lecture-demo style).

I am thinking about how much of the “modeling instruction” approach could be adapted for teaching introductory programming to biologists (my most challenging pedagogic task for next year). High-school and first-year college physics has only a few key concepts (the “models” of modeling instruction), and most of the effort in physics classes is in getting students to learn to do problem solving using that handful of models.  Are there equivalent key concepts in introductory programming?  Or are the problems beginning programmers have more like those of beginning biologists: too many unrelated factoids?  I think that programming is more like physics than like biology, with relatively few key concepts, applied to solve a wide range of problems, but that might be an unfamiliar way of thinking for the biology students who will be in the class.  So if I can find an approach that has the strengths of modeling instruction but applied to programming rather than physics, I’ll have a chance at getting most of the students to an acceptable level of programming skill.

%d bloggers like this: