Walkthrough For Everything to do with Assignments
(with lots of reference to
BitterSuiteWalkthrough)
For This Walkthrough, we will assume that all work is being done with Assignment 1.
Post Assignments on Course Web page.
On the
assignments.html
page, there should be a link to assignment (
a1.html
)
that is commented out. First, move the actual assignment file to the
public_html/assns
folder. Then uncomment the link and test it out.
If it says that you do not have permission to access this folder, you must
change the permissions on the file, so type
chmod a+r a1.html
. The assignment
is now available for students to view.
Create a handin folder
The hand in folder should already be created, but if it is not, simply create a
folder called
a1
in the folder
handin
in the main course account.
Create a marking directory
See
The Bittersuite Page for how to create and format the marking directory.
Prepare Autotests
See
the Scheme specific Bittersuite page for details on testing hierarchy and different options for formatting tests.
Upload Public Tests
In the folder
marking/a1/
, input the following:
mkdir test.pt
cd test.pt
touch runTests
chmod 750 runTests
touch computeMarks
chmod 700 computeMarks
Put the same code from the other
runTests
and
computeMarks
into these files, except, in
computeMarks
, remove the
-f
and
-n
options.
Using the same hierarchy as the autotests, create one simple test for each of the questions.
Ensure that you have all of the right
options.ss
files and
test.ss
files.
Once the assignment is open for submission, uncomment the section on the drop down menu on
the request public test web page so that students can request public tests.
Opening the Assignment for Submission and setting a deadline
First of all, in the folder
handin/a*
, create a file called
.subfiles
In that file, type the names of the files to be submitted. For example:
a1q1.{ss,scm}
a1q2.{ss,scm}
a1q3.{ss,scm}
To open the assignment, types the following in the command window
/u/isg/bin/deadline a1 o
To set a dealine:
crontab -e
This will open up an editor, in which you will write the command that will close
the assignment submission at the right time.
The format you should follow is such
#Comment stating purpose of command
minute hour date month day /u/isg/bin/makelateclone a*
For example, in order to have assignment 1 due at 4:00 on a May 23, use the following
#Assignment 1 deadline
00 16 23 05 * /u/isg/bin/makelateclone a1
Note that we use
*
because the day of the week is not important. Now, as of 4:00 p.m.
on May 23,
a1
will no longer be available for submission on time, but a folder
a1late
will be created where, if they still choose to, students can submit their late assignments.
Running the Autotests
First, put some sample student submissions in the
handin
folder to try out your tests.
From the command line window, use the
RST command.
rst a1 p 1 '*' time
a1
is the name of the folder in handin where the assignments will be found.
p
means that
.ps
files will be created with the students code, ready for printing for the markers.
1
is the number after the
.
in
testp.1
'*'
refers to which students you want to test. To test all the students, use
'*'
. To test one student,
type their use ID between the quotes. To test a group of students (for example, all students whose IDs
start with
b
would be
'b*'
. To test multiple individual students, separate their IDs with spaces, with
all the IDs enclosed in square brackets
'[ m2jones h5smith ]'
time
allows you to test multiple times, and save the results from all of the tests. For example, the first
time you run your tests, use
1
, then
2
and so on.
The results will be saved in a folder
/marking/a1/testp.1.time
Note: When testing many students, use
distrst
instead of
rst
, allowing you to run multiple submissions at once.
Running Moss
See
MossScripts
Preparing Assignments for Marking
Run the Autotests one final time, using
printOut
as the timestamp
distrst a1 p 1 '*' printOut
Once
distrst
has finished, if everything is in order, you are ready to send the assignments to the printer using the following code.
printOut a1 1 printOut lab -g
This will send everything from the printOut timestamp to the Graphics printing station on the main floor of DC (across from the library). The
-g
tag send it to graphics with instructions. The
lab
tag will print out the assignments sorted by lab, so they do not have to be resorted in order to hand back. You will receive an e-mail from Graphics when the assignments are ready for you to pick up.
When you have the assignments back, sort them into equal piles for each marker, and provide each one with a list of the assignments they are marking, as well as the marking scheme and the solutions to the assignments.
Inputting Marks
See
OnlineMarkUpload for details.
--
JonathanTemplin - 12 Jun 2009