Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Camel Fishing

by Ovid (Cardinal)
on Feb 08, 2002 at 20:27 UTC ( #144213=perlmeditation: print w/replies, xml ) Need Help??

I was chatting with merlyn one day (ooh, I'm such a shameless name dropper :) about the lack of Portland Perl Monger meetings and he said "why don't you run it?" Well, sometimes I'm not very bright, so I took over It's been fun and we've had one social and one technical meeting (with the next meeting coming up). However, I am constantly getting email from people who ask a variant of the following question:

I want to learn Perl. I've signed up for the mailing list but some of the conversations are intimidating. Are these meetings okay for a beginner?

I always respond that we welcome any and all, from the "just looking" to the gurus. However, there has been a lot of interest in learning Perl, but not everyone can afford to pay for training. Further, just learning from a book can be deathly dull for some people (it is to me, for example). To deal with this, I'm thinking of a one-day (eight hour) Intro to Perl seminar. This is not to teach someone to program Perl. Rather, the intent is to give them enough exposure to the language that they will know where to look for answers when they want to get something done. I don't have the time or the resources to teach full time (even though I would love to). The intent is not to give them a fish, but to teach them how (hence, the title of this node and possibly of the seminar).

There were some very interesting ideas presented in the Teaching a class thread, but again, I am not trying to teach Perl. Here is the minimum of what I'm shooting for:

  1. They must supply their own copy of Learning Perl.
  2. We'll build a small app illustrating a key point from chapters 1 through 12 of Learning Perl.
  3. Teach them how to use perldoc and online resources.
  4. Small seminars with at max 5 attendees?
  5. Printed seminar materials that they can later review for the highlights

Item 1 would show they are serious. Maybe I could require they work through the LLama's Chapter 1 "Whirlwind tour" prior to attending? They could email me working copies of their programs as the price of admission :) I would probably request a very, very tiny change to the program just to show they didn't download the code from somewhere.

I think that writing a very simplistic BlackJack game (file IO demonstrated by saving high scores) would address item 2. Item 3 would teach them how to fish and item 4 would make it easier to manage and help them.

Learning Perl would be used because it's fairly straightforward. The curricula could open each section by briefly explaining the topic (scalars, arrays, regexes(!)) and then using that to build a new part of the BlackJack program. I don't want to commit to teaching them everything, but giving them a starting point seems workable.

Is this too ambitious for an 8 hour seminar? Can anyone suggest resources for developing a curriculum? I have three guinea pigs here at the office, so the first "real" seminar would not be totally new to me, but I could use some advice here. The one thing that really worries me is a comment that Tom Phoenix made to me (there I go name dropping again): "I never realized how much I didn't know about Perl until I started teaching it." That scares the heck out of me. Any common teaching pitfalls that I should be aware of?


Join the Perlmonks Setiathome Group or just click on the the link and check out our stats.

Replies are listed 'Best First'.
Re: Camel Fishing
by VSarkiss (Monsignor) on Feb 09, 2002 at 01:14 UTC

    I'm going to give you a radical suggestion: Don't teach Perl at all.

    You say, I am not trying to teach Perl. But then you start talking about writing a small app, teaching scalars, regexes. IMHO, "brief explanation" and "regex" don't belong in the same sentence. The more I think about what (I think) you're trying to do, the less I'm convinced that writing a program will achieve what you want.

    From the sound of it, what people are asking you is "How do I join the club?" not "How do I program in Perl?" I think you've reached the same conclusion, or you wouldn't be trying to structure the class like this. So consider taking out items 1 and 2 from your list altogether, and adding items like this:

    • Where do newcomers congregate?
      • Bring a list of beginner books. In addition to the Camel, highlight the Llama, and the Perl cookbook, for example. Think about adding "books you should avoid". (Personally, I don't want to go there. ;-)
      • Show them the monastery, and introduce them to etiquette of posting.
      • Show them newsgroups and #perlmonks.
      • Introduce them to davorg's NMS.
    • Where do I go next?
    • Finally, talk about How to stay connected.
      • Introduce them to use perl.
      • Describe the ongoing Perl 6 work. Show them where to find the apocalypses and the exegeses.
      • Talk about TPC and YAPC: how much they cost, where they are this year, and so on.
    1Wish that one worked. ;-)

    Think of yourself as conducting a tour of, say, ancient Egypt. Right now, you're doing a sightseeing tour for informed visitors. Don't try to turn them into Egyptologists yet, but just show the ruins and the digs. Then show them when American University in Cairo accepts applications!

    Good luck in any case. This sounds very useful and fun.

      Agreed. "How do I join the club?" looks like the question at hand. Perl culture is strong and obvious. The best or most trustworthy "how to's" and "where's?" are not however always obvious.

      There is so much available that knowing where to start can seem to be intimidating. Maybe include a number of interesting uses of Perl and other success stories for the rah-rah section.

      Saint VSarkiss looks to have hit it on the head. In fact, there's probably some kind of publication/book/site idea in this idea somewhere...

      Maybe you could give them all pre-created login/pw's to the monastery and other useful sites as their "free gift" for attending. :)

      Orienting and reassuring novitiates is an honorable and needed step.

      Red Bumper Sticker: If this looks blue you're going to fast!

Re: Camel Fishing
by lachoy (Parson) on Feb 08, 2002 at 21:32 UTC

    In addition to the resources mentioned in Teaching a class, you might also look at Picking Up Perl. It's still in the works (isn't everything?) but may be helpful.

    M-x auto-bs-mode

Re: Camel Fishing
by chaoticset (Chaplain) on Feb 09, 2002 at 14:34 UTC
    ++VSarkiss...having said that, and understanding the shift in the material you're going to be presenting, consider calling it Cultured Perl. ;)

    In all seriousness -- the time I've spent developing a barebones relationship with the Perl Culture has been invaluable. I know where to go with any good code I come up with, problems I have, and news I need.

    perldoc, CPAN, ask's beginners list, the Monastery (of course!), c.l.p.m., use.perl;...cover the big resources, as stated, and warn them from a few key pitfalls (such as posting before thinking, or Matt, I won't say it.) Consider pointing out the idiomatic nature of the language.

    Once you've got them set up on the Monastery, I suspect Perl culture will suck them in on its own. :)

    EDIT: acknowledged purposeful repitition

    You are what you think.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://144213]
Approved by root
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2018-07-23 14:11 GMT
Find Nodes?
    Voting Booth?
    It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

    Results (469 votes). Check out past polls.