Traditionally, absolute beginner books on most programming language learn code something like in this order:
[SIZE=1]> tracing to the screen (basic output)
> loops (for, while)
*First they learn the “linear” programming, and usually they don’t get into classes until chapter 12 to 14 in a 20 chapter book. *People who read maybe half of the book and give up to try Flash on their own (or those who are still working on the book and decide to do some programming while learning) never get to OOP and have a really hard time trying to include a simple external library into their project, or trying to create any medium sized project.
In addition, OOP requires a different frame of mind and way of thinking and looking at programming. So, it does require another step of learning for those who already are struggling to learn the basic “programming way of thinking”.
What if you teach them Object Oriented thinking first? Tell them about objects and properties, and without going into the insides of functions, elaborate on how functions are supposed to work and how they affect the object. Instead of starting with variables, just treat them as properties. I still haven’t though it all through, but it’s a start. Just because all programming started out as linear and then evolved into class based doesn’t mean it needs to be taught that way.
Would this work, or would it just be more confusing to beginners?
What other teaching methods for programming work well?
I wonder if it is possible to gather 10 complete beginners to programming, teach them ActionScript in one manner, and when done, test them on how much they were able to grasp and how quickly they were able to learn ActionScript. Then gather 10 new beginners, and try it all again with a different teaching method, comparing the final results. It would prove quite interesting. Anyone out there good at teaching?