ESCs are controlled using what is commonly referred to as servo signals, this is basically just a 50Hz (20mS) square wave with an on time varying between 0.5mS and 2.5mS and being off the rest of the time, the timing of this pulse can vary somewhat and depends on the manufacturer of the unit. 0.5mS and 2.5mS is a good starting point for any project though.
This varying time between manufactures is why the programming feature exists, it's basically just a way for the driving circuitry to tell the driver what the minimum and maximum pulses is it will serve.
You already have everything you need to get this working. I'd recommend looking at the Arduino servo libraries as this will get you on your way quickly. The three black wires on the ESC are obviously connected to the motor, note that it only spins in one direction, to reverse this you can reverse any two of the three wires.
The thick black and red wires goes to your battery. The black red and white wires are for the controlling signal, red should be left unconnected (or you can power your Arduino from this point if you keep voltage levels in mind and your ESC is equipped with a battery eliminator circuit), black should be connect to the Arduino ground and white to the output pin used with the servo library. That's pretty much all there is to it. Best of luck.