Teach them the core basics, and give them a template they can use to get new programs up and running. You want to teach core programming concepts, but not lose them in the overwhelming nature of getting going from scratch.
Once they have the basics grasped (base types, variables, setting values, comparisons, arithmetic, etc), give them a small project based on something they're interested in. Maybe it's sports, so have them write something that would help a manager keep track of his players, their stats, etc
Maybe its cars, so have them write a program that helps someone keep track of car parts, or car information, etc.
The key will be engaging them and getting them to understand how to apply what they learn to real world situations and needs.
Just my 2 cents