Recall that opposite charges attract and like charges repel. These interactions result in an electric force between the two particles.

The force between two charges depends on two variables: how strong the charge is, and the distance between the two charges.
The model is built in a modeling environment called NetLogo. NetLogo models are agent-based, meaning that it is composed of individual components which are coded to interact. In the model below, the agents are coded to behave like charged particles. The element of time is experienced in NetLogo through a unit called ticks. With each tick, all agents of the model take commands and perform them (or do nothing if told so), and then the tick counter progresses forward by one. Then any monitors or graphs expressing data from the model are updated.
The elements of the model can be changed using sliders that let you control specific elements, but it can also be modified using code. Scroll down to look at the code tab if you are curious what NetLogo code looks like. The command center is used to write specific code to interact with the model.
Explore the model below to see how the amount of charge and the distance between two charges affects Coulombs' force.
To interact with the model:
1) Adjust sliders on the left side of the model to desired levels. In this lesson, you will mostly be concerned with the TEST-CHARGE slider.
2) Press SETUP. You will see the black space change to a color. If the TEST-CHARGE slider is at a positive value, you will see a blue positive charge appear in the model. If the TEST-CHARGE slider is at a negative value, you will see a red negative charge appear in the model.
3) Press GO. Click the mouse anywhere in the green space. You will see a blue particle appear. Hold down and drag the mouse to move this blue charge in the model. You can also lift up the mouse which will stop the model from ticking forward (you can then press down again to interact with the model).