This summer, I reprogrammed the Scribbler 2 Robot from Parallax Corporation to be a physics apparatus. (I intend the robot project itself to be the subject of a future blog post.). In this post, I describe three similar lab-practical exercises with the robots. In all three tasks, students programmed a robot with a graphical user interface so that it’s motion matched another robot. In the first, students programmed their robot with a position vs. time graph so that it matched one programmed by me. In the last two exercises, they programmed a robot with one graph (position vs. time or velocity vs. time) and the second robot with the other.
Each lab in the sequence also carefully introduced one additional concept for students to add to their pre-existing mental structure. The first task was student’s first encounter with motion in the negative direction, so the term velocity was introduced in the post-lab discussion and distinguished from speed. The second task challenged students to use a velocity vs. time graph for the first time. The third task provided more practice with velocity vs. time graphs and also introduced the concept of area under the curve. The whole sequence took six 45-minute periods of class time. The principle of introducing new information in carefully graduated amounts is another feature that distinguishes modeling instruction from teaching methods that would instead introduce all these ideas at once.
These types of exercises where students must change representations, for example here from position to velocity graphs or vice-versa are powerful tools for revealing whether students have built a coherent model of the phenomenon. If students work primarily or exclusively with just one representation – and most commonly in physics classes this is equations – then the work can easily become rote and mechanical. Using the robots, students are maintaining a strong connection to the motion itself while changing representations. When their graphs didn’t match, the conversation about how to fix it was never confined to language about the graphs, as in “When this graph has a slope, this graph is horizontal.” Even their graph-matching mistakes generated further discussion about how the graph related to the observed motion.
Lab Practicum 1: Using a Position vs. Time Graph to Match a Pre-programmed Robot
I programmed each group’s first robot to go forward and back at different speeds and for different times and stop in the middle, and I broke the student’s task down into three phases. First, they had to program their second robot with the correct graph shape (so that it went forward and back, fast and slow and stopped in the same order as the first one, without necessarily matching it exactly). Second, they had to get their second robot to match the first one exactly by taking the smallest possible number of measurements. Third, they had to calculate the slope of each graph segment, with units, and show the graphs and calculations on their whitebaords. The following videos and graphs document one group’s problem-solving process. (I described the graphical user interface and the simple process the students use to program the robot in a previous post.)
- Graph shape test. Notice that the two robots do the same actions in the same order, but the timing and speeds are not identical.
- Quantitative test. (The initial picture is the position vs. time graph the group used to program the robot.)
Here’s the quantitative test for a second group
and a comparision of their shape-matching graph and their final quantitative graph.
The full class discussion adhered to the principle of concept first, name afterwards, as the students calculated the slope, found it to be negative, and explained that this meant the robot was going backwards. Only after contrasting this with the speed, which is always positive, was the term velocity introduced. In addition, I also had each group run their robot for the class so that the rest of the students could vote on which graph from the set below matched the observed motion. This generated several productive discussions about how to tell which graph shape matched which motion. Students were also sharpening their observation skills in a way that just doing a textbook exercise and describing the motion in words cannot do.
Task 2: Position vs. Time Graph to Velocity vs. Time Graph
(introducing the velocity vs. time graph)
I instructed students to program one of their robots with a complicated 4-segment motion using a position vs. time graph. Their task was to program their second robot using a velocity vs. time graph so that its motion would exactly match the first. Once again, I suggested matching the graph shape first, although most groups calculated the slopes of their position vs. time graph first and used that information to help construct the velocity vs. time graph. Here are graphs and video documenting one group’s problem-solving process.
- This graph shows the position vs. time graph the group created for their first robot.
- The thumbnail of the video below is the velocity vs. time graph the students used to program the robot. The video compares the resulting motion of the two robots. Notice that the first segment of the velocity vs. time graph slants upwards, making it a copy of the position vs. time graph. In fact, the entire velocity graph is a copy of the position vs. time graph with the exception of the second segment, where the students realized that the velocity must be zero if the robot is not moving. The students were surprised that copying the graph did not lead to matched movements. It is my hope that this experience will serve as an anchor helping to rid them of the graph-copying misconception, which in past years I have found to persistently linger for most of the year for many students.
- Here, the student’s were just testing the first segment. Their idea was to try a downward-sloping line, since the upward-sloping one did not work. The thumbnail below shows the velocity graph, and the video shows the resulting motion. They noticed that the upward-sloping line made the robot speed up and the downward-sloping line made it slow down. This led to an examination of how graphing velocity was different than graphing position and finally to the correct graph and test.
- This group was able to get to the correct idea themselves by generating and testing hypotheses and discussing with each other, so I did not have to talk to them much after the successful test, as they had all been involved. I witnessed the tests, but did not otherwise offer suggestions or guide them through the process. With other groups, one individual would make more of the intellectual leaps or do more of the work and I had to make sure that all the group members understood why the segments on the velocity graph had to be horizontal. There were also one or two groups that needed a lot more guidance from me. I’ll write more on these groups in another blog post.
This process was a typical of the stages every group had to go through before finally figuring things out, although one or two were able to discard slanted segments in favor of horizontal ones without first doing a test, and most groups did not have to test both upward and downward sloping lines before reaching the correct conclusion.
Task 3: Velocity vs. Time to Position vs. Time
(introducing area under the curve)
This time, students programmed their first robot with a complicated four-segment velocity vs. time graph, and then had to program their second robot with a position vs. time graph. Since they already had some experience with both graphs, the problem-solving process was smoother. Here’s one example.
- The velocity vs. time graph GUI does not allow students to send a graph to the robot if it contains a vertical segment. The students must make these segments almost, but not quite vertical. This led to some practical discussions of what this meant. In homework problems, the segments are usually drawn completely vertically, which is confusing to some students because it is physically impossible. By introducing the velocity vs. time graph with the GUI and robot, this issue was cleared up for everyone right from the start. Here’s the velocity vs. time graph one group sent to their first robot.
- At the end of this video, the students explain how they matched all but the last segment on their first try. (The thumbnail is the position vs. time graph that they sent to the robot.)
- And on their second attempt, they nailed it.
- The students had already worked out the calculation with units on their board. In full class discussion, we identified the result as change in position and not distance or position by looking at all four segments. To introduce area under the curve, it was only necessary to identify the area with the calculation they had already done and (hopefully) already understood.
Here’s a second example. This group ran into another issue along the way, but pretty much resolved it themselves.
- Velocity graph for first robot. Notice in segments 2 and 3 that this robot will go slow, then fast.
- The thumbnail for the video below is the position vs. time graph this group sent to their second robot. I knew from their graph what would happen, but didn’t say anything. I didn’t have to. When the students saw the robot go fast, then slow in segments 2 and 3, they commented “It’s opposite.”
- And sure enough, they were then able to correct the issue themselves with no intervention from me.
To conclude the full class discussion, I had the students draw the shape of all of their velocity vs. time graphs from the previous two practicums on the main board. Each group then went up to the front of the room and picked a student from the class to describe the motion that went with each of their graphs. Most of the students selected could explain the motion, although in one case a student was caught who could not explain the motion due to a fixation on the vertical rather than the horizontal segments on the graph. He was willing to actually go to the front of the room so he could point to different parts of the graph as he tried to explain it. The class was able to help him out. I’m not sure he understood completely by the end, but he had made progress. I suspect in this case that the student had been too passive during the group work (or else his lab partner had been too active and come up with all the answers without letting him participate). I was going to intervene with this group by discussing the issues, but one of the students was absent the next day for a sporting event, and that led to a more natural reshuffling of groups, which will hopefully resolve the issue. I plan to keep watching both students now.
In another section, a student was more open about not understanding the graphs, so the class helped her through in a more cooperative manner, resulting at one point in the terse explanation, “If it’s above the line it’s going forwards. If it’s below the line it’s going backwards. If it’s on the axis, then it’s at rest.” Nice!Here is the set of graphs from one class. I would not have dared give students this varied and complex of a set of graphs as homework in previous years. They would have found it overwhelming. In this context, it was a straightforward exercise.
Last March, the idea to use programmable robots in my physics class was just a glimmer of an idea, and I was not at all sure that I could pull it off. It took a great deal of work, and I have to say I’m pleased with the results so far. All of the class activity to date have been labs or lab practicums with the robots. The students haven’t encountered a single programming bug that I can recall. This alone is amazing for such a complex programming project, and unprecedented in my experience.
Since the robots are able to perform even the most complex motions that students previously encountered in written work, all of these exercises can now be translated into the lab. I did not expect the robots to be working so well that I would choose to use them entirely, but each step of the way it was obvious how they could be put to use.
One goal was to enable students to work more independently, generating and testing their own hypotheses, and checking their understanding themselves in the lab, rather than have me grade or check exercises. The robots have definitely enabled this to happen. I plan to turn them loose even more now that they are comfortable working with them. Using my graphical user interfaces, the robots can only perform step-function constant acceleration motions. This sets limits on the motions the students can investigate. Within these boundaries, they are safe to explore independently and test their own ideas. The robots are thus the first step in creating a physics microcosm.
In past years, students worked problems similar to these lab practical tasks on whiteboards in class or for homework, but by programming and observing the robots students forged a stronger connection between an observed motion and its graphical representation. In addition, the breakdown of the task into graph shape and quantitative parts was something I was trying for the first time this year. In past years, I had observed students, especially those with a weaker mathematical background, coping with this or similar tasks by mechanically performing microscopic second-by-second calculations. They would construct the graph point by point, but never elevate their understanding to see a graph as a whole and understand the motion. The standards by which student’s would be graded on the upcoming quiz mirrored the instructions for the task. One standard is qualitative and involves matching motion and graph shape. The second standard is quantitative and involves finding the slopes and areas.