mkogg.py: Fix 'self.get_mp4_metadata(self, source)'
[blog.git] / posts / Course_website.mdwn
1 [[!template id=gitrepo repo=course]]
2
3 Over a few years as a TA for assorted introductory physics classes,
4 I've assembled a nice website framework with lots of problems using my
5 [[LaTeX]] [[problempack]] package, along with some handy `Makefiles`,
6 a bit of [[php]], and [[SSI]].
7
8 The result is the `course` package, which should make it very easy to
9 whip up a course website, homeworks, etc. for an introductory
10 mechanics or E&M class (431 problems implemented as of June 2012).
11 With a bit of work to write up problems, the framework could easily be
12 extended to other subjects.
13
14 The idea is that a course website consists of a small, static HTML
15 framework, and a bunch of content that is gradually filled in as the
16 semester/quarter progresses.  I've put the HTML framework in the
17 `html/` directory, along with some of the write-once-per-course
18 content (e.g. Prof & TA info).  See `html/README` for more information
19 on the layout of the HTML.
20
21 The rest of the directories contain the code for compiling material
22 that is deployed as the course progresses.  The `announcements/`
23 directory contains the atom feed for the course, and possibly a list
24 of email addresses of people who would like to (or should) be notified
25 when new announcements are posted.  The `latex/` directory contains
26 LaTeX source for the course documents for which it is available, and
27 the `pdf/` directory contains PDFs for which no other source is
28 available (e.g. scans, or PDFs sent in by Profs or TAs who neglected
29 to include their source code).
30
31 Note that because this framework assumes the HTML content will be
32 relatively static, it may not be appropriate for courses with large
33 amounts of textbook-style content, which will undergo more frequent
34 revision.  It may also be excessive for courses that need less
35 compiled content.  For an example of another framework, see my
36 [[branch|Parallel_computing]] of [Prof. Vallières'][MV] [Parallel
37 Computing][phys405] website.
38
39 [MV]: http://drexel.edu/physics/contact/facultyDirectory/Vallieres%20Michel/
40 [phys405]: http://www.physics.drexel.edu/~valliere/PHYS405/
41
42 [[!tag tags/code]]
43 [[!tag tags/web]]
44 [[!tag tags/teaching]]