Testing Your Assignment

cd ./student_01 <-- THIS IS YOU


./a_validator [vargs]... ./run.sh [asnargs]... < problem_01

./a_validator [vargs]... ./run.sh [asnargs]... < problem_02

./a_validator [vargs]... ./run.sh [asnargs]... < problem_N

The validator limits both the amount of time and memory your program is allowed to consume, as outlined in the assignment description. Going over the allowed limits for a given problem instance is equivalent to providing an invalid solution to that run. Milestone validation is handled by the same validator as the final assignment, unless noted otherwise in the assignment.

What Your Submission Must Include

A build script: make.sh

Running make.sh will prepare your program for your run script, run.sh

A run script: run.sh

run.sh accepts input on standard in, as required by the assignment, gives output to standard out, as required by the assignment. If you use bash scripting extensions, make sure they work.

Both of these files need to be executable in order to run. Issuing the command 'chmod a+x run.sh' and the command 'chmod a+x make.sh' will give execution access to all users for those files.

And of course your source code needs to be in the submission.

The Basics of Shell Scripting

If you've not done shell scripting before, or you need to be refreshed, this is a pretty good tutorial. In particular, chapter 2 is a good crash course in shell scripting. See here for advanced bash scripting.

Here is an example build script for java, and a run script.

Here is an example build script for C, and a run script.

Submitting A File

Submit your assignment via the submission script. Put all of your files in a directory named with the following convention:

[user]_[assignment #]/

where user is your user name, and assignment # is the number of the assignment.

To submit the entire directory, issue this command:

~cs730/submit [assignment] [directory]

where [assignment] is something like a1 or a1-grad or a1w or a1w-grad (undergrad vs grad, source code vs written questions) and directory is the directory that holds the relevant files. Two examples:

~cs730/submit a1-grad jtd7_01

~cs730/submit a1w jtd7_01w

The first example would submit a directory as source code for assignment 1 of 830, where the second one will submit a directory containing a file that responds to the written questions for assignment 1 of 730. You need to be on agate (or something which mounts the same file system) for this to work. If you get an error stating that there is no such file or directory, you're probably not on agate.

If you submit multiple times, the system keeps a copy of the previous submissions. However, the most recent one (before the deadline) is the one that will be graded (unless you contact us ASAP).