.
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.
Where there's a will, there's a relative.