The basics.
Programming is the application of basic skills, it in itself is a secondary skill.
Which basic skills do I need for programming?
Reading, Writing (as in Grammar,etc), Math, Logic
Over here in Austria we still have the concept of apprenticeship. As a 15-16 year old you can switch over from the more formal academic track to an apprenticeship (more here http://en.wikipedia.org/wiki/Apprenticeship#Austria). Coming from a background in constructional engineering I had a lot of opportunity to talk to employers about their opinions on the current apprentices.
Common complaint: Apprentices coming out of the modern school system are useless. They arrive with practically none of the basic skills. Quickly, we need to cut this 6m board into 2m long pieces - how many do we get out of it? The more intelligent ones reach for their phone to calculate it.
The world has gotten more complicated, we have a lot more knowledge and facts to teach. But a young brain can only learn so much in parallel. The good ones will teach themselves anyhow, read books or wikipedia from back to back. But there needs to be commonality and this one needs to be along the basic skill set of language, comprehension and logic. Why are so many people in debt? Because they can't understand interest if their lives depended on it - which it does.
Teach programming! Teach art! Teach philosophy! Teach whatever I find interesting!