Tag Archives: computational modeling

OSMOCES 2013: Computational Modeling with VPython

If you are in my OSMOCES 2013 session on Computational Modeling with VPython and want to try the models as we go, here are the three links to you need to get setup:

Install VPython for your system and download my vpython-physics repository from GitHub.

If you referring to these materials later or just browsing, here are the slides I shared.

OSMOCES 2013 Computational Modeling by gcschmit

I also shared several links to other resources, textbooks, papers at the end. They are reproduced here to make navigation easier.

AP Physics B Reflections and Plans for Next Year

I’ve been collecting my thoughts on this past year throughout the summer. Since I’m about to start a new school year, now is a good time to review these reflections and share my thoughts and plans for the upcoming year.

This past year was the first year that we officially offered AP Physics B. In previous years, I’ve taught a one-semester Advanced Physics course which covered those topics that are part of the AP Physics B curriculum that were not covered in Honors Physics. So, while a full-year class was new, the content was familiar. Another significant difference between the old Advanced Physics course and the AP Physics B course was the pace and the prior background of the students. Advanced Physics moved at a lightening pace with no review of topics previously covered in Honors Physics. The AP Physics B course, covers all topics that are part of the curriculum, even those covered in previous physics classes. This allows students that have previously taken either General Physics or Honors Physics to be successful in the class. I was pleased that about a third of the students enrolled in AP Physics B had taken General Physics the previous year.

I tried several new ideas in AP Physics B. Based on student feedback, the most successful activity was peer instruction. I specifically followed the techniques in the article Combining Peer Discussion with Instructor Explanation Increases Student Learning from In-Class Concept Questions to maximize the effectiveness. All questions selected were conceptual. I found that conceptual questions lead to more lively discussions among students and, historically, my students have struggled more with conceptual questions than quantitative problem solving questions. The questions were a combination of Paul Hewitt’s Next-Time Questions and clicker question banks from University of Colorado Boulder and Ohio State University. I started using clickers from Turning Technologies, but transitioned to the Nearpod app on iPads. Students preferred the Nearpod app since they could read the questions off their screen rather than off the projected screen. I was very pleased with the level of student engagement, discussion, and debate during these peer instruction activities. I will continue peer instruction next year and we are expanding its use to our revamped Honors Physics class this upcoming year as well.

While students shared that peer instruction was the most effective class activity, their favorite activity was the capstone. I previously shared the capstone projects. We will do capstones at the end of the fall semester again this coming year. In addition, we will be doing capstones at the end of the spring semester in the revamped Honors Physics class.

Another significant change was providing one or two quizzes for each unit. Feedback from students in Honors Physics and insights by other physics teachers to a previous post, helped me to realize students needed additional formative assessments in order to accurate measure their understanding of the current unit. These quizzes were scored by the students in class (not for a grade), which provided insight into how AP problems were scored, and copies of solutions were immediately distributed. Often, I would collect the scored exams to flip through them and note which students were struggling and which concepts needed additional class time. I believe these quizzes worked well since they provided students with a clear and immediate feedback as to whether their level of understanding was where it should be well before the unit exam. As a result, fewer students needed to take advantage of reassessment opportunities after unit exams in AP Physics B than in Honors Physics. These formative quizzes are another activity that we will be incorporating in the revamped Honors Physics class this upcoming year.

The fourth new activity I introduced in AP Physics B was computational modeling. For most of units that focused on mechanics, we explored and extended computational models. We had mixed success with computational modeling. Several students struggled to come up the learning curve with the limited amount of class time that we dedicated. The most successful activity was using VPython to model projectile motion for an early lab. This activity was successful because of the additional time provided and the clear utility of using the computational model to solve a problem not easily solved in other ways. Despite the mixed success, I’m going to continue exposing my AP Physics B students to computational modeling. I may be a bit more selected in which units we explore the models and perhaps spend more time on those specific models.

Looking ahead to the upcoming year, I’m going to change very little. Overall, I’m very pleased with how last year went. In addition, we are making major changes to Honors Physics (upcoming post) and I’ve made a lot of changes to AP Computer Science. Next summer, I’ll restructure AP Physics B into the new AP Physics 2 class; so, I’ll wait until then to make any major changes.

Computational Modeling with VPython

The second session I led at the DuPage County Science Institute was on Computational Modeling with VPython.

I tried to explain what computational modeling is and how it is more than just programming. I then encouraged teachers to use computational modeling in their classroom and shared why I think it improves student learning.

