RE: Open Perl Exercises, anyone ?

[email protected] ("Stephen Collyer") Tue, 25 Jun 2002 10:25:05 +0100
Newsgroups perl.trainers
Message-ID <[email protected]>

> -----Original Message-----
> From: Tom Phoenix [mailto:[email protected]]
> Sent: Tuesday, June 25, 2002 12:15 AM
> To: Stephen Collyer
> Cc: Perl Trainers
> Subject: Re: Open Perl Exercises, anyone ?


> And ones which relate to real-world tasks, wherever possible. Students are
> right to ask, "When are we ever going to need _this_?"
>
> It's pretty-near impossible to satisfy all of those criteria with one
> exercise, but they're a good target to aim for.

I think that for elementary exercises (i.e. covering variables,
I/O, hashes, subroutines and so on), it's nigh on impossible to
make them relate to real world tasks. However, I think Perl allows
you to get to real-world-task difficulty faster than most other languages.

> Well, you could use the ones in the Llama book. :-)  Sounds like you want
> something released under one of the open-source licenses, though.

The Llama book is one of the few O'Reilly Perl texts that I
don't have (apart from the ancient V1 which I don't like much);
I've flicked through it in a bookshop a couple of times, but
I can't recall what the exercises are like.

> What license would you use? I'm not up on the technical details of the
> various licenses, but we'd want to ensure that it wouldn't "infect" the
> rest of your course materials. (I don't think there's a large danger of
> that, but IANAL. Before contributing any exercises, it would be good to be
> sure of what license we'll be using.)

I don't think this is a problem. Licenses are merely contracts, and
they can be written any way you want them, if you can't find something
suitable off the shelf.

> The exercises in the Llama are tied pretty closely to their chapters. If
> we were to make an open-source set of exercises, would you want to follow
> the same chapter structure? If your course materials use a different
> structure, an exercise might require looping before you had taught that,
> say. (Of course, if it's open source, it would simply be a jumping-off
> point.)

My grand plan would avoid that tricky problem entirely. (Does that merit
one of those feeble <laughter type=Mwuhahaha> attempts at witticism ?).
I had in mind a large set of exercises, of all types, from which a trainer
could pick and mix an appropriate set to cover what he/she wanted to teach.

I think it's impossible to solve the problem of deciding which features
should be covered in which exercises because a) everyone has different
ideas about what should be covered when and b) a given problem can be
solved in many different ways (TMTOWTDI, remember ?) so it's meaningless
to claim that a given problem "requires hashes" say, as it may be
possible to solve it with a single regex, or some long drawn out brute
force approach requiring a loop, substr and index or whatever.

> The first few exercises depend very strongly on what few features have
> been taught so far. Those first ones would be tough to make useful to
> everybody. Or, conversely, they'd impose a structure on your course, for
> good or not.

Yes. But my idea, as propounded so eloquently above, sidesteps that
issue entirely. There would be a lot of exercises, far more than could
be covered in one course, so the exercises could be chosen to relate to
any course structure.

> After you get the basics of Perl, there are a number of directions you can
> go in. For most but not all of those, you'll need many but not all of
> these: references, advanced RE features, OOP, typeglobs, using modules,
> making modules, CGI, Tk, databases, regression tests, ....

Yes. But let's start with the basics. Problems covering more advanced
features can be added later.

> I'm not objecting to the idea of a standard like that, but I don't want to
> see someone say "Course X is more complete than course Y because X covers
> all of the 'official intermediate' features", not mentioning that course X
> is a one-day lecture that barely skims the surface, while Y is a week-long
> course with lab which gives you everything important about (say)
> databases in Perl.

Well, the idea of having some kind of course standard was a bit of
a throwaway remark; I wasn't suggesting that some kind of Perl Trainers
Inquisition be set up, and I don't think that anyone expected that.
The idea was more part of the "grow the cake" school of thought; if
there are decent Perl training exercises available, maybe more people
will learn Perl, then maybe more companies will use Perl, then maybe I
can write more Perl for those companies, then maybe I can become
enormously wealthy, ...

> Well, that's just a special case of the open-source problem. :-)

Yes. That doesn't necessarily imply that it's worth doing though.

> I don't think that all of these problems are impossible to solve, but they
> should keep you busy for a while. :-)

Me ? Huh ? You seemed so enthusiastic about the whole thing that
I thought *you* were going to do it ;-)

Steve Collyer