Windows/Mac/Linux: Programming an Arduino isn't especially difficult, but if you're looking for a more visual method, Scratch for Arduino (S4A) uses MIT's Scratch as a groundwork for teaching kids (or beginners) how to program an Arduino.
S4A works just like Scratch, where you drag and place actions to create programs. The idea is to provide you with a more visual language to program in so you can understand how things work better. Even if you're experienced with Arduino programming, it's fun to play around with. Otherwise, it's a good place to start learning about how the Arduino works.