What do I need to know before i can begin an Arduino project?

polymorph:
Uck. SKIP the Blink example. Go right to the Blink Without Delay and Debounce examples.

Long delays are just about the worst way to learn. As soon as you want to do more than blink an LED or two, you have to unlearn and relearn a different way. And delay is useless for debouncing.

You and I are both out in the left field.
The question was "what do I have to know..."
Basic math, physics, basic electronics ( what does resistor do...) , Boolean algebra, usage of Boolean algebra - logic, basic computer structure ( memory, I/O, ALU etc) , very basic about computer programing - (if. when, loop etc.) ,etc.
Pick up K& R "The C programing language" and read it as a novel!
Definitely skip any books which are more than 228 pages (K&R), they are just full of pictures and click this and click that instructions..
Find out what "idiot diode" is for.
Have fun.
Cheers
Vaclav