My son wants me to explain to him how the bible says we have free will but if God already knows the choices we will make then this is not free will. I don't know how to answer this.
This can be a difficult question to answer. Does the fact that God knows something will happen/has happened cause it to happen? Can we change what God knows? I can understand your difficulty.
One possible way of explaining it, if your son is of an age to know computers (and what child isn’t these days) relates to memory. A computer stores input. That input is knowledge. At any given time a computer knows a lot of things. If it is a computer used for inventory for a business one of the things it may know is that Company A has a standing order for 1,500 units of a certain item. Company A decides that they want to increase their order to 2,000 units. They make the choice (free will) to change their order. Now the computer knows that Company A has a standing order for 2,000 units. Depending on its programming it may also know that the order has changed, and what the old order was. Free will has changed the knowledge in the computer.
This is not a perfect example, of course. God’s knowledge is more complex than any computer. However, it gives some idea of how free will affects God’s knowledge. What we choose affects what God knows. He may know equally well how things would have occurred if we had made a different choice.
Interestingly, the same example can be used to show God’s forgiveness. He knows all about our sin. Nevertheless, when we are buried and begin our new life, God hits the delete button and runs a “clean sweep” program to totally and irrevocably remove that sin from his memory banks.