St. Cloud State University Academic Computer Services Grader written by Steve Jennen May/June 1990 DISCLAIMER This software is provided "as is" and St. Cloud State University provides no warranties of any kind. This software is also hereby submitted to the Public Domain. You may copy, modify and distribute this program as long as this title page remains intact. If you find any bugs in the program or have any comments about the program, I'd like to hear about it. Send mail to: jennen%tigger.decnet@msus1.bitnet SCSU Academic Computer Services Grader I. Introduction II. Installation procedure for VAX/VMS III. Installation procedure for PC/MS-DOS IV. General information for both PC/MS-DOS and VAX/VMS I. Introduction This is YAGP - "Yet-Another-Grading-Program". This type of program must have been written hundreds of times over by every computer science student there is. I myself, ironically, had to write a simple program to tally the number of A's, B's, C's, D's and F's given a list of student's scores for a CSCI class AFTER I had received the go-ahead to do this project. The SCSU Grader is over 6000 lines long, written in C. My CSCI project was only 150 lines written in Modula-2. Of course, my CSCI project wasn't written to interface with humans. The SCSU Grader can do more than just total the student's scores, compute percent and report back the student's letter grade. It will also allow the user to weigh individual tests, quizzes or assignments and then compute percent and letter grade. Furthermore, the SCSU Grader allows the grouping of tests, quizzes or assignments and assigning weights to the group as a whole. These methods of computing grades should satisfy most instructors. Another feature of the SCSU Grader is the capability to run on both the VAX under VMS and on the PC running PC/MS-DOS. At any time, the user may transfer their class files from one system to the other by following a simple procedure. Most users, I think will use the SCSU Grader on just one system, and not use the file transfer capability of the program. That's OK. However, it's there if you need it. When running on the VAX, the reports may be directed to any print queue the user desires and printed on any size form. By directing the reports to a staff print queue, the instructor is assured that their reports won't accidently be picked up by a student as he's rummaging through his printout drop-box. Or perhaps the instructor just wants his report laser printed. II. Installation procedure for VAX/VMS There are two things that must be done: 1. Compile and Link the program ( Grade.C ) 2. Setup the QUEUES.DAT file and logical Compiling and linking the program is relatively straigtforward. I use CC/NOOPTIMIZE GRADE.C and LINK GRADE. I use nooptimize when compiling because it's roughly twice as fast and doesn't produce any smaller code. Setting up the QUEUES.DAT file is also easy. The file format is as follows: Queue_name Form_Width Form_Length ------------------------------------------- sys$print 132 99999 gismolw 80 60 Note that if there are two queues (as above), the actual text file (QUEUES.DAT) should only be two lines long. It should NOT contain the header you see above, that is simply for informational purposes. The delimiter between the three fields may be any amount of whitespace, either spaces or tabs or both. The Logical that is expected for the location of the QUEUES.DAT file is SCSU$GRADER. The logical name may be changed, but the file MUST exist with at least one print queue in it. This same logical is used for the location of the help file (HELPFILE.DAT). III. Installation procedure for PC/MS-DOS If you do not have a copy of the executeable and you would like to compile the program, then you need a copy of Microsoft's QuickC version 2.0 or above. I haven't tested it with any earlier versions of QuickC, but I didn't use anything real fancy either, so it may compile just fine. Before compiling, you need to set the stack size to 32K and you may set the RELEASE version compiler flag. By setting the release flag, the compiler will produce an executeable approximately 50K smaller in size. When compiling, you will run into 3 warning messages. These warnings will not affect the program in any way and may just be ignored. I don't know why I don't get the same warning when compiling with VAX C, but that's another story. There is one other file that should be distributed with the GRADE.EXE file and that is HELPFILE.DAT. This file must be in the current default directory location during operation of the program. IV. General information for both PC/MS-DOS and VAX/VMS Please note that the SCSU Grader will only search the current default directory for grading files.