My son is very interested in computer programming, so since he started high school this year, we decided to come up with a curriculum to help him start learning it. He's specifically interested in programming for Apple devices, so that means learning Objective-C.
Based on the recommendation of an Apple programmer, he started off with Beginning Mac Programming: Develop with Objective-C and Cocoa, but it turned out the book wasn't "beginning" enough for either him or me. We got pretty much lost by chapter 4.
And so we tried some other avenues of learning, specifically non-book avenues which might be more conducive to independent learning. What we eventually came up with has worked out very well, and Jaden is now eagerly on his way to learning Objective-C and programming for the iPhone, iPod, and iPad.
If your child is not interested in learning Objective-C, you can skip down to my suggestions for creating a curriculum for any other programming language.
Curriculum for Learning Objective-C Programming
1. Foundations of Programming: Fundamentals, from Lynda.com. This online video course is just under 5 hours and is an excellent way to introduce your child to programming. It's not specifically an Objective-C course, so if your child is interested in programming at all, no matter what language, I strongly suggest starting with this course. The instructor, Simon Allardice, is a superb teacher and explains concept very clearly. You can even get a 7-day free trial to Lynda.com so you can try out this course (or any other course in their learning library).
2. Objective C Essential Training, from Lynda.com. This 6-hour course, also taught by Simon Allardice, is specific to Objective-C (Mac) programming, and is an excellent start for the learning the language. Again, you can get a 7-day free trial to Lynda.com at the link I posted above.
3. Objective-C Programming Tutorials by The New Boston (AKA Bucky) on YouTube. This series of 65 videos helped my son understand Objective-C tremendously because it was taught in layman's terms. WARNING: Bucky doesn't use any foul language in his tutorials, but my son told me that he does use euphemisms or imply swearing at times.
4. Programming in Objective C, by Stephen G. Kochan. This is a book, not a video series, so it's a little harder to self-learn from at times, but it's still an excellent resource to follow, especially if you've gone through #1, #2, and #3 in this list already. My son is working his way through this book right now, at the same time he's reading through #5. We're using the edition just prior to the one I linked to above.
5. Learning iOS Game Programming: A Hands-On Guide to Building Your First iPhone Game, by Michael Daley. This is a unique book in that you get to download the program files for a complete iPod game app, and then the book takes you through programming that same game. Hands-on lessons really help in retention of concepts, and my son is enjoying this so far.
Developing a Curriculum for Other Programming Languages
If your child isn't interested in learning Objective-C specifically, I'd suggest this series of steps for developing a curriclum for the programming language of his choice:
3. Check out The New Boston's list of programming tutorials or look on YouTube for tutorials on your chosen programming language. Be aware that not all tutorials you find are of the same quality.
4. Once your child has a basic understanding of the language through watching videos and getting their hands dirty by coding a little (usually based on the videos they're watching), then I suggest looking for some books on their programming language. You might start by looking at books published by The Developer's Library.
Has your child learned a programming language already? Do you have any suggestions that you could add to these lists?