This is an example of an interaction a high-school student in a Physics course could easily build within 20 minutes in Scratch.
You can look through the project’s code here. More detailed documentation follows below:
A square block of ice is pushed by a user inputted amount of force. Its distance and velocity are further dependent on its mass and friction experienced.
Different backgrounds to represent different surfaces the block moves on. Friction is yet to be implemented.
Block that is being acted upon. Future project idea: User clicking block changes its mass – simplest implementation is to always increase until threshold reached and it loops.
Arbitrary image, represents the force acting on the block
Speedometer, represents velocity. Coding challenge: implement a needle that tracks speed of moving object. Easiest to represent speed in clean multiples of 180 so can simply make it rotate.
Representation of the range of force possible. After friction introduced: black vertical bar for minimal force applied to clear static friction.
Moves left to right. Visual marker of force applied to block
These concepts are either assumed to be understood, or glossed over by this interaction. The interaction can be used to supplement teaching of following, but development of a separate one would be ideal.
D = v * ∆t
Distance – represented visually by space traveled.
Velocity – represented visually by speed of block + speed-o-meter
Time – not represented, implicit assumption of time elapsed
v = a * t
Acceleration – represented via velocity.
F = m*a [ a = F/m]
Force – Independent Variable, value controlled by user input from a fixed range.
Mass – Independent, small range of fixed user input values. Object changes size.
Acceleration – Dependent, calculated by equation. Visual representation needed?
Coefficient of Static/Kinetic Friction – not shown
Static Friction (Force) – possible visual representation as threshold bars to be cleared before object can move
Kinetic Friction (Force) – abstracted representation as object moving slower in rougher surfaces.
Below is an example (project code here) of a more advanced type of project that even involves some of the basics of rocket science: