Chemistry Lab University of Washington Computer Science & Engineering
 UW CSE About Course Webs
  CSE Home   About Us    Search    Contact Info 

 Index of Course Webs
 Course File Info
 Editing Course Webs (TAs)
 Course Computing
 Education
   

Introduction

Instructors create and maintain a per-quarter web for each of the courses they teach. Additionally, starting Autumn 99, the webmaster creates and maintains a single-file per-course web with limited opportunity for instructors to add content to that index. This document explains the hows, wheres, and whys of course webs.

Advance to:

Course Web Structure
Default Documents
Course Web Ownership
Access to Course Webs
Course Web Archives
Per-course Webs
Support for CSE 590

This document was last modified on 21 September, 2001.


Course Web Structure

Course webs are created in the /cse/www/education/courses/ tree (Windows users: that Unix path corresponds to \\ntdfs\cs\cse\www\education\courses), with an index of course webs maintained by the webmaster in /cse/www/education/course-webs.html. Before each academic quarter starts, the webmaster creates a new per-quarter directory for each course being taught that quarter for the use of the instruction team in that tree.

The naming convention for the per-quarter directories consists of two digits from the year, followed by a two-character "quarter code" from the set wi, sp, su, au.

For example, for a course named CSE 333 being taught in Winter 2000, the directory name will be /cse/www/education/courses/333/00wi/, which corresponds to a URL of http://www.cs.washington.edu/education/courses/333/00wi/. (The corresponding Windows path is \\ntdfs\cs\cse\education\courses\333\01wi.)

For convenience, a number of symbolic links are also maintained that serve to allow course webs to be accessed via alternative names:

  • A cseXXX link to each course directory is created. For example, cse333 is linked to 333/, creating an alternate URL of http://www.cs.washington.edu/education/courses/cse333/. These URLs are probably published more widely than the base course URL.

  •  
  • A link from the course web directory to the per-quarter directory for the "currrent quarter," called CurrentQtr, is maintained. The current quarter means variously "being taught right now," "most recently taught," or "about to be taught," depending upon when the course is taught and when the link is being examined.

Instructors: if your course is brand new, you may find that the course web directory for your course isn't yet in place. In such a case, the first step is to check and see if a course group exists to hold ownership of the course web, and if you are a member of the course group (see below). The unix groups(1) command will show you what groups you belong to. Contact support@cs.washington.edu to request the creation of or a change in membership of the course group. Contact the webmaster for creation of the course web directory, most usefully after the group is in place.

Note: Undergrad TAs will need to use a special gateway machine in order to maintain course webs.

Default Documents

You will often see a URL such as http://www.cs.washington.edu/education/courses/CurrentQtr/cse333/. That URL works because the web server is configured to serve a request for a directory with the contents of a "default document"-- that is, a file with a special name. At CSE, that special name is index.html (or index.htm-- either filename will work). Thus, the file corresponding to that example URL is /cse/www/education/courses/CurrentQtr/cse333/index.html. (Windows users: \\ntdfs\cs\cse\www\education\courses\CurrentQtr\cse333\index.html).

The expectation is that instructors will create such a default document in their course web directory. The published URL for each course is of the form http://www.cs.washington.edu/education/courses/CurrentQtr/course-number/, so if the default document isn't created, users will get "document not found" errors.

As an aside, note that we have arranged for URLs of the form http://www.cs.washington.edu/course-number to be redirected to the course web for the current quarter. For example, browsing to http://www.cs.washington.edu/333 (or http://www.cs.washington.edu/cse333) will be cause a redirect to http://www.cs.washington.edu/education/courses/cse333/CurrentQtr/. That's a handy shortcut for users that, again, only works when instrutors create a default document in their course web directory.

Course Web Ownership

Each course will have an associated Unix group by the time it's taught for the first time. The group membership will (or should) consist of all the members of the current teaching team and all the instructors who commonly teach the course.

The per-course web directory (e.g. /cse/www/education/courses/333/) is owned by some common instructor of the course, with group ownership set to the associated group, and is group writable. The per-quarter web directory is owned by the instructor of the course that quarter.

In order to allow collaboration of the teaching team in the maintenance of the course web, all files that are writable by owner in the course web should also be writable by the associated group. In fact, a cron job runs nightly to enforce that rule. Judicious adjustment of the umask of teaching team members that work from Unix can help keep group writability. umask 002 works well.

Access to Course Webs

By default, content in the course web tree is available to hosts from outside the department. Under some circumstances, this may not be what you want. Information on how to control access to your content is in Controlling Access to Your Documents.

Course Web Archives

Course webs from previous quarters can be an asset to the teaching team, to students, and to colleagues at other institutions, so we tend to leave them in place. However, we have a limited amount of disk storage on the web server that we are able to keep actively backed up.

Writing in September 1999, it has never been necessary to delete old course webs because of disk space limitations. We do, however, move them periodically to archival, read-only storage on cheap, low-performance disks. Currently, we are keeping somewhat more than one year's webs in writable storage. When webs are moved to the archive, neither paths nor URLs change, but neither is it possible for instructors to manipulate the content or permissions- such manipulation require an action by the webmaster. The implications of this for course web content providers are:

  1. Try to make any changes to the web content and permissions before the web is one year old.

  2. Contact the webmaster ( webmaster@cs.washington.edu) if you find that you do need to make changes to content in archival storage.

Per-course Webs

Historically, few courses had per-course webs. Links from the course web index were to cseXXX/CurrentQtr/. Downsides to that strategy were twofold:

  1. Each instructor had to include per-course boilerplate in the per-quarter web, such as a course description and links to webs from previous quarters. That led to unnecessary duplication of effort.
  2. Links to the per-quarter web would not resolve in the interim period between the update of the CurrentQtr link and the creation of the web.
Therefore, the webmaster now creates and maintains a per-course web. That web is standardized and automatically created, but it is writable by the course teaching team, which is therfore able to edit it or blow it away altogether. If edited within certain constraints, the changes will persist across academic quarters even as the web is regenerated quarterly.

Discussion refers to the figure at right, which is a thumbnail of a typical per-course web.



The per-course webs are created using the CSE Content Creation and Maintenance Tool, and as such have "orthodox" design elements. A discussion of the editability of each follows:

upper-left thematic image
This image can be changed to any of the standard images supported by the content tool. An easy way to do that is to use the tool to edit the existing file, select a new image, save, then copy the modified file from /cse/www/tmp/ to the course web directory. You can use other image files, but unless it's one of the standard images, it will revert to the default image during the quarter break. Don't like our images? We are happy to install your 133x100 image in the content tool.

titled heading
The course title is obtained from the online course catalog and used to build the title in the heading and browser frame. Except for courses not listed in the catalog, notably 590s, changes will be lost. In the case of courses not in the catalog, the title is inherited from the per-course web, so changes will be preserved.

navigation bar
This is orthodox content that should never be changed, and changes will be discarded at quarter break.

lefthand navigation
You can add your own lefthand navigation using the content tool. In the example image, the "Related Courses" section was added using the content tool. Guidelines: you must introduce your lefthand navigation with a heading (such as "Related Courses"), and you should place it after the standard sections: "Current Quarter," "Previous Quarters," "Prerequisites," and "Standard Syllabus" (some of which will not be present for some courses). If you don't place it after standard sections of navigation, it will be preserved but migrate there next time the per-course index is generated..

HTML content pane
You can add content to the HTML content pane only between two special comments in the file: <!-- Custom HTML follows. See http://www.cs.washington.edu/lab/course-computing/percourse.html --> and <!-- End of custom HTML. -->. Use a text editor or use the content tool, but avoid fancy HTML editors, which add and subtract code in a manner sure to confuse the content tool.

footer
This is orthodox content that should never be changed, and changes will be discarded at quarter break.

By following these guidelines, you can add content to per-course webs that will persist as long as you'd like.

Support for CSE 590

Certain courses, mostly sections of CSE 590 Special Topics in Computer Sciences, are not listed in the online course catalog. These fall into two broad categories:

  1. those that are taught once or twice or have no cohesive theme
  2. those that are taught frequently and have a persistent theme

It is useful to provide a per-course web for those courses in the latter category, but the information we need can't be gleaned from the online catalog. To help create and maintain them, there exists a Per-course Web Configuration tool.

The capabilities of the tool are easily seen by running it (to do so now, click here.) The basic idea is that it creates and maintains a simple per-course configuration file that establishes similar information as is provided by the online catalog for standard courses.

Because the information in the file it creates is used in the creation of any per-course web, and overrides information from both the existing per-course web and the online catalog, it can be useful in unusual circumstances for cataloged courses as well:

  • for correcting or expanding upon information from the catalog
  • for limiting the depth of the "previous quarters" section of a web to a user-specified value

This tool is expected to be used primarily by the webmaster, but is available to any instructor.


CSE logo Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to webmaster]