Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2013-01-08 12:21:20
Size: 3180
Comment:
Revision 13 as of 2020-06-16 16:19:38
Size: 4288
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Autotesting
#acl All:read
Line 2: Line 5:
||<#CCCC00-4>||
||<#FFFFAD> [[give.spec/subspecs|Submission spec]]||<#FFFFAD> [[give.spec/runspecs|Autotesting spec]]||<#FFFFAD> [[http://www.cse.unsw.edu.au/~give/Admindata/tutors/xmark.html|Xmark]]||<#FFFFAD> [[Plague|Plagiarism Detection]]||
Line 3: Line 8:
 * [[Give|Install give and sms for a new session.]]
 If you have installed give and sms, proceed to next step.
 * [[Give|Install give and sms for a new session.]] If you have installed give and sms, proceed to next step.

 * Create the assignment field in sms
   * '''Interactively:''' '''''Student''''' &rarr; '''''Maintain Fields''''' &rarr; '''''Insert'''''
   . To insert before the Comment field, click on the comment in the listbox, then click on the Insert Button.
   ||'''Privilege'''||'''Students'''||'''Tutor'''||
   ||Open||Visible||Can Edit||
   ||Closed||Visible||Can't Edit||
   ||Private||Hidden||Can Edit||
   ||Private Closed||Hidden||Can't Edit||

   * '''Commandline:'''
   e.g. echo "assign1 mark 0 8 0.1 hard (closed)" | smsaddfield
   . Use the output of this command ~+`smsfield -v`+~

Line 6: Line 25:
   * 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 13: Line 36:
   * 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 16: Line 42:
   * ~+'''`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 23: Line 51:
     * `tests` directory
     * `results` directory
     * ~+`tests`+~ directory
     * ~+`results`+~ directory
Line 28: Line 57:
Line 34: Line 62:
  * ~+`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 36: Line 66:
Line 39: Line 70:
    . ~-''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 41: Line 73:
Line 42: Line 75:
  * '''&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.

  • Create the assignment field in sms
    • Interactively: StudentMaintain FieldsInsert

    • To insert before the Comment field, click on the comment in the listbox, then click on the Insert Button.

      Privilege

      Students

      Tutor

      Open

      Visible

      Can Edit

      Closed

      Visible

      Can't Edit

      Private

      Hidden

      Can Edit

      Private Closed

      Hidden

      Can't Edit

    • Commandline: e.g. echo "assign1 mark 0 8 0.1 hard (closed)" | smsaddfield

    • Use the output of this command smsfield -v

  • 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)