Student collision mini-projects from my fall comp-phys course

This past fall I had a revelation which I have yet to harness, but it is hiding out in my brain waiting to be incorporated into future courses. In two of my courses, I had the students work on mini-projects. This was the first time I had used mini-projects in a course and I was delighted with how independent the students were as compared to an overly prescribed task and I was also delighted with the quality of their work as compared to work from the regular prescribed tasks. Later in this post I have shared some videos of the comp-phys mini-projects, but I want to discuss a few things first.

In my digital electronics labs course they were asked to take the input from an analog sensor, apply some electronic decision-making to this input and provide some digital output related to the input. An example is to use a photoresistor to monitor room brightness and use 3 different colours of LED to provide feedback related to the room brightness: a red LED is lit if the room is dark, a yellow LED is lit if the room is of “standard” brightness and a green LED is lit if the room is extremely bright.

In my comp-phys course they were asked to make a collision simulation using Mathematica or Python where there has to be at least 3 different parameters which can be manipulated by the user (e.g., mass, velocity, coefficient of restitution, type of object) and at least one challenging piece of physics in the simulation (e.g., rolling friction, coefficient of restitution which varies between 0 and 1). Examples ideas that I provided included the ballistic pendulum or a 2D collision where you have to worry about the angle of attack.

In both cases, the task was designed to be something which should take approximately one week of the regular time that they are expected to put into the course. In both cases I had some small-in-scope expectations related to the documentation/presentation of the mini-project.  For the digital mini-project, I asked them to submit a complete circuit diagram and a brief video of them walking me through how the mini-project works. For the comp-phys mini-project, I asked for well-documented code and a brief document which highlighted the physics being  simulated and explained how it was implemented in the code.

Before I share the comp-phys mini-projects from the fall, I want to share an “in no particular order” list of things that I liked about the mini-projects above what I would see from a regular prescribed task or series of tasks:

  1. The students seemed much more willing to take on larger challenges with less support.
  2. The students were provided with the opportunity to bring some creativity into their work. There seems to be very few of these opportunities in most physics programs.
  3. The quality of student work was consistently higher than usual and competition played a small role in this. With the comp-phys mini-projects, students would show up to class and see what others had done and decide they had to step up their game by adding more bells and whistles than they had originally intended.
  4. The students had a lot more ownership of the learning task.

I suspect that Andy has seen a lot of these benefits since switching to SBG. A lot of the student submissions for standards that I have seen from his courses seem to involve some creativity and students taking on larger challenges that would normally be expected. The scope of those standards tends to be smaller than the mini-projects I am talking about here, but my experience with mini-projects certainly helps me appreciate even more how powerful SBG can be in terms of giving the students some choice in how they show their proficiency.

Mini-project playlist

Below is a playlist of no-audio videos of the 10 mini-projects from the comp-phys course. Each of them is in the neighborhood of 30 seconds long of me playing around with the various controls and then running the simulation one or two times. Some of them were done by groups. They’re pretty tiny in the embedded player so I would suggest going full-screen.