Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

  • give - assignment submission, autotesting and marking system

  • sms - student records management system

Hierarchy

Assignment

/home/cs9999/<term>.work/<assignment>/give.spec

Term

/home/cs9999/<term>.work/give.spec

Course

/home/cs9999/give.spec

System

/home/give/stable/lib/give.spec

&# Default give spec file
&# /home/give/stable/give.spec [copy in lib/give.spec]

&# current session (s1 = session 1, s2 = session 2, x1 = summer session)
&period = 24T1

&# default action: accept students not registered
&acceptorphans = TRUE

&# allow current submission and three backup copies only
&backups = 3

&# limit each submission to 250 Kbytes
&maxsize = 250

At the bottom of the hierarchy is the 'system-wide' give.spec file and at the top is the 'assignment' give.spec file. The directives in the assignment give.spec file will override the directives in the give.spec files below it.

<term> YYT{0,1,2,3} Example: 24T2

give and sms are interconnected. Create give environment and sms database in the class account as follows:

  1. ssh into the class account with X11 forwarding: ssh -Y

    • sms is a tcl/tk application. To run sms, X Window is required.

    • Running tcl/tk app with X Window can be slow. Alternatives are

  1. Run the installation script:

% give-install -new

% ~give/stable/bin/give-install -new

if ~give/stable/bin is not part of $PATH

% give-install -new term

if term is not the same as the system-wide term, example 24T2

  • The installation perform the following tasks:

    • Create $WORK ($HOME/term.work e.g. ~/24T2.work)

    • Create give.spec (if doesn't exists) in

      • $HOME (does not override existing one)

      • $WORK (does not override existing one)

    • Create .giverc in $HOME (overrides existing one)

    • Create sms database ($SMSDB) under $WORK (can be postponed, see ‘Resume the installation’)

      • Download student enrolment data (below)

      • Add $SMSDB to $HOME/.giverc

      • Add &smsdb to $WORK/give.spec

  • The installation can be paused before sms database is created.

Create the database by running sms directly:

sms ~/24T2.work/24T2db.sms

sms

using the value stored in $SMSDB

Resume the installation with this command:

give-install -update

  • Download student enrolment data

    • Add course records

      • Top menu bar: CourseAdd Course

      • For combined courses,

        • create sms in the primary class account e.g. COMP3331/9331’s sms located in cs3331

        • add a record for each course e.g. COMP3331/9331 has two course records in sms

    • Add student records

      • Top menu bar: StudentAdd Student RecordsExternal Source

      • or Second menu bar: Add Students

        • Enrolments - The download will update class (tut, lab, tut_lab) values

          Enrolments (without classes) - The download will not update class values

    • The enrolment downloads creates an enum field (tut, lab or tut_lab) if small group classes exists. Enter this field when asked for a group field by give-install script. This field is used by give for assignment submissions.

  • After installing give (and sms)

    • source give environment

    • % . ~/.giverc

    • Add the line above (if not already) to~/.profile

    • Check the environment variables: $GIVEPERIOD, $WORK, $SMSDB

    • % echo $GIVEPERIOD

    • Check $HOME/give.spec contain the correct configuration for the current term.

    • Look for &period It can be set to the previous term because of Supplementary Exam submissions.

    • &class     = COMP9999 
      &classuser = cs9999
      &period    = 24T1

  • No labels