I have a friend that wants to learn iOS programming in Swift and he asked for my help. He doesn't have any basic knowledge event about the fundamentals of programming so I really don't know how to create a roadmap for him. He want's to do it just for the fun of it, not for pursuing a job as a programmer. Just as a hobby. He's not young, he has a job so he can't spend more than one hour each day for this new hobby therefore I must come up with a long term track.<p>Since he doesn't even know the basic stuff, how to I tackle this? If I'm jumping right into teaching him about variables, functions, classes, etc then I'm afraid that he'll get scared, overwhelmed and frustrated because he, like any other absolute beginner, lacks the "programming vision" (something that I like to call the "I know kung fu" Matrix moment).<p>So I suppose my plan must start with teaching him the why's and then the how's of programming, right? I must first give him some lecture about general programming knowledge?<p>I remember when I was a kid, even though I knew the syntax perfectly, I couldn't understand why do I need a function or why do I need to use a for-loop or when do I need to use X instead of Y, because the teacher didn't bothered to explain me these concepts. So that's what I'm afraid it'll happen to my buddy if I don't come up with a more down to earth way of teaching.<p>That being said, how do I do it? What books can I recommend him? How do I schedule his learning path? Any help is welcomed and appreciated.
My advice would be to start with Norvig's essay: <a href="http://norvig.com/21-days.html" rel="nofollow">http://norvig.com/21-days.html</a><p>Good luck.