When this page was last loaded, the time at the submission server at merlot.usc.edu was 02Dec2022-07:33:29. Reload this page to see the current time on merlot.usc.edu.

This page contains information about electronic submission for all programming assignments. Near the bottom of every programming assignment web page, you will see a web form that you can use to upload your submission to a Bistro server. Some nice features of using a Bistro system are that you can make multiple submissions and for every submission you have made, you would get a "submission ticket", which is a proof that our server has received your submission (although it's your responsibility to make sure that what you have submitted is what you want us to grade).

By default, we will grade your last submission. Therefore, a later submission is considered to supersede previous submissions. If you would like us to grade an earlier submission instead of the last on time submission, you need to send e-mail to the instructor (not a TA and not a grader) within 24 hours after the original submission deadline. We will use the timestamp of the submission which we grade to determine if you get extra credit for early submission or get penalty for late submission.

Platform for Programming Assignments
All programming assignment must be done on a 32-bit Ubuntu 16.04 system because that's the only platform the grader is allowed to grade. If you ask the grader to grade on another platform, the grader will have to refuse to do so.

Languages for Programming Assignments
You must use C or C++ for your programming assignments. Files should be named as follows:
LanguageTypeAllowed Extensions
You must not submit any binary files (since we cannot verify if you wrote it or not). If your submission included binary files, they will be discarded. In additional, points may be deducted (please see grading guidelines for details).

Compilation for Programming Assignments
You must have a Makefile for your program even in the case of single file submission. (If you don't, we will write one for you and deduct 10 points from the assignment.) Please read the information on Makefile very carefully because it may have great affect your programming assignment scores. So, make sure you verify your submission before you submit!

README File for Programming Assignments
You must include a README file to comment on anything pertinent to someone trying to run/grade your programming assignment. Please read the requirements about the README file. If you have nothing to say in your README file, please state that the file is left blank intentionally.

On Time Submission
Due to clock skews, electronic submissions of programming assignments will be accepted within 15 minutes after the specified deadlines without penalties. If you submit with the next 24 hours, you will receive 90% of your grade. Although in the first 50 minutes of this period, you will only lose 1% of your grade every 5 minutes. 24 hours after the submission deadline, you will starting losing 1% of your grade every 5 minutes. By 7:30am the next morning, there's no need to make a submission because you would have lost 100% of your grade.

Near the bottom of every programming assignment web page, there is a "Submission" section that contains detailed information regarding how to create a submission file and how to upload your submission to a Bistro server using a web form. Please follow the instructions carefully.

Since the grader is only permitted to grade on a standard 32-bit Ubuntu 16.04 system or on viterbi-scf1.usc.edu, you must verify that your submission can be compiled and run on one of these systems.

After you submitted, for example, pa1.tar.gz, you should verify what you've submitted can be compiled as is. Let's say your pa1.tar.gz is in your ~/pa1 directory of your 32-bit Ubuntu 16.04 system. You should do the following:

    % cd ~/pa1
    % mkdir xyzzy
    % cd xyzzy
    % tar xvf ../pa1.tar.gz
    % ls -lR
    % [ look at the printout and see if the file sizes are okay and if they are at the right places ]
    % [ follow the steps in the grading guidelines to build the executable ]
    % [ follow the grading guidelines and re-run all your tests to make sure that they all work ]
    % [ make sure your README file is perfect and contains no "?" in required sections ]
    % [ check against the "minus points" section of the grading guidelines to make sure that you won't get any deduction ]
    % cd ..
    % rm -rf xyzzy
Before you run the mkdir command, make sure you don't have the xyzzy directory. If you do, delete it first. A few things to note:
  1. If the tar command failed, the pa1.tar.gz file your've submitted is not properly created.
  2. If the make command failed, you probably forgot to include something in your submission. Please remember that if this does not work, you may lose quite a few points (and may be all 100 points).
  3. If any of the above failure occurs, you must recreate your submission and submit again and verify again. If you are not sure how to do something, please contact the instructor.