You can learn the basics while using OOP.
It is just easier. You can start with simple objects and still write a complete piece of code that has a set of well-defined behaviours and can be stuck into a test program without having to deal with the whole nasty story at once.

I am not sure how OOP eliminates procedural code unless procedural code is taken to mean spaghetti code where the execution path is unpredictable and every variable starts "_root."

It is hard to see how you have many classes with no properties so I think that the students will find out about Strings, etc. Some objects will need Arrays of other objects so I am pretty sure that you can get to Arrays at some point. Class methods have been known to have iterations in them so that can be covered.
Might even get to recursion!!!

Naming conventions are essential. Worthwhile to make sure that all of your examples are 100% correct and deduct bigtime for assignments with violations of conventions. This gets very important when you start to get into frameworks which use class inspection to find things.

I would not worry about AS1 and maintaining other people's crappy code. If they are lucky, they will be too late into the fray and we will have fixed up all of the crap by then. Realistacally, it is unlikely that any of them will actually ever make a living from ActionScript programming since most of them will probably end up in other fields since it is a high-school not a university course.

Ron

Steven Sacks wrote:
If these students have no experience programming, you just can't start with OOP. They have no foundation to understand the concepts. You have to walk before you can run, and OOP is definitely runners territory. Students with no programming experience are barely crawling. Arrays, Strings, Objects, Functions, Variables - these things are your first steps. You can't learn those while learning about Classes, Inheritance, and Design Patterns. Those things are based on solid foundations.

Anyone here who says they would have been better off if they learned OOP from the get-go is dismissing everything it took to get where they are. Procedural code has its purpose sometimes and knowing how and when to use it is important, especially in Flash.

I disagree with the statement that AS2 is on the way out. Jesse Warden blogged about that very subject which mirrored my own feelings on the subject. AS2 will be around for some time to come. The fact is, AS3 is such a leap from AS2 most Flash developers will not be able to (or want to) make the leap. Only senior level coders will, and certain bright designer/coder types. Eventually, people might, but agencies will be able to turn out great Flash sites with AS2 (even AS1) for years to come.

The fact is, you can still do a lot in Flash by hacking AS1 procedural code, and this skill is an absolute requirement in agency work where you're working with short timelines, ridiculous client changes throughout the process, and the site is a churn and burn never to be touched again after it goes live. AS2/AS1 is going to remain king in that very large sect of Flash development for some time to come.

If you were teaching Java or Ruby, I would say go OOP right away. But Flash is only now becoming OOP strong and AS3, while a good step in the right direction, is not the absolute best OOP language to teach because of all the other things that make up Flash development that have less to do with Actionscript and more to do with Flash itself. Ruby is a fantastic OOP language, though it might be a bit heady for newbies.

I think you should consider teaching programming basics, focusing on clean code, best practices, naming conventions, etc. and touch on OOP towards the end. The people who are most interested will seek out more information, but I think you will lose people if you try to teach OOP concepts right out the gate before they even know how to iterate through an Array, or before they know what a subroutine is.


Steven Sacks
Flash Maestro
Los Angeles, CA
--
blog: http://www.stevensacks.net
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to