Differences between revisions 9 and 10
Revision 9 as of 2018-07-21 11:45:41
Size: 3483
Comment:
Revision 10 as of 2020-06-16 09:09:02
Size: 3688
Comment:
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
Line 11: Line 12:
   * creates ''`assignment`'' directory under the current work directory
   * creates `give.spec` in the assignment directory
   * creates submission directories for each tutorial group. If no tutorial groups, creates `all` and `orphans` directories instead.
   
Read about [[give.spec/subkeysubgroup|subkey and subgroup]] directives.
 * Enter the submission specification into the `give.spec` file. Read about [[give.spec/subspecs|subspecs and related submission]] directives.
   * creates ~+''`assignment`''+~ directory under the current work directory (~+`$WORK`+~)
   * creates ~+`give.spec`+~ in the assignment directory
   * creates submission directories for each tutorial group.
   
. If no tutorial groups, creates ~+`all`+~ and ~+`orphans`+~ directories instead.
     . ''
Read about [[give.spec/subkeysubgroup|subkey and subgroup]] directives.''

 * Enter the submission specification into the ~+`give.spec`+~ file.
   . ''
Read about [[give.spec/subspecs|subspecs and related submission]] directives.''
Line 18: Line 23:
   * If the submit works, the files can be found under the assignment directory.
 * Enter the autotesting specification into the ''give.spec'' file. Read about [[give.spec/runspecs|runspecs and related autotesting]] directives.
   * If the submit works, the files can be found under the ~+''`assignment/group`''+~ directory.

* Enter the autotesting specification into the ''give.spec'' file.
   . ''
Read about [[give.spec/runspecs|runspecs and related autotesting]] directives.''
Line 21: Line 29:
   * ~+'''`genrun`''' ''`assignment`''+~ - compile the spec into shell scripts
     *
`GROUPS`, `SUBKEY` ~-(exists if `&subkey` is not the default `stuID`)-~
     * `compile`
     *
`execute`
     * `compare`
     * `cleanup`
   * ~+'''`genrun`''' ''`assignment`''+~ - compile the spec into shell scripts (below)
     * ~+
`GROUPS`+~
     * ~+
`SUBKEY`+~ (created only if ~+`&subkey`+~ is not the default ~+`stuID`+~)
     * ~+`compile`+~
     * ~+
`execute`+~
     * ~+`compare`+~
     * ~+`cleanup`+~
Line 28: Line 38:
     * `tests` directory
     * `results` directory
     * ~+`tests`+~ directory
     * ~+`results`+~ directory
Line 33: Line 44:
Line 39: Line 49:
  * ~+`less $OUT/summary.assignment`+~ - summarises the run results, it can reveal problems with the autotesting
* ~+`less $OUT/summary.assignment`+~ - show summary of run results, useful when checking the autotesting works
Line 41: Line 53:
Line 44: Line 57:
    . ~-''to avoid a rerun, you can use the `-t` option of rungrp''-~     . ''To avoid a rerun, you can use the ~+`-t`+~ option of rungrp''
Line 46: Line 60:
Line 47: Line 62:
  * '''&withhold'''
  . ''assignment''
  . '''&end'''
  . add this to `$WORK/give.spec` to stop students collecting assignments before tutors have finished marking

  * To stop students collecting assignments before all tutors have finished marking, add the assignment to the withhold directive in ~+`$WORK/give.spec` +~
  {{{
&withhold
assign1
&end
}}}
  .

Assignment Submission and Autotesting using Give

Submission spec

Autotesting spec

Xmark

Plagiarism Detection

  • Install give and sms for a new session. If you have installed give and sms, proceed to next step.

  • give-install assignment

    • creates assignment directory under the current work directory ($WORK)

    • creates give.spec in the assignment directory

    • creates submission directories for each tutorial group.
    • If no tutorial groups, creates all and orphans directories instead.

  • Enter the submission specification into the give.spec file.

  • Test that files can be submitted.
    • The submit command: give cs9999 assignment files..

    • If the submit works, the files can be found under the assignment/group directory.

  • Enter the autotesting specification into the give.spec file.

  • Run the autotesting
    • genrun assignment - compile the spec into shell scripts (below)

      • GROUPS

      • SUBKEY (created only if &subkey is not the default stuID)

      • compile

      • execute

      • compare

      • cleanup

    • genresults assignment submission.tar - generates the standard output of a reference submission

      • tests directory

      • results directory

    • run assignment group studentID - runs specified assignment, output to screen

    • run1 assignment group studentID - runs specified assignment, output to $OUT/group/assignment.studentID

    • rungrp [options] assignment [group] - runs a group of assigments

      • options:

        -v

        verbose

        -c

        remove the temp directory after each run

        -t

        test phase, don't timestamp, don't update logs

        -m

        mark phase, don't run if already marked

    • less $OUT/summary.assignment - show summary of run results, useful when checking the autotesting works

    • grep latepen $OUT/*/assignment.* - check that the late penalty is applied correctly

    • rerun assignment - reset time stamp so that you can run autotesting again

    • rerun assignment group

    • rerun assignment group/assignment.studentID

      • To avoid a rerun, you can use the -t option of rungrp

    • torun assignment - list assignments like late submissions that have not been tested

    • Xmark to mark the assignments.

    • To stop students collecting assignments before all tutors have finished marking, add the assignment to the withhold directive in $WORK/give.spec

      &withhold
      assign1
      &end

Assignment (last edited 2021-03-30 09:20:31 by MeichengWhale)