Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: What training do YOU need?

by Aristotle (Chancellor)
on Oct 20, 2002 at 18:09 UTC ( #206688=note: print w/replies, xml ) Need Help??


in reply to What training do YOU need?

I believe CPAN should be introduced much sooner. You don't have to know how to write classes yourself in Perl to use object oriented modules, and various modules employ object orientation to varying degrees. You can start with simpler interfaces and gradually work your way to more completely object oriented modules.

At this point, they can already work with highly improved efficiency.

Then, you can introduce the features that make these work, one by one; starting with package to write simple libraries, and gradually adding nooks until you naturally reach bless. Because they've already seen how each of these crannies looks from the module user perspective, your pupils are likely to grok their purpose easier.

Of course, the premise to all this is that they need to understand references. So that would be the first thing on your list; and logically, too, if you ask me, since any non-trivial datastructure - and therefor any well written code for a non-trivial task - requires them. Remember the foremost principle to good software design is good data structure design: the necessary code will nearly naturally follow from a well designed data structure. Arrays of arrays or hashes are much better than working with parallel arrays, an awfully ugly workaround for not having references. It is incredibly important to build this skill.

So you have the following order:

  1. References
  2. Using modules, CPAN, using objects
  3. Writing modules, writing classes

To me that looks like a natural way of going about it, and I believe it also offers the most practical value at any point in time. Everything your pupils learn will be immediately useful to them. Which means that they won't get bored with theorizing, so that it'll be easier to maintain concentration and build understanding. The bottom line is greater rewards for the pupils and, let's not forget, easier lessons for you and them.

That's my thoughts after 15 minutes of thinking about it. :-)

Makeshifts last the longest.

Replies are listed 'Best First'.
Re: Re: What training do YOU need?
by jjdraco (Scribe) on Oct 20, 2002 at 22:10 UTC
    I would just like to add, from a beginners point of view. To me that makes the most sences too. I think one of my biggest problems is looking at the big pictures and putting it all together. the lay out that you just gave seems to progress to the bigger picture and would help a beginner like me see how every thing fits together. I think that I wouldn't be able to fit all the pieces together right they way deprecated laid it out.

    jjdraco
    learning Perl one statement at a time.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://206688]
help
Chatterbox?
Corion idly wonders about creating a series of HTTP requests. There seems to be no framework to generate a series of HTTP requests, like "try all these requests"
[Corion]: This is vaguely inspired by that list of "nasty" strings, which I'd like to replace among HTTP parameters, just to see whether the application crashes, but also for easy downloading of a list of URLs etc
[Corion]: Maybe I'll just conoct something using Algorithm::Permute to create an (OO) generator for such requests, or a simple function.
[Corion]: For testing I imagine one would want to test a random sampling of such "bad"/"unexpected" requests, while for downloading, one would want to generate them all in order, but not necessarily as a huge list

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2017-01-16 15:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you watch meteor showers?




    Results (151 votes). Check out past polls.