Student Records and Assignment Management Systems
give - assignment submission, autotesting and marking system
sms - student records management system
give & sms Installation
give and sms are interconnected. Create give environment and sms database in the class account as follows:
ssh into the class account with X11 forwarding: ssh -Y
sms is a tcl/tk app that requires X windows. Running tcl/tk app with X windows is slow. Better ways are:
- Run the installation script:
% give-install -new
% ~give/stable/bin/give-install -new
if ~give/stable/bin is not part of $PATH
% ksh give-install -new
if your login shell is zsh
% give-install -new term
if the term is not the same as the system-wide term, term example 20T3
- The installation perform the following tasks:
Create $WORK ($HOME/term.work e.g. ~/20T3.work)
Create give.spec (if doesn't exists) in
$HOME (does not override existing one)
$WORK (does not override existing one)
(read about give.spec)
Create .giverc in $HOME (overrides existing one)
Create sms database ($SMSDB) under $WORK (can be postponed)
- Download student enrolment data (read about importing nss data below)
Add $SMSDB environment variable to $WORK/.giverc
- The installation can be paused before sms database is created.
- Create the database by running sms directly:
- e.g.
sms ~/20T3.work/20T3db.sms
or
sms
using the value stored in $SMSDB
- Resume the installation with this command:
give-install -update
- Download student enrollment data
- Add course records
- For combined courses, create the database in the primary class account, add a record for each course.
- Add student records
Top menu bar: Student → Add Student Records → External Source
or second menu bar: Add from NSS
From NSS (without classes) - The download will not overwrite class changes in sms
- Add course records
- If there are classes in NSS, an enum field (tut, lab or tut_lab) will automatically be created in sms after the above downloads.
Enter this field when asked for a group field by the give-install script. This field is used by give for assignment submissions.
(Read about &subkey and &subgroup)
- After installing give, update the give environment:
% . ~/.giverc
and insert the line above to the class account's .profile, if not already.
Check that $HOME/give.spec contain the correct configuration for the current term.
Look out for &period is not still set to a previous term. Example
&period=19T3
Check the environment variables: $GIVEPERIOD, $WORK, $SMSDB
% echo $GIVEPERIOD