I've only taught classes to people who already knew how to program and wanted/had to learn Perl. In other words, I've never taught "How to program" using Perl, only "How to use Perl" if you're already a programmer. You don't say so explicitly, but I presume you're in the former camp. (I've taught "beginning programming" classes, but not with Perl.)

You may want to consider a specific area to concentrate on, rather than everything at once, or an academic approach to CS. In beginning classes, I've found it very useful to have a "class project" or "term project" to focus on, which allows you to introduce the motivation for particular subjects. Let me illustrate with a couple of examples.

Let's say you pick "A program to help you organize your CD collection" as the final project. Some subjects you could teach from here are data structures (how do you represent the CD collection in memory?), object persistence (when you buy a new CD, how do you save it in the database?), user interface design (what's a nice way to look for songs and CDs?) and so on.

Another example would be "A web site that lets your friends sign your guestbook with comments." A good topic for one or more classes would be authentication (How do you know this visitor is who s/he claims to be?) Object persistence and UI design are big parts again, but this emphasizes CGI and web interfaces over databases.

With any of these topics you need to introduce variables ("How do we represent a visitor/CD in our program?") and control structures ("How do we make a list of every visitor/CD?") but the project gives you a context.

Of course, a lot of what you select depends on the resources available to you: computers, connectivity, databases, class time, how much time you can dedicate to answering questions outside class, and so on.

In summary, pick a (relatively) sizable chunk of code to deliver by the end of the course. Write it yourself, so you know there's no hidden gotchas (at least write big parts of it). Then organize it into topics, and you've got your syllabus.

Then the hard part starts. ;-)


In reply to Re: Teaching a class by VSarkiss
in thread Teaching a class by jonjacobmoon

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.