Testing Your Assignment

cd ./student_01 <-- THIS IS YOU

./make.sh

./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.


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 an Assignment

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. The submitted directory should include everything required to make and run your program, as well as the written submission, consisting of a single pdf file named written.pdf

To submit the entire directory, issue this command:

~cs730/submit [assignment] [directory]

where [assignment] is a1-undergrad or a1-grad (undergrad code vs grad code) and directory is the directory that holds the relevant files. Two examples:

~cs730/submit a1-grad jtd7_01

This example would submit a directory containing for assignment 1 of 830. 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).