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

Topic revision: r9 - 2009-08-14 - JonathanTemplin
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2014 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback