Differences between revisions 22 and 23
Revision 22 as of 2020-08-14 07:21:09
Size: 3985
Comment:
Revision 23 as of 2021-03-30 09:17:21
Size: 3985
Comment:
Deletions are marked like this. Additions are marked like this.
Line 52: Line 52:
     ||<style="border:none;">`-t`||<style="border:none;">test phase, don't timestamp, don't update logs||
     ||<style="border:none;">`-m`||<style="border:none;">mark phase, don't run if already marked||
     ||<style="border:none;">`-t`||<style="border:none;">test phase, won't timestamp, won't update logs||
     ||<style="border:none;">`-m`||<style="border:none;">mark phase, won't run if already marked||

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 item 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 10 0.1 hard (closed) @7" | smsaddfield

    • The input format of smsaddfield is based on the output format of smsfield -v

      smsfield -v
      Running Tcl8.6...
      ClassKey patstring \d\d\L\d\4{\A}\4{\d} [0-9][0-9][a-zA-Z][0-9](([A-Z])([A-Z])([A-Z])([A-Z]))(([0-9])([0-9])([0-9])([0-9])) (secondary closed) @0
      StudentID patstring \7{\d} (([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])) (primary closed) @1
      Name name  (secondary closed) @2
      Program patstring \4{\d}/\d (([0-9])([0-9])([0-9])([0-9]))/[0-9] (secondary closed) @3
      Plans string  (secondary closed) @4
      Login string  (secondary closed) @5
      SpecialFlags set audited_subject;z satisfactory;s unsatisfactory;u enrolment_continues;e withhold;w query;q further_assessment;f absent;a newname;n consideration_received;c consideration_acknowledged;y z->!(s|u|e|w|q|f) s->!(z|u|e|w|q|f) u->!(z|s|e|w|q|f) e->!(z|s|u|w|q|f) w->!(z|s|u|e|q|f) q->!(z|s|u|e|w|f) f->!(z|s|u|e|w|q) c->!y y->!c (privateclosed) @6
      Comment text  (private) @7


    CategoryMarks

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

  • To test the submission pass a simple test, create a dryrun file under $WORK/assignment

  • 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, won't timestamp, won't update logs

        -m

        mark phase, won'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)