Differences between revisions 2 and 3
Revision 2 as of 2013-01-21 11:09:32
Size: 3244
Comment:
Revision 3 as of 2013-01-22 06:17:14
Size: 3345
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
||<#FFFFAD> [[Plague|Plagiarism Detection]]|| ||<#FFFFAD> [[Plague|Plagiarism Detection]]||<#FFFFAD> [[give.spec/subspecs|Submission spec]]||<#FFFFAD> [[give.spec/runspecs|Autotesting spec]]||

Assignment Submission and Autotesting using Give

Plagiarism Detection

Submission spec

Autotesting spec

  • 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

    • 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 subkey and subgroup directives.

  • Enter the submission specification into the give.spec file. Read about subspecs and related submission directives.

  • 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 directory.
  • Enter the autotesting specification into the give.spec file. Read about runspecs and related autotesting directives.

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

      • GROUPS, SUBKEY (exists 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 - summarises the run results, it can reveal problems with the autotesting

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

    • &withhold

    • assignment

    • &end

    • add this to $WORK/give.spec to stop students collecting assignments before tutors have finished marking

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