DCS grading programs

gsub

Gsub "submits the marks" for a course; that is, it copies marks from a grades file into a file of the form used for official final-grades submission.

Usage

gsub [selection options] [-m markname] [-D Dept-file] [-F Faculty-file] [files]

Details

Gsub takes a mark named markname from the Departmental grades file named Dept-file and copies it into the Arts and Sci- ence class list from Faculty-file. The output goes into the standard output, which will be the same as the Faculty-file but with marks inserted in the right place.

Neither the Dept-file nor the Faculty-file is changed.

If any of markname, the Dept-file or the Faculty-file are missing, gsub interrogates the user for the missing items.

Example

Here are three sections with instructors A, B and C being combined into a single final grade file, starting from three marks files in different formats:

        gsub -m Finl -D Amarks -F Faclist > out.a 2> err.a
        gsub -m grd -D Bmarks -F out.a > out.ab 2> err.b
        gsub -m FM -D Cmarks -F out.ab > out.abc 2> err.c
        rm out.a out.ab
        markscan out.abc
At each run of gsub, more marks are added to the list, and the output from each run is used as the Faculty-file for the next run. Note the use of markscan to check the final output.

Submitting your marks

After your final marks have been calculated and put in the format the Faculty wants, you have to have them approved by the departmental chair. Print the file taken from gsub's standard output and bring it to the Undergraduate Office along with the completed statistical summary form from the Faculty. If a letter is required because your grade distribution is unusual, bring that too.

At the same time, e-mail the final output file from gsub to the Undergraduate Office so that it can be sent to the Faculty. It travels on an MS-DOS formatted diskette, so that your marks are not exposed to transmission by e-mail outside the Department.

Please also bring a printed copy of your term marks to the Undergraduate Office, preferably in the form provided by garchive. This helps when your students ask questions, as they always do, and when your grades need to be re-calculated in your absence for students with problems or petitions.

How it works

Gsub skips any initial lines in the Faculty-file -- that is, lines that do not contain valid student data -- and then processes all the remaining lines of Faculty-file as student records. It extracts the student number, looks it up in Dept-file, retrieves the mark markname, and installs its value in the appropriate position in the Faculty record. Then it emits the modified Faculty record on the standard output.

In Dept-file, only students meeting the [selection criteria] are considered. Consequently, you should be careful about using these criteria: only de-select a record if you are sure the data in it are included in another record that is not de-selected.

Errors and warnings

Gsub complains on the standard error output when it encounters various problems, all of which require human intervention to avoid submitting erroneous marks. When a problem is encountered, gsub's solution is to skip that student, so most error messages mean that you should take a careful look, fix the problem, and re-run gsub so that the student does get a valid mark.

Causes of warnings:

After working through the entire Faculty-file, gsub provides summary messages telling you if there were students who did not receive marks, if there were Dept-file records for any students who already had marks, or if there were students who had duplicate Dept-file records.

Except for students with missing marks, all of these are potentially serious, and you should be unhappy until you get a run of gsub without these messages.

It may or may not be a problem if there are students without marks. If you have multiple grades files, all contributing marks to a single Faculty marks reporting file, then only the last run of gsub is expected to fill in marks for all the students. Also, in cases of academic offences that have not yet been resolved, the correct procedure is to leave the marks blank and write a memo requesting grades of "NGA". Consequently, gsub has no way of knowing whether missing marks are an error; only you can tell.

Changes since the previous version

These are the noticeable changes: