I would suggest that the teacher go right to perl's true strength, which is text processing. There is a tremendous amount of text at Project Gutenberg, so that part is taken care of. Download text and analyze it.

First, get through "Hello, World," Then, explain this program, using a chunk of Moby Dick as input:

while(<>) { if (/Ahab/) { print $_; } }
Introduce scalars, arrays, and hashes, all as ways to enhance the analysis of text.

Have the one of the more advanced students show the others how to turn a program into a CGI. Then have another advanced student explain the concept of taint. No one will understand it, but it will be impressive and give the student a reputation as an uber-hacker.

To finish off the semester, introduce the concept of modules and show off fuzzy string matching with String::Approx.

If you have a truly gifted student in the class, ask him or her to write a program to answer certain simple questions about Moby Dick.

This course can work out very well. The trick is to show students how to make simple things simple. Web programming and databases are far more complex than the course needs to be. Just put perl to work on plain ASCII text, and let it roll.

I'll be teaching high school computing this year also, so I hope to see more posts about your friend's course. I plan on covering perl (just for text processing), MACSYMA (as a companion to second year algebra), and Octave (to crunch a few numbers and draw some graphs).

It should work perfectly the first time! - toma


In reply to Re: Can a non-programmer teach Perl? by toma
in thread Can a non-programmer teach Perl? by Ovid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.