Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Teaching a class

by VSarkiss (Monsignor)
on Jan 26, 2002 at 01:26 UTC ( [id://141658]=note: print w/replies, xml ) Need Help??


in reply to Teaching a class

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. ;-)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://141658]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (6)
As of 2024-04-16 04:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found