[1]: Kaminski et al., "The Advantage of Abstract Examples in Learning Math", 2008 — http://www.physics.emory.edu/~weeks/journal/454.pdf
[1]: Kaminski et al., "The Advantage of Abstract Examples in Learning Math", 2008 — http://www.physics.emory.edu/~weeks/journal/454.pdf
I'm not going to get the abstract unless you start with a concrete example and then head for abstract territory. "Learning abstraction" is memorization. Until you can tie it in to something real, the concepts aren't. Coincidentally, I suspect this is the difference between "computer scientists" and "programmers."
There is a reason we don't start with the most complex. Learning a language like this teaches you symbolic manipulation. Each word is a variable. You intuitively get that as you start playing around with it.
This serves as a bridge for later.
I've also encountered people who prefer abstraction over concreteness and it works for them. So the best is for each student to learn according to his preferred style. I hope courses like udacity and coursera slowly evolve into something where each student learns by his/her preferred method.