See the file COPYING in the main distribution directory for copyright notice. This file contains help messages for grading software. The message for command FOO begins after a line >>>> FOO and ends at the next such line, or at a line beginning <<<< or at the end of file, whichever is first. >>>> assign-letter-grades Usage: assign-letter-grades [-h] [-H] [-o OUTFILE] [-s SORT-COL] [-x] [COL ...] Assign letter grades according to the current grade book and current grade scale. Output to file OUTFILE (default standard output). COL is the name of a column or grade category to print in the report. The name Total denotes the total numeric score, Grade indicates the letter grade, and Code indicates the codeword selected by the student at login (replaced by the login surrounded by question marks if missing). By default, columns SID, Name, Final, Total, and Grade are printed. Unless -H is present, the columns SID and Name will always be present. The column SID column is obfuscated if -x is specified. The output is sorted by SORT-COL (which need not be printed). <<<< >>>> bug-submit Usage: bug-submit [-h] ASSIGN Submit the contents of the current directory to the class instructors for help and advice. You must have a file named ERROR in the directory, which should contain a description of your problem. ASSIGN must be the name of a valid assignment. >>>> check-missing Usage: check-missing [-h] [ ASSIGN ... ] Check to see if there are any submissions for the given assignments that you (a reader, presumably) are supposed to grade but haven't yet. By default, check all assignments. [See also 'enter-grades'.] >>>> check-register Usage: check-register [-h] Check to see if you are registered, and print out the information you supplied if you are registered. [See also 'register' and 're-register'.] >>>> enter-grades Usage: enter-grades [-h] [-F] [-P] [-L] ASSIGN enter-grades [-h] [-F | -c] [-P] [-b] [-L] -f INPUT-ROSTER [ ASSIGN ]" Enter grades for assignment ASSIGN. If an INPUT-ROSTER file is supplied, read previously prepared grades from there, otherwise interactively. Report on errors found. With -c, check the grades without submitting them. If ASSIGN is defaulted, the guess its name from INPUT-ROSTER, if possible. When entering grades by hand, you may abbreviate---e.g., 'cs61b-aa' as 'aa' if cs61b is the class master. To enter grades for students who haven't submitted or for whom you are not officially responsible, precede the login with a + (plus) sign. If you override a previous grade with a different one, you will get notified and prompted; using -F usually suppresses this check and enters any overriding grade without prompting. By default, readers other than instructors are NOT allowed to override other readers' grades, regardless of the setting of -F. However, if ONLY_INSTRUCTORS_OVERRIDE is set to 0 in the grading params file, readers will be allowed to override other readers' grades. With -L, you will not overwrite a higher grade with a lower one. If the assignment involves partnerships, then enter-grades will automatically give the same grade to all partners, unless you specify -P. In cases where there are several submissions indicating different partnerships, however, you will have to enter partners' grades separately. The -b (batch) option suppresses merely informational messages and does not check with the user before submitting or overriding grades (implies -F). A grade entry contains a numerical score followed by optional additional comments. To delete a previously entered grade, enter '---' as the score. Anything in a comment that follows a "//" (C++-style comment character) is hidden by glookup unless specifically requested. <<<< >>>> get-bug Usage: get-bug [-h] ASSIGN LOGIN[.TIMESTAMP] Unpack the error-report submission for assignment ASSIGN with the given LOGIN and TIMESTAMP (by default, the latest) into the current directory. <<<< >>>> list-partners Usage: list-partners [-h] ASSIGN [ LOGIN ] List partnership information for LOGIN on assignment ASSIGN, or for all logins if LOGIN is defaulted. The program will warn of anomalies, such as partnerships for the same student that conflict. <<<< >>>> get-subm Usage: get-subm [-h] ASSIGN LOGIN[.TIMESTAMP] Unpack the submission of assignment ASSIGN with the given LOGIN and TIMESTAMP (by default, the latest) into the current directory. For assignments with partnerships, the resulting files will include MY.PARTNERS, created by submit, containing a list of all students' logins in the partnership. <<<< >>>> get-submissions Usage: get-submissions [ -h ] ASSIGN [ PATN ] Find all submissions for assignment ASSIGN that match PATN and create links to them in the current directory. Use this command to prepare for 'lookat' and 'get-partners.' It will also find any log files produced by automatic testing and create links to them in your current directory. Submissions have the form LOGIN.TIMESTAMP, and logs have the form ok-LOGIN.TIMESTAMP or problem-LOGIN.TIMESTAMP. The PATN should be a regular expression (specifically, a Perl regular expression) that matches the ENTIRE submission name. For example, to get all submissions of proj1 for login cs61b-ac, enter get-submissions proj1 'cs61b-ac.*' (be sure to quote the pattern, or the shell will mangle it). If you leave off the PATN, you should get all submissions for logins that are specifically assigned to you for grading (in the -grade clauses of 'reader' entries in the master params file). <<<< >>>> glookup Usage: glookup [-hl] [ -d DIR ] \ [ -s ASSGN1,ASSIGN2...] [ -b BUCKETS ] [ -F FILTER-FIELD ] \ [ USER ] glookup -t [ -d DIR ] [ USER [ ASSGN ] ] glookup -a [ -f csv|std ] [ -d DIR ] Print the currently recorded grades for user USER, which may either be a login or a student's name (in either the form "" or ",", where is a prefix of the student's recorded first name). The program will also recognize abbreviated logins, consisting of the login minus the standard class prefix (generally, the class master followed by a hyphen). By default, USER is the current login. Assignments that have neither been turned in nor graded are marked "---", and those that have been recorded as turned in but not yet graded are marked "***". Portions of the readers' comments that follow the separator "//" are suppressed, unless -l (long form) is supplied. With -s, prints statistics concerning the assignments listed, including mean, mode, quartiles, histogram, and the rank of USER's score(s). When there is more than one assignment, reports on the sum of the scores. The -b option controls the size of the histogram's buckets. If -F is specified, entries that are missing an entry for FILTER-FIELD (typically the final) are not counted. Only authorized accounts can specify an argument other than the current user. The alternative form, glookup -a dumps all students' scores, one per line, with a leading line of title. This form does not include graders' identities or notes. It, too, is allowed only to authorized users. The optional -f argument specifies the format. The default is std, which dumps grades separated by spaces with a header line. The csv option dumps grades as comma-separated values, suitable for input into spreadsheet program. The -t form lists assignments that have been turned in for user USER. The optional ASSGN argument restricts output to that assignment. The -d option specifies the alternative grading directory DIR as the one in which to look for grades. That is, it should be a "grading" directory, such as usually sits in the home directory of the master account. This option makes it easy to inspect a directory from a previous year for grades. Only authorized accounts can use this option (specifically, the account must have read access to the "hidden" grading files. <<<< >>>> init-grading Usage: init-grading -p [ -o PARAM-FILE ] init-grading -i [ -f PARAM-FILE ] Performs various administrative functions on the grading directories. With -p, simply creates a default parameter file in PARAM-FILE (by default, the 'params'), which you will generally edit before installing. With -i, initializes the directories used by the grading suite, creating them if necessary and (re)setting their groups and protections. If the parameter file is not currently installed, this copies it into the grading directory from PARAM-FILE (by default, 'params'). <<<< >>>> lookat Usage: lookat [ -h ] [ -d DIR ] LOGIN[.TIMESTAMP] After you have run 'get-submissions' to select a set of submissions to examine, use lookat to extract the contents of a specific one. The specified assignment goes into subdirectory DIR, clearing any previous contents of that directory. By default, DIR is the subdirectory 'LOOK' under the current directory. If you give only a LOGIN to denote the submission to unpack, you should get the latest submission for the given login (i.e., of those in your current working directory). Any logs are also included in the unpacked directory. <<<< >>>> mail-results Usage: mail-results ASSIGN [ LOGIN[.TIMESTAMP] ... ] Mail logs for all submissions of assignment ASSIGN matching the given LOGINS (default, all logins) and TIMESTAMPS (default, all timestamps) for which results have not yet been mailed. Also mails to partners of the those submitting. If the 'OK' target is defined for the main testing makefile of assignment ASSIGN, then its output is included in the message for successful submissions. If the 'NOT-OK' target is defined, then its output is included in the message for unsuccessful submissions. Where possible, uses registered email addresses for the indicated students. >>>> make-grade-book Usage: make-grade-book [ -h ] [ -p DAYS ] Create a new grade book from all submitted grades. Issuing this command explicitly is usually not necessary, since enter-grades runs it automatically. But you will sometimes need it if when all grades have been entered before an assignment's deadline (!) or files otherwise get out of sync. Normally, only assignments whose deadline is not yet passed are added to the grade book. The -p options indicates a number of days prior to the deadline that the assignment should be added. <<<< >>>> make-main-roster Usage: make-main-roster [ -h ] Create a central roster of all students. This roster is used by 'make-roster' and 'make-grade-book'. <<<< >>>> make-roster Usage: make-roster [ -h ] [ -o FILE ] [ ASSIGN ] Create a roster of all students assigned to the current login for for assignment ASSIGN. Put roster in FILE (by default, the standard output). By default, produces a roster of all students. Reader assignments are determined by the -grade clauses of the 'reader' entries in the master 'params' file. >>>> register Usage: register [-h] Register in the class. Asks for your name and SID. If you find you have made an error, you can correct it with 're-register'. You can check the information you've entered with 'check-register'. <<<< >>>> re-register Usage: re-register [-h] Change your registration information (as entered by 'register'). Asks for your name and SID. You can check the information you've entered with 'check-register'. <<<< >>>> run-tests Usage: run-tests [-h] [-a] [-f] ASSIGN [ LOGIN[.TIMESTAMP] ... ] Run the tests for assignment ASSIGN on all submissions matching the given LOGINs (default, all logins) and TIMESTAMPs (default, all timestamps) that do not already have logs recorded. Does NOT mail the test results; see mail-results. Looks in the subdirectory testing/mk for a makefile named ASSIGN.mk, whose default target should perform all testing, and exit with 0 for complete success, and 1 for problems. There may be a target OK, which should produce a message to mail for submissions that are successful, and a target NOT-OK, for submissions with problems. Unless -a is specified, this command will not test a submission if there is a later submission of the same assignment with the same login name. Instead, it will create a dummy log with a message explaining why the test was not run, and treat the submission as having a problem. Multiple instances of run-tests will not interfere with other, since the system creates a lock for each submission that is graded. Should this lock not be removed (due to a crash or bug), the lock will eventually expire, and running with the -f option will force the lock and grade the submission. To re-run submission tests, first make sure you remove the logs created by any previous test runs for those submissions, which will be in DIR/logs/*/ASSIGN/LOGIN.TIME, where DIR is the main grading directory, ASSIGN the assignment name, LOGIN the account of the submitter, and TIME a timestamp. >>>> submit Usage: submit [-h] [ -u LOGIN ] [-t TEAM] [ -b ] [ -f ] ASSIGN Submit the contents of the current directory for grading. ASSIGN must be the name of the assignment you are submitting. The -t argument indicates the name of a team for which you are submitting (you must be a member). The -t option is valid only for assignments involving partners. In the absence of -t, you will be asked for your partners' names if this assignment was designated to be done in partnerships. The program checks that all necessary files are present and asks which other files you want to submit as well. The - b ('batch') argument asks no questions, but submits all possible, unrejected files. With -f, submit ignores the results of any sanity check. The LOGIN argument allows instructors to submit something on behalf of a student with the given login id. <<<< >>>> check-reader-grades Usage: check-reader-grades [ -nh ] [ READER-LOGIN ... ] Checks for overdue grade reports from the readers and (unless -n specified) mails reminders to the readers. If no READER-LOGINs are specified, checks all readers. <<<< >>>> test-subm Usage: test-subm [-h] ASSIGN [ LOGFILE ] Run the tests for assignment ASSIGN on the submitted files assignment unpacked in the current directory. Place the test log produced by the test in LOGFILE, by default the standard output. <<<< >>>> find-student Usage: find-student [-h] LAST-NAME-PATTERN [ FIRST-NAME-PATTERN ] find-student [-h] LOGIN Print the registration information of all registered accounts for students with account name LOGIN or whose last name matches LAST-NAME-PATTERN and whose first name matches FIRST-NAME-PATTERN (default, anything). The PATTERN arguments are case-insensitive Perl regular expressions. Each pattern must match the complete name. Thus, to find all students whose last name begins with 'le', type find-student 'le.*' (You have to escape or quote '*' for the shell.) <<<< >>>> note-submission Usage: note-submission [-h] [-d TIMESTAMP] -f LOGINS-FILE ASSIGN note-submission [-h] [-d TIMESTAMP] ASSIGN LOGIN ... Create dummy submissions for the indicated assignment and logins. Logins may either come from the command line or (with -f) from a file. In the latter case, each non-blank line of the file should start with a valid login (although invalid ones will be ignored with a warning). The current time is used as a timestamp. With -d, TIMESTAMP (in the form mm/dd/yyyy or mm/dd/yyyy:hh:mm) is used instead (after reformatting and conversion to GMT). Has no effect on logins for which there already are submissions. <<<< >>>> grade-entries Usage: grade-entries ASSIGN Write out the last-posted grades for ASSIGN for all logins, in the format of a file acceptable to enter-grades. <<<< >>>> report-lateness Usage: report-lateness [-h] [-d TIME] [-a | -A | -E] [-X] \ [-w HOURS[,HOURS...]] ASSIGN report-lateness [-h] [-s] [-X] [-w HOURS[,HOURS...]] ASSIGN ... Output information about when the given assignments were handed in, relative to their due dates. With -d, use TIME as the due date (as for the -due options in parameter files, using the form mm/dd/yyyy:HH:MM, where ':HH:MM' defaults to '23:59'). Otherwise, use the -due time specified for each assignment in the parameter file. By default, give the past-due time (in hours) of the latest submission of each late assignment. With -a, list the past-due times (in hours) of all late submissions of each assignment for each student. With -E, list the times of EVERY submission of each assignment for each student, flagging late submissions. The -A option is the same as -E, but restricted to assignments with at least one late submissions. With each of these listings, successful submissions (those passing all tests) are marked with a '+', and unsuccessful submissions with a '-'. Untested submissions are unmarked. With -s, list the total late time (in hours) of the latest submissions for each student, summing over all listed assignments. With -w, waives up to HOURS hours of lateness for the listed assignments. When there are multiple HOURS listed (call them HOURS1, HOURS2,...), waives up to HOURS1 hours of lateness for the first listed assignment, HOURS2 plus any unused waived hours from HOURS1 for the second assignment, and so forth. HOURSi defaults to 0 if not given. Instructors may modify the due dates and times of individual students on individual assignments, and report-lateness will use these exceptions in the absence of the -X option. To make an exception, add a line of the form ASSIGNMENT LOGIN DATEANDTIME to the file deadline-exceptions in the main grading directory. DATEANDTIME has the same format as the -d option. These exceptions take precedence over both -d and the time specified in the params file (in the absence of -X). <<<< >>>> team-members Usage: team-members [-h] [ -u USER ] [ TEAM ] team-members [-h] (-a | -c | -r) TEAM LOGIN ... team-members [-h] -d TEAM The first form reports on team membership for USER (default, current login). If TEAM specified, lists the members of TEAM, if USER is on it or is privileged. If TEAM is not specified, lists all teams containing USER. With -a, add LOGINs to TEAM, if current user is privileged. With -r, remove LOGINs from TEAM if present, if current user is privileged. With -c, create a new team named TEAM (if none yet exists) with membership consisting of LOGINs, or if the current user is privileged. With -d, delete team TEAM, if present. Current user must be privileged. <<<< >>>> get-my-subm Usage: get-my-subm [-h] ASSGN Retrieve an assignment submission from the current user. Unpacks the submission into a subdirectory of the current directory with the same name as, or a name derived from, that of the assignment. <<<< >>>> run-moss Usage: run-moss [-l LANG] [-b BASEFILE,... ] [ -e SUFFIX,... ] [ -n ] \ ASSGN [DIR] Unpack student submissions for ASSGN into DIR (by default, a temporary directory) and then submit to the moss cheating-detection program. LANG is the source language of the submitted programs (defaults to the DEFAULT_LANGUAGE parameter in the params file). It may be any one of 'c', 'cc', 'java', 'ml', 'pascal', 'ada', 'lisp', 'scheme', 'haskell', 'fortran', 'ascii', 'vhdl', 'perl', 'matlab', 'python', 'mips', 'prolog', 'spice', 'vb', 'csharp', 'modula2', 'a8086', 'javascript', 'plsql' BASEFILEs are skeleton files provided for the assignment (comma separated, without spaces). SUFFIXes are the suffixes ("endings") that distinguish the source files to be examined (such as .java). It defaults to the value of DEFAULT_SUFFIXES in the params file. The files are unpacked but not submitted if -n. The latest version of each submission is unpacked into a directory under DIR that has the student's login (or team's name) as its name. Submissions for team members, being identical to the main submissions, are not included. <<<<