Over a few years as a TA for assorted introductory physics classes,
I've assembled a nice website framework with lots of problems using my
LaTeX problempack package, along with some handy
a bit of , and SSI.
The result is the
course package, which should make it very easy to
whip up a course website, homeworks, etc. for an introductory
mechanics or E&M class (431 problems implemented as of June 2012).
With a bit of work to write up problems, the framework could easily be
extended to other subjects.
The idea is that a course website consists of a small, static HTML
framework, and a bunch of content that is gradually filled in as the
semester/quarter progresses. I've put the HTML framework in the
html/ directory, along with some of the write-once-per-course
content (e.g. Prof & TA info). See
html/README for more information
on the layout of the HTML.
The rest of the directories contain the code for compiling material
that is deployed as the course progresses. The
directory contains the atom feed for the course, and possibly a list
of email addresses of people who would like to (or should) be notified
when new announcements are posted. The
latex/ directory contains
LaTeX source for the course documents for which it is available, and
pdf/ directory contains PDFs for which no other source is
available (e.g. scans, or PDFs sent in by Profs or TAs who neglected
to include their source code).
Note that because this framework assumes the HTML content will be relatively static, it may not be appropriate for courses with large amounts of textbook-style content, which will undergo more frequent revision. It may also be excessive for courses that need less compiled content. For an example of another framework, see my branch of Prof. Vallières' Parallel Computing website.