Projects, projects, projects. In my opinion people need to have successes to get going. "Hello Worlds" and theoretical stuff is useful of course (well, not just useful, you need that!), but I saw many people learning to code without actually solving problems. People, who knew how to do things but never had a real success other than some smaller homeworks. These people could never meet with problems they need to face when developing real applications (version managements, logging, or even getting answers from the Internet).
I would suggest the same as the others wrote before - teach some theory, create a few simple stuff with them, and let them learn :-)