Hmm. Start with flowcharts and a small instruction set; a pseudo machine language like CESIL (Google it). Then after the basics of flow control are more or less mastered, switch to something more advanced, say BASIC. That's how we did it in the '80s – why should it be any different now?
Problem to my mind is that any machine with modern capabilities is going to come with distractions. Internet access. High resolution graphics. Hi def video & sound. Gazillions of libraries, IDEs, configuration of tool chains, the lot. By the time you have all that set up, you''re getting bored, or lost.
I personally don''t see much difference between RPi and A.N.Other modern computer (apart from price). People learning to program don''t need these capabilities, they need a focussed environment that gives them the basics, just like we had in the 80's.
How about a Fignition? See here: http://www.bbc.co.uk/news/tech.....y-13201254
Hmm, well it is cheap, has a very limited dev environment but it uses Forth which, due to RPN syntax is a little too arcane for the beginner, in my opinion (I do have one of these myself and I have tried it, but the chorded keyboard is too restrictive).
On the other hand… a BBC Micro. This has been tried in a class room as a sort of experiment, and it was highly successful as a learning exercise. Read about it here:
So (and sorry about the rambling, but I think I should justify my point upfront), use BBC Basic. You can learn the advanced stuff later – walk before you try to run (otherwise you''ll come a cropper, trust me).