It assumes that student grades are kept in a spreadsheet. After every project or test, the instructor wants to email a copy of the grades and their average to each student. Of course, for privacy reasons, each student should receive a copy of only their own grades. In addition, it is useful to include the class average on each project and test, as well as the overall class average.
ugrades is designed to accomodate different spreadsheet applications or different versions of the same spreadsheet application. Such spreadsheet applications usually can export their data to ordinary text files in a form referred to as comma-separated values (CSV). Spreadsheet rows become text lines, with each column separated by a separator (by default, a comma). Since commas may occur naturally in some fields, better choices (depending on the spreadsheet used) include the tab character, the colon, and the semicolon. Some spreadsheet applications may quote some or all of the values with either single or double quotes, which need to be deleted. Thus, each spreadsheet application may have a slightly different definition of this format.
An example of this format as it is used in this application appears below. The separator used in this example is a colon, since the comma cannot be used (it appears within the name field) and student names are stored as Last name, first name.
::Proj1:Test1:::::Total:Average ::50:100::::::150: Tucker:atuck@wm.edu:48:97:::::145:96.66666666 Noonan:rnoon@wm.edu:40:85:::::125:83.33333333 Average::88:91:::::135:90
In this spreadsheet, the first two columns contain student names (required) and email addresses (required), while the last two contain the total points and averages (required). The middle columns contain the grades themselves; some columns are empty because the projects or tests have not yet been assigned. The first row contains the project or test name (required), while the second row contains the total number of points assigned to the project (required). The last row contains the column averages (required). The middle rows contain the individual students; in the example, there are two students. Computed values may appear as either integer or floating point values; the latter may contain an excessive number of decimal digits.
Example:ugrades [ options ] filename
ugrades cs312.csv
Options are:
-d -- divert email to yourself (debug).
-uuserid -- email is sent only to the specified student.
-sseparator -- use specified separator instead of a
comma. For example, to use a colon as the separator character:
-s:
~noonan/bin/gradetools/ to your ~/bin/
directory.