.
In other words, start off students with easy wins and clear syntax (like Ruby). Don't make them spend hours debugging pointer bugs (C/C++). There's plenty of time for that later. First get them hooked on creating. That's where the fun in programming is... making something new that actually works. I suspect most of us remember the first time we wrote a program that actually did something. That's the high, the rush, that we want potential programmers to feel. How easy can we make it get their first hit?
How can we do this instead of depending on their internal motivation? I'm sure we'll rope in a few that don't have the chops for it, but I bet we'll find a lot more who do but never considered the field because the barriers to entry were too high.
Dropbox lied. No two ways about it. But this why you never store anything sensitive in "the cloud" anyway.
Arduinos can be used so many different ways... here're a few things you can do with them:
http://www.arduino.cc/playground/Projects/ArduinoUsers
http://www.arduino.cc/playground/Projects/ArduinoUsers
http://blog.makezine.com/archive/category/arduino
http://hackaday.com/category/arduino-hacks/
The top hit on Hack-A-Day isn't a typical project.
Variables don't; constants aren't.