Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Perl Instruction at NIH

1 view
Skip to first unread message

Brad Lhotsky

unread,
Jan 26, 2007, 3:42:09 PM1/26/07
to perl-t...@perl.org
Well, I've gone and done it now. I work as a security adminisrtator at
a small NIH sub-organization. I've been a fairly passionate perl
programmer since 1999. I got my share of "stop reinventing the wheel"
from Randal on Perlmonks, and I've amassed a collection of O'Reilly
books on perl that I actually _read_. I've digested Perl Best Practices
and use it as a guideline for my coding practices. I also wrote a few
articles for developer.com (which thanks to brian d. foy's
"So you want to write about Perl" YAPC presentation I learned was not
the best sort of deal).

Using PBP and my personal experiences with the community I constructed a
"Perl Introduction for ISSO's (Information System's Security Officers)"
at NIH. The presentation went _really_ well. I have the course
materials available online at:

http://divisionbyzero.net/blog/perl-isso-class/

It was supposed to be a one time deal to get other NIH Security Staff
interested in hiring perl programmers so I'd have people to talk to.
However, the class was well received and thanks to things like BioPerl,
NIH wants me back to o a full day "hands on programming perl class" with
a target audience of systems, network, and security admins with some
programming background.

Most of the people on this list making their living teaching perl and
I'm not interested in competing. I'm interested in wetting people's
appetites for Perl. I'd gladly include contact information for anyone
on this list as "further instruction can be provided by these great
people" on the slides and printouts.

My motivation is to give back to the community, who are entirely
responsible for my inability to not type "use strict;\nuse warnings;\n"
after typing "#!/usr/bin/perl". I also have been giving consideration
to putting together a presentation for a YAPC or other perl conference,
only being a dork, I need to work on my "comfort level in front of a
large group of people".

Is there any advice for what my expectations of material coverage will
be for a 9-4 class ? My first class was an overview. I didn't actually
have any coding exercises, which I'd like to have in this new class.

I'd be eternally grateful for any advice or sample material that would
save me some time preparing the class. I'm not getting paid for the
class besides the fact that my boss considers the time spent preparing
and instructing "work time". I'm not asking for anyone "to do my
homework". I'm just asking for any "helpful" advice the veterans would
be willing to bestow on a fledgling perl trainer?

--
Brad Lhotsky

Peter Scott

unread,
Jan 27, 2007, 9:32:20 AM1/27/07
to perl-t...@perl.org
On Fri, 26 Jan 2007 14:42:09 -0600, Brad Lhotsky wrote:
> I'd be eternally grateful for any advice or sample material that would
> save me some time preparing the class. I'm not getting paid for the
> class besides the fact that my boss considers the time spent preparing
> and instructing "work time". I'm not asking for anyone "to do my
> homework". I'm just asking for any "helpful" advice the veterans would
> be willing to bestow on a fledgling perl trainer?

Your best bet the first time out: use the latest Llama book as a workbook.
Give everyone one and work through it from the beginning for as far as you
can get in the time you have.

--
Peter Scott
http://www.perlmedic.com/
http://www.perldebugged.com/

Smylers

unread,
Jan 29, 2007, 4:01:55 AM1/29/07
to perl-t...@perl.org
Brad Lhotsky writes:

> I work as a security adminisrtator at a small NIH sub-organization.

Hi there. I've no idea what NIH is, but I suspect it doesn't matter for
my response.

> Is there any advice for what my expectations of material coverage will
> be for a 9-4 class ?

Generally allow 5 times as long to write material as to present it; that
is, allow a week to write a 1-day course. Possibly longer if you're new
to writing training materials.

> I didn't actually have any coding exercises, which I'd like to have in

> this new class. ... I'm just asking for any "helpful" advice the


> veterans would be willing to bestow on a fledgling perl trainer?

Obviously for exercises to work it has to be possible to answer them
using the material previously covered. If you present material in what
seems like a logical order from a taxonomic point of view you may
struggle to think up exercises that are possible using only what's
already been taught.

