A close friend of mine recently came to me to teach him programming. He had absolute 0 background knowledge in the subject. Otherwise, he's a smart guy with a genius keen interest to learn.
I started teaching him some simple Objective C syntax. After doing some if & while demos, I taught him the concept of OOP and made a very simple app that relies heavily on OOP with him. By now, I could clearly tell that the guy was totally confused and didn't really understand the concepts of OOP. A few more attempts and 2 hours later, we both gave up.
How would you have done it?
What resources would you have used?
What language would you teach a first-timer?
Or a different question would be: How did you yourself get started on programming?