We used VPython and the physutils package.

We started with John Burk’s 1-dMotionSimulation.py example. I then asked each teacher to modify the model in some way and observe the results.

I then presented several starting examples that I created for my AP Physics B class and shared how students built upon these examples to solve everything from homework problems to their projectile motion lab practicum.

I left lots of time for teachers to explore these starting examples and help each other and get help from me. I saw teachers unfamiliar with Python create some pretty cool models in very little time.

Here are the slides I used to introduce computational modeling:

Computational Modeling with VPython by

Here are the links to the resources that I displayed at the end of the session:

Projectile Motion Lab Practicum and Computational Modeling

In my AP Physics B class, I’m reviewing all of the material on the AP exam even though all of the students studied some of this materials last year in either Physics or Honors Physics. When we do have a review unit, I try to keep it engaging for all students by studying the concepts from a different perspective and performing more sophisticated labs.

When reviewing kinematics, I took the opportunity to introduce computational modeling using VPython and the physutils package. I started with John Burk’s Computational Modeling Introduction and extended it with my experiences at Fermilab where computational modeling plays a role in everything from the optics of interferometers to the distribution of dark matter in the galaxy. I then provided students with a working example of a typical projectile motion model and let them explore. I encouraged them to extend the model to have the projectile launched with an initial vertical displacement.

Later that unit, I introduced the lab practicum which was based on a lab shared by my counterpart at our neighboring high school. The goal of the lab was to characterize the projectile launcher such that when the launcher is placed on a lab table, the projectile will hit a constant velocity buggy driving on the floor, away from the launcher, at the specified location. The location would not be specified until the day of the lab practicum. No procedure was specified and students decided what they needed to measure and how they wanted to measure it. I also used this as practice for writing clear and concise lab procedures like those required on the free response section of the AP exam.

All groups figured out that they needed to determine the velocity of the car (which some had done the previous year) and the initial velocity of the projectile. Some groups used a technique very similar to the previous year’s projectile motion lab where a marble is rolled down a ramp and launched horizontally. These groups fired the projectile horizontally from atop the table and measured the horizontal displacement. Groups that calculated the flight time based on the vertical height were more accurate than those that timed the flight with a stopwatch. Another group fired the projectile straight up, measured the maximum height, and calculated the initial velocity. This group was particularly successful. Another group attempted to use a motion sensor to measure the initial velocity of the ball as they fired it straight up. The motion sensor had trouble picking up the projectile and this group’s data was suspect. A couple of other groups fired the projectile at a variety of angles, timed the flight, and measured the horizontal displacement. Some of these groups later realized that they didn’t really need to perform measurements at a variety of angles. After gathering data and calculating the initial velocity of the projectile as a group, I asked the students to practice calculating their launch angle based on a sample target distance. I hadn’t really thought this lab through and didn’t appreciate how challenging it would be to derive an equation for the launch angle as a function of horizontal displacement when the projectile is launched with an initial vertical displacement. It wasn’t until that night that I appreciated the magnitude of this challenge and then realized how this challenge could be used to dramatically improve the value of this lab.

Most students returned the next day a bit frustrated but with an appreciation of how hard it is to derive this equation. One student, who is concurrently taking AP Physics B and AP Physics C, used the function from his AP Physics C text successfully. Another student amazed me by completing pages of trig and algebra to derive the equation. No one tried to use the range equation in the text, which pleased me greatly (the found candy discussion must have made an impact on them). As we discussed how challenging it was to solve this problem, I dramatically lamented, “if only there was another approach that would allow us to solve this complex scenario…” The connection clicked and students realized that they could apply the computational model for projectile motion to this lab. Almost all of the groups chose to use the computational model. One student wrote his own model in Matlab since he was more familiar with that than Python. With assistance, all groups were able to modify the computational model and most were successful in hitting the CV buggy. One group dressed for the occasion:

students ready to launch

Students’ reflections on this lab were very positive. They remarked how they appreciated learning that there are some physics problems that are not easily solved algebraically (they are accustomed to only being given problems that they can solve). They also remarked that, while they didn’t appreciate the value of computational modeling at first, using their computational model in the lab practicum showed them its value. I saw evidence of their appreciation for computational modeling a couple of weeks later when a few of the students tried to model an after-school Physics Club challenge with VPython. For me, I was pleased that an oversight on my part resulted in a much more effective unit than what I had originally planned.