Or you may write exercises that seem plausible, but actually when doing
them you would naturally use constructs that haven't been introduced
yet, so you end up with a roomful of people writing programs that aren't
representative of what you'd recommend.

The way round this is to work backwards:

* First write a few 'sample solutions' that are the kind of program that
you hope folks to be able to come up with after each session.

* Then come up with some questions to which those sample solutions are
possible answers.

* Lastly write the presentation that covers the material needed to
answer the questions. If you find yourself wanting to include
something because it seems 'orthogonal' with other material you're
mentioning but isn't actually useful for the exercises you've written
then stop and question whether it's necessary.

For example I've seen Perl courses where there's a section which
covers "operators", and does so comprehensively, even though, say, the
bitwise operators aren't particularly useful at that stage. Similarly
C<or> is very handy for catching errors (such as in 'open this file or
die'); C<and> is much less commonly seen and doesn't _have_ to be
mentioned just because C<or> has been.

Remember that presentations are good at explaining concepts, but bad at
dispensing lists for the audience to memorize. People new to Perl are
likely to need concepts like context explaining; however once shown in
general how to call built-in functions they are likely to be able to
cope with calling C<uc>, C<hex>, C<index>, and so on without further
assistance (and those that aren't wouldn't be able to take in a
presentation in which every function was explained in turn anyway).

So make sure that you show people perldoc -f or perldoc.perl.org (backed
up with exercises that involve using functions that haven't been
explicitly explained), and search.cpan.org.

Have fun, and good luck!

Smylers

Randal L. Schwartz

unread,
Jan 29, 2007, 8:41:16 AM1/29/07
to perl-t...@perl.org
>>>>> "Smylers" == Smylers <Smy...@stripey.com> writes:

Smylers> Generally allow 5 times as long to write material as to present it;
Smylers> that is, allow a week to write a 1-day course. Possibly longer if
Smylers> you're new to writing training materials.

[...]

Smylers> The way round this is to work backwards:

[...]

This is all very excellent advice, echoing what I would have said too.

The only thing I would caution on is that "5x" is a bit low. I typically
allocate 8x on a new course (a workday per hour), and only about things I'm
familiar with. Even more time if I have to figure out what's important, and
what I can leave out.

The other thing to keep in mind (as we've presented in our "Teaching 'Learning
Perl'" course a couple of times at conferences) is that you should be very
clear about the "end points" of your course. Where will you imagine everyone
is starting? Where do you think they all want to end up? And then be sure to
communicate that.

For example, we presume everyone knows subroutines and arrays before they
start the llama, so we get to set the expectations very quickly in the first
hour, and we don't have to spend time describing why someone might want a
subroutine or array.

Once you have the begin and end point, MAKE THAT A STRAIGHT LINE. You may be
tempted to throw a lot more stuff in there, but if you do, you will quickly
exceed the time allotted for your course (and for you to write the materials).
People can add their own "bushiness" to the knowledge once they get the
"trunk". But you have to teach the whole trunk, or people will be lost.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<mer...@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl training!

Geoffrey Young

unread,
Jan 29, 2007, 10:53:08 AM1/29/07
to Randal L. Schwartz, perl-t...@perl.org
Randal L. Schwartz wrote:
>>>>>>"Smylers" == Smylers <Smy...@stripey.com> writes:
>
>
> Smylers> Generally allow 5 times as long to write material as to present it;
> Smylers> that is, allow a week to write a 1-day course. Possibly longer if
> Smylers> you're new to writing training materials.

> The only thing I would caution on is that "5x" is a bit low. I typically


> allocate 8x on a new course (a workday per hour), and only about things I'm
> familiar with. Even more time if I have to figure out what's important, and
> what I can leave out.

this number depends on lots of factors - personally, I find it takes me
a solid work-week (40 hours) to produce a 1 hour presentation of new
material (that is, new presentation material on technology I'm very
intimate with). but lots of that has to do with the kind of style I
like to present in, how smoothly I want things to flow, etc. culling
together existing materials into something new takes less time. but
still, the more time you put into something the more polished it will be
(and the more your attendees will appreciate it).

my point is that I don't think you can over estimate the amount of time
it will take to come up with a quality presentation the first (or first
dozen times) you do it. but once you get into a groove you may find
that your own timeline can vary quite a bit between that of your peers.

good luck.

--Geoff

Christopher Hicks

unread,
Jan 29, 2007, 12:23:34 PM1/29/07
to Brad Lhotsky, perl-t...@perl.org
On Fri, Jan 26, 2007 at 02:42:09PM -0600, Brad Lhotsky wrote:
> I'd be eternally grateful for any advice or sample material that would
> save me some time preparing the class.

The Kirrily "Skud" Roberts content is quite good and is available from http://wiki.fini.net/bin/view/PerlClass/SkudContent

I've been meaning to revise it for American English and current usage, but its still a great place to start such a project.

--
</chris>

The whole problem with the world is that fools and fanatics are always so
certain of themselves, and wiser people so full of doubts.
- Bertrand Russell, philosopher, mathematician, author,
Nobel laureate (1872-1970)

Brad Lhotsky

unread,
Jan 29, 2007, 1:00:17 PM1/29/07
to Randal L. Schwartz, perl-t...@perl.org
I wanted to thank everyoe who replied on and off list. I certainly
understand the time it takes to prepare for the class. I'm budgetting
more than 8x factor Randal suggested as I'm a Mac/Linux guy and the
laptops provided for instruction are all WinXP.

When I do get the course material done, I'll post it on the internet for
free. Thanks again!

--
Brad Lhotsky

Danny R. Faught

unread,
Jan 29, 2007, 2:10:52 PM1/29/07
to perl-t...@perl.org
Brad Lhotsky wrote:
> I'm budgetting
> more than 8x factor Randal suggested as I'm a Mac/Linux guy and the
> laptops provided for instruction are all WinXP.

That's okay - you can make Windows act like Unix when you install Cygwin.

It's a bit confusing when you try to mix the two views of the filesystem, e.g., "perl /tmp/script.pl" doesn't work in a Cygwin shell if you're using a native Windows build of Perl like ActiveState, and neither does "perl c:\temp\script.pl".
--
Danny R. Faught
Tejas Software Consulting
http://tejasconsulting.com/

Brad Lhotsky

unread,
Jan 29, 2007, 3:22:53 PM1/29/07
to Danny R. Faught, perl-t...@perl.org
Anytime I've been _forced_ to use windows, I normally install Cygwin and
LiteStep. I know my way around it, but I'm not 100% my students will.
So I'll have to design examples to do the whole activestate +
doubleclick thing.

Anyone know of any good, free editors for windows? I'm a vi guy, but on
my Mac for presentations I use TextWrangler because of it's "Run / Check
Syntax" feature. Is there a Win equivalent?

--
Brad Lhotsky

Amir E. Aharoni

unread,
Jan 29, 2007, 3:34:20 PM1/29/07
to perl-trainers
> Anyone know of any good, free editors for windows? I'm a vi guy, but on
> my Mac for presentations I use TextWrangler because of it's "Run / Check
> Syntax" feature. Is there a Win equivalent?

Eclipse IDE with the EPIC plugin does some basic Perl 5 editing and debugging.

Pro - it's free and cross-platform.

Con - it has a lot of bugs itself and Eclipse is a 100+ MB download
(also, some people have ideological problems with the licensing of
Java libraries)

Johan Vromans

unread,
Jan 29, 2007, 4:55:36 PM1/29/07
to perl-t...@perl.org
"Amir E. Aharoni" <amir.a...@gmail.com> writes:

> (also, some people have ideological problems with the licensing of
> Java libraries)

Windows people? You must be kidding ;-).

-- Johan

0 new messages