Programming Labs for Physics

These labs were designed by Prof. Chris Orban for Physics 1250 at OSU Marionand they should be generally useful at the high school and college level. No calculus knowledge or prior programming experience is required.

The nice part about these programming labs is that there is no software to install. The compiling and executing and visualization is all done within your web browser! This is accomplished using a programming framework called which is very similar to C/C++.

Prof. Orban is eager to begin collaborating with high school physics teachers in Ohio! If you are a high school physics teacher please send an e-mail to if you are interested in trying this out or getting some training on how to use these exercises in your classroom.

Introduction to the Programming Framework

Classical mechanics exercises:

Intro Lab 1. Move-the-blob exercise

(In Progress:) Intro Lab 2. Accelerate the blob (modify the code to behave like this!)

Introduction to Planetoids (Coordinate System)

Introduction to Planetoids (Angle System)

Lab 1. Planetoids game

Lab 2. Lunar Descent game

Lab 3. Bellicose Birds game

Lab 4. Planetoids with momentum!

Lab 5. Planetoids with torque!

Lab 6. Planetoids with a spring!

Challenge: Bellicose birds with energy

Just for fun (no programming):

Realistic physics with Box2D Comments on the algorithm behind Box2D

Fluid Mechanics with Box2D

Electromagnetism Exercises:

Comments on the units used in the programs

Lab 1. Particle Accelerator

Lab 2. Particle Accelerator (with potential)

Lab 3. Repulsion between two point charges

Lab 4. RC circuits

Lab 5. Magnetic force (a.k.a. Mass Spectrometer)

(In progress:) Lab 6. RL circuit See this link for the windows/mac compatible (but chromebook incompatible) version

Just for fun: RLC circuit (code here) (demo here)

Lab 7. Wave Interference!

Just for fun: Thin Film interference (Here is the code)

Just for fun (no programming)

Electron motion in a conductor (with resistance)