Organization

Organization refers to the structure in which course materials are arranged. It is both the public face of the course and its organizational framework. Although it resembles a textbook in some respects, it also differs in several important ways -- it will evolve and grow over the term and it can be accessed and displayed through a Web browser. Since organization influences the ways instructor and students will use course materials, these two discussions should be read in relation to one another.

The course includes everything you need to present lectures in the classroom using a Web browser instead of overhead transparencies, handouts, or other conventional materials. Many lectures include example programs whose code can be discussed and which can be executed directly from a browser. It also includes templates to help students set-up homepages for their course-related work. And it includes several on-line tools to facilitate student - instructor - content interaction. A list of specific types of materials is included, below.

There are three goals for this discussion. First, it outlines the types of course materials provided by AWL for use by instructor and students. Second, it presents and discusses a default organization for the course. Third, it shows how you can customize both structure and materials to meet your particular needs and preferences.


Course Materials

Below is an outline of course materials, followed by brief discussions of the different types. Links are provided to most of them; you may also wish to look at an example course web taught by the author during the Fall, 1996, semester.

Administrative

Primary access to the course is provided through a Coursepage. The left panel provides easy navigation to the most frequently used sections, such as the class schedule and lessons. The right panel includes a top-level outline of course components. Subsequently, when an anchor is followed, only the contents of the right panel change. In current browsers (e.g., Netscape 3.0 and later), the browser's backward and forward arrows also change only the contents of the right panel.

A Abstract provides a one-page description of the course, suitable for announcing the class several months before it is offered and for publication in lists of courses. A Welcome statement is a brief announcement that can be the first thing published under the class coursepage, welcoming students who have enrolled in the course. A class Description outlines specific requirements for the course, the grading policy, etc.

Lessons

Most of the technical content for the course is included in a set of Lessons. These are substantial presentations covering topics that would normally occupy one or two class meetings and can be used directly as lecture materials. Most include illustrative code intended to be discussed in class. Both the Java code examples and the Perl CGI examples can be executed through a Web browser during the lecture. Additional topics provide background information on the Internet, WWW Architecture, and WWW Page preparation.

Schedule

The backbone of the course is the schedule. It lists each class lecture, its topic, and assignments due that day. It also includes links to course content (lessons). The initial link off each date on the schedule is to a brief Introductory Note for that lecture. It, in turn, links to one of the discussions included in the Lessons section.

Introductory Notes

Each class lecture is introduced by a brief, one-page note. It identifies the goals for the class, provides a summary of the material that will be covered, links to the appropriate lesson that will provide the actual content for the lecture, and concludes with an assignment for that class meeting.

Students

In the default course, students present their work for the course as Web pages referenced from a course homepage (coursepage) each maintains for that purpose. All participants should be listed on a page of participants that includes links to their respective coursepages. Templates are provided for both the list of participants page and a student coursepage.

Projects

The Java segment of the default course concludes with a substantial team project. These projects occupy the last 4 -- 5 weeks of the course and are done by teams of 2 -- 4 students. To provide easy access to projects, a projects page should be used that, in turn, links to a homepage for each project. Templates are provided for both the list and the individual project pages.

Assignments

Several programming assignments are included. In the default course, much of the work is concerned with a moderate-sized project for the Perl and CGI segment and a more substantial team project for the Java segment. Consequently, only a single Perl assignment and three short (two-week) Java assignments are included. Other class designs may wish to include additional short assignments and omit one or both of the larger projects. Both the Perl and Java assignments include executable programs that can be run from the course schedule to help define requirements.

Exams

The default course includes two exams: a mid-term and a final. Both are included in HTML format. They may be handed out in class in paper form, but posted to the schedule after all students have completed them.

On-line Tools

The course includes several on-line tools. One of the most valuable is forums or newsgroups that address topics of concern to the class and are used primarily by class members. (An instructor could limit participation to class members, but the author has not found such limitations necessary in past classes.) Another useful tool is a search engine that indexes just class-related materials. This enables participants to quickly locate particular pages from class materials that they may recall but whose location in the class structure they can't recall. A third tools that some classes may find useful is an chatroom. This may be particularly helpful for classes taught using a distant learning format, but be less useful for conventional classes that don't have a critical number of participants. (It's frustrating to go to a chatroom and find no one "there.")

The list of potentially useful on-line tools is open-ended and will grow in the future. The three that are listed here are those the author has found most helpful. The individual instructor should locate and install (or have installed) the necessary software to support these services in his or her class environment, if they are desired. Free or inexpensive programs are available for all three types of tools.


Default Course Structure

The course has two structures. One is the public, logical structure that is presented through the coursepage. It is this structure that individuals see using a Web browser. The second structure is the physical, directory structure in which class materials are stored. It is accessed by a Web server or by a user through the operating system. Normally, only authors are concerned with the second. Since you, as instructor, may be adding or changing the pages included in the course, you should be familiar with both structures.

Logical Structure

To explore the logical structure of the default course, you may wish to open a second browser window and navigate through the materials in it while reading the comments, below. Here is a link to the Coursepage. I will leave it up to you to explore the course's logical structure, beginning from that starting point.

Physical Structure

The physical structure is the directory structure in which course materials are stored. Below is an outline of its higher levels along with selected examples of lower level structures. Lower level structure should be explored more fully by browsing the directory structure provided to you by AWL. This structure and the way you will use it will be described in the next section.

Customizing the Structure

When you subscribe to this AWL on-line course, you will be provided with a default version of the course that is suitable for use virtually "right out of the box." However, you will most likely want to add your own coursepage and you will need to add participant and project lists for your class. Thus, you need to be able to make at least minor modifications to the default version. You may wish to make more substantial changes to make the course fit your class' needs, your institutions resources, and your own preferences. In this section, you will learn how to customize the course.

Concept

To enable you to modify and extend the course without having to interact with AWL personnel, we have developed the following strategy.

First, a complete version of the course is maintained on the AWL Web server to which you and your students will have access. We will refer to this version as the Site.

Second, you will be supplied with a version of the course that is identical in structure to the Site that you will maintain on a server at your institution. We will refer to this version as MySite. Thus, MySite has a corresponding directory for each directory in Site and, similarly, a corresponding file for each file. However, so that you will always have the most recent version, the files in MySite that are delivered to you will be stubs and will not contain actual course content. Instead, they will redirect queries to the corresponding file in the AWL Site.

Once MySite is installed on a local server, you may customize it by overriding stub files with content files of your own. You may also extend MySite by adding new files that have no corresponding file in Site. If you wish, you may download HTML versions of course materials that you can edit and include in MySite, rather than starting every customized page from scratch.

This concept is depicted in the Figure, below. Site is shown on the right, MySite on the left. MySite began as a directory structure whose files were all stubs, indicated by "ovals" in the Figure. However, in this example, the instructor has provided an alternative coursepage file, at the root of the MySite tree. He or she has similarly replaced a stub in the right branch and added an entirely new page in the left branch.

Figure. Site, shown on right, and MySite, on the left. Stub files in MySite shown as ovals. Several files have been overridden or added to MySite. When a Web browser fetches a stub file, it displays the corresponding content file from Site.

When a student or other user accesses one of the stub files, the server, first, delivers that file to the browser. The contents of the stub file tell the browser to fetch the corresponding file from Site and display it, rather than the file originally obtained from MySite. If the file obtained from MySite is not a stub file but, rather, a content file, it will be displayed and the corresponding file in Site will not be fetched. Each time a link is selected, this same fetch procedure is followed.

Implementation

The technical feature that enables this substitution of files from Site for stubs in MySite is the HTML META tag that can be added to the header segment of an HTML page. It allows the page to specify alternatives to certain HTTP header parameters that would normally be generated by a browser or server. To allow the MySite stub to be replaced by the Site content file, the MySite stub will include a Refresh meta tag. To insure that relative links included in a page are evaluated relative to the MySite directory structure, a Base meta tag is used. It specifies a URL that is used as the base from which all relative links are evaluated; consequently, it will specify the root directory of MySite, as a URL.

This does NOT work. This is how I WISH it worked. We have to find a solution for this, preferably without sending everything through CGI

Below is an example MySite stub file:

<head>
<title>www architecture</title>
<META HTTP-EQUIV="Refresh" CONTENT="0;
  URL=http://www.cs.unc.edu/~jbs/projects/
  aw/site/docs/notes/1-2.html">
<META HTTP-EQUIV="Base"
  CONTENT="URL=http://www.cs.unc.edu/~jbs/projects/
  aw/mysite">
</head>

Making Changes

Customizing a file is straightforward. Access it from the AWL Site. In your Web browser, view the document source and save it in your environment. You will then have an HTML version of the file on your local machine. Make whatever changes you wish to customize the page. Then replace the corresponding stub file in your MySite directory structure with the customized file, being careful to use the exact same name. Of course, if you wish to begin afresh, rather than starting with a default page, you may do so.

You may add a file to MySite just as you would add a file to any Web structure. However, realize that you may need to update other pages in order to include links to your new file. If so, follow the procedure described above. Be sure to use relative links.

Example

To see how customized pages can be intermixed with standard pages, you may visit a small example MySite. It is a subset of the standard course Site. The only valid pages are the coursepage, the schedule, and notes for the first two lectures on the schedule.