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