UC San Diego SearchMenu

Open Computing Model: Course Setup Details

How Unix disk directories are arranged for classes

There is an "umbrella" directory for each class. The home directory of the instructor and TAs are sub-directories of of the umbrella directory. Most students in the class should have OCE accounts, and they will have STORAGE directories under the class umbrella directory. Students who do not have OCE accounts will have HOME directories under the umbrella directory, and those directories will be named according to the naming scheme used in course-specific course models (e.g. for MAE 10 in the fall, the account names would be me10faa, me10fab, etc.). There is also a "public" directory beneath the umbrella directory. For example:

                        /home/solaris/ieng9 (filesystem)
                             cs131f (umbrella dir.)
    |                  |               |              |          |
  cs131f            cs131f1          jsmith        cs131faa    public
 (instructor)         (TA)       (OCE student)     (student)

If you want to make a file available to students a good place to put it is in the "public" directory beneath the umbrella. Students can copy it from that location using a command like this:

cp ../public/sample mycopy

This command will work only while the student is in their directory under the class umbrella. The notation "../public/sample" is interpreted like this: from the current directory, go up one level (..) then down into "public" and find the file named "sample". The file should be "readable by the world":

chmod a+r sample

Note that the security mode settings on the umbrella directory must allow student accounts to both read (r) and access (x) the directory. If the read permission is missing, students will not be able to invoke cshell sub-processes from their class directory. This will cause cshell command files and various utilities such as "script" to fail.

Tailoring the student's working environment --prepfile

Students who have OCE accounts will use them to do their assignments for a variety of classes. The instructor for each class may wish to broadcast messages or tailor the student's shell environment in a special way for the class. The "prep" alias in conjuction with instructor controlled prepfiles answers this need.

The way this works is that students in an OCE-model class, login and enter a "prep" command for the class before starting to work. For example,

prep bw132f

The prep mechanism looks for a prepfile for the class. It expects to find the prepfile in a directory called "public" beneath the class umbrella directory. For example:


The commands in the prepfile are "sourced" by the student's shell. The commands in the prototype prepfile which is automatically provided to OCE courses does the following:

  1. Displays the class broadcast file if the instructor has created one. See below.
  2. Adds the course name to the student's shell prompt.
  3. Checks to see if the student is already located in the class directory tree. If not, it offers to change to the student's directory in that tree.
  4. Peforms any other steps that the instructor adds to the prepfile. This may be used to set environment variables; add directories to path; define aliases, etc.
Broadcasting messages from a broadcast file

Messages may be presented to students as part of the prepfile. This can be accomplished simply by creating a file called broadcast in the public directory under the umbrella directory for the class. This file only needs to contain the exact text that the students should see when they "prep".


In the following example we will assume that the umbrella directory for the class is /home/solaris/ieng9/cs132f. Create the file /home/solaris/ieng9/cs132f/public/broadcast. Put the text of the message in the broadcast file. Make sure the broadcast file is "world" readable:

chmod a+r broadcast

Obtaining homework

For classes set up under the OCE model there is a Turnin program that students can use to submit homework.

Student teams

For some classes it is desirable to have students work in teams. At the request of the instructor, team groups may be established in the /etc/group file. Through this facility teammates can share files, while maintaining privacy from other class members and the general population.