The test system is here to help you get the right answer and learn through feedback. It allows you repeatedly test your code against a series of explected answers and show you where your answers differ. This is mega-useful if you play your cards right by repeatedly testing. Submit and test alone is, of course, not sufficient. You need to think carefully how to fix problems before you fix and resubmit.

Submission and testing works roughly like this:

Please only submit to your own lastname. If your official university last name has a hyphen, apostrophe, or blank in it, then remove them and make sure your name is from the only the 26 lowercase letters with no blanks. Here are some example name conversions: Vasco de Gamma becomes degamma, Georgia O'Keeffe becomes okeeffe, Jackie Joyner-Kersee becomes joynerkersee, Martin Luther King Jr becomes kingjr., Isabella Sophia Marulanda Arias de la Vega may be marulandaariasdelavega or delavega depending on what the university has recorded as her last name. When in doubt, check what the univesity thinks is your last name. If you know you have the same last name as another student in the class (I will be looking for this) add the first chararcter of your first name to avoid a name collision.

  • Every class that requires submission through the submission system will have a link to the submission page in the support section at the bottom of the class page. You can submit using that web page or use the curl tool to submit it see instruction page for curl on the class page.

  • You submit under your last name as described above. For example "smith".

  • Select an assignment to submit to.

  • Submit a file of the type (tar, simple ascii or whatever) given in the assignment. Failure to submit the right type will give you an error when you submit. Avoid using unusual character sets like Japanese.

  • Some assignments may require you to submit a tar file. If a tar file is required then use the command line command "tar up" your files. Tar up your sources using tar -cvf tarfile files so that when the system uses tar -xvf it will unpack your sources. Often for directories of code that need to be built the assignment will require that one of the sources be a makefile. The testing code would then assume that make will build your executable as specified in the assignment.

  • If your submission is accepted it will display the word "Success" along with the number of bytes accepted and a timestamp. If it does not show this then your submission was not accepted and it is as if you never submitted. That is bad news. Common reasons for failure are invalid student name or file is of the wrong type, for example, not a tar file when one was expected. All times are officially the time of the server in Idaho which is in the Pacific Time Zone.

  • Your submission will be assigned a timestamp and put in the test queue. IMPORTANT: When you write me about your code be sure to include this time stamp so I can look at your code. It is so much easier than trying to send me code. You can submit code that isn't working if you just want me to look at it.

  • When your turn comes up on the test machine it will unpack your submission into an empty directory. If it is code that needs to be built with say a compiler, it will do so using the simple command make.

  • Then it will test your submission against a series of preliminary tests. If testing occurs then the test data for these tests is provided. In the case of submitting code this may entail running your code against sample data. In the case of just submitting a report it may take your file and simply save it for grading later.

  • When running code it may optionally make a side-by-side comparison with the expected output from runs of your code. This will be mailed back to you at your email address. The side-by-side comparison is done with the UNIX sdiff command. It may also inspect your code looking for specific patterns.

  • When the assignment deadline comes up the test system will take the last submission you submitted before the deadline (date and time) and run that against an expanded set of tests. You may be graded on how well you match the desired output. Make sure you get the format right or it may look like a mismatch! You can submit as many times as you like before the due date. Take advantage of that! You have time to repeatedly test your code against the preliminary tests before the deadline.

  • IMPORTANT: Submit as many times as you like before the deadline. Only that last submission before deadline counts.

  • There is timelimit on your execution in case you get in an infinite loop. There is a lines of output limit to prevent you from generating huge files. Turn around, when not busy, is around 5 minutes. When loaded it can be 10-15 minutes. Please allow time to test your code before the deadline. Deadline is based on time of submission. The local clock is in Pacific Time.