Scratch Programming and Kinematics

Like many high school physics students our honors students start the year by learning kinematics.  Over the past two years we have integrated programming into the unit with the use of Scratch.  We still do many hands-on demos and labs but have found that adding this aspect to the unit gives the students a chance to apply their learning and receive immediate feedback on their understanding and application.  Scratch is a very user-friendly block based programming language and students are able to build their skills while not feeling overwhelmed with lines of code.  By the end of the unit we have completed one and two dimensional motion and students really are able to grasp the equations of motion.

Before we start with the actual physics we introduce some basic concepts of programming and how Scratch is structured.  This takes about 30 minutes of class, a very broad overview.  After this we ask the students to create something, anything, on Scratch.  This results in some interesting, simple, and complex first programs.

The unit begins with a simple problem: 1D Motion Scratch Lab which is graded using this rubric 1D Motion Scratch Lab Rubric.  This problem asks the students to create a program where the user can input initial position, initial velocity, and constant acceleration.  These inputs need to control the motion of the sprite on the screen. Some student examples: Student 1, Student 2, Student 3.

Screen Shot 2015-03-26 at 9.50.18 PM

From this first project we build on their programming skills and understanding of kinematics phenomena through the following projects:

Independent Variables Simulation: Create a Scratch program that mimics a simple in class demo of a ball rolled off a flat table and one dropped from the edge at the same time.  Some student examples: Student 1, Student 2, Student 3.  I grade this project using this rubric 2D Motion Scratch Lab Rubric – Ind Var.  This rubric was partially created by the students picking the categories they believed they should be graded on.

Screen Shot 2015-03-26 at 10.15.45 PM

Animate a 2D Problem: Students create a unique 2D problem that can be solved by user input.  The program runs according to user input and shows if the solution is correct or not.  This is the student handout 2D Scratch problem and students graded each others programs using this grading sheet 2D Scratch problem Student Grading.  I ended up grading the programs using the same sheet after they made changes from student feedback.  Some student examples: Student 1, Student 2, Student 3.

Screen Shot 2015-03-26 at 9.51.54 PM

Runner/Jumper Animation: Students animate a sprite that runs and jumps according to the 2D motion that was described in class, specifically constant horizontal velocity and accelerated vertical velocity.  This program really requires a lot of problem solving as user controls need to be ignored while the sprite is in the air.  Here is the student handout Runner-Jumper Scratch Problem and graded using this simple sheet Runner-Jumper Scratch Problem Grading.  Some student examples: Student 1, Student 2, Student 3.

Screen Shot 2015-03-26 at 9.52.37 PM

Runner/Jumper Video Analysis: This is the final piece to this unit and essentially replaces our old kinematics test.  Students take a video capture of another student’s runner/jumper animation and analyze the motion of the sprite using Logger Pro video analysis.  Here is the student handout Kinematics Analysis and graded using this simple sheet Kinematics Analysis Grading.

Screen Shot 2015-03-26 at 10.21.13 PM

I have to give a lot of credit to my fellow teacher, Mr. Smith, for his ideas and collaboration on this unit and its content.