How did you learn programming the Arduino?

There are plenty of tutorials around the interwebnet. Such as the Ladyada tutorials or Tom Igoes website.

Any book on C programming will also help you.