Differences between revisions 16 and 25 (spanning 9 versions)
Revision 16 as of 2020-06-16 17:45:08
Size: 5293
Comment:
Revision 25 as of 2021-03-30 09:20:31
Size: 4011
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
   * '''Interactively:''' '''''Student''''' → '''''Maintain Fields''''' → '''''Insert'''''
   . 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
   . Use the output of this command ~+`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
}}}
 <<Include(CreatingMarkFields)>>
Line 46: Line 23:
 * To test the submission pass a simple test, create a ~+`dryrun`+~ file under ~+`$WORK/`''`assignment`''+~
   . [[https://www.cse.unsw.edu.au/~give/Documents/Examples/2521-20T1.dryrun|dryrun example]]
Line 49: Line 29:

 * dryrun to test the submission pass a simple test. Create a ~+`dryrun`+~ file under ~+`$WORK/`''`assignment`''+~
Line 69: Line 47:
   . ~+'''`run1`''' ''`assignment`'' ''`group`'' ''`studentID`''+~ - runs specified assignment, output to `$OUT/`''`group`''`/`''`assignment.studentID`''    . ~+'''`run1`''' ''`assignment`'' ''`group`'' ''`studentID`''+~ - runs specified assignment, output to ~+`$OUT/`''`group`''`/`''`assignment.studentID`''+~
Line 74: 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, will not timestamp, will not update logs||
     ||<style="border:none;">`-m`||<style="border:none;">mark phase, will not run a submission if it has been marked||
Line 77: Line 55:
  * ~+`less $OUT/summary.assignment`+~ - show summary of run results, useful when checking the autotesting works   * ~+`less $OUT/summary.`''`assignment`''+~ - show summary of run results, useful when checking the autotesting works
Line 79: Line 57:
  * ~+`grep latepen $OUT/*/assignment.*`+~ - check that the late penalty is applied correctly   * ~+`grep latepen $OUT/*/`''`assignment`''`.*`+~ - check that the late penalty is applied correctly

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, will not timestamp, will not update logs

        -m

        mark phase, will not run a submission if it has been 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)