Electronic Submission Guidelines - CSCI 350, Summer 2025

[ This is a BACKUP server. Do NOT use unless the primary server is DOWN. ]

[ Top Paragraph Content Goes here ] When this page was last loaded, the time at the submission server at merlot.usc.edu was 27Nov2025-22:59:56. 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 email to the instructor (not a TA and not a grader) within 24 hours of 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 for your programming assignments. Files must be named as follows:
Language
Type
Allowed Extensions
C
Headers
.h
C
Source
.c
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.
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.
After you submitted, for example, pa1-submit.tar.gz, you should verify what you've submitted can be compiled as is and works the way you expected it to work and that your documentation is perfect. Let's say your pa1-submit.tar.gz is in your home directory on your standard 32-bit Ubuntu 16.04 machine. Do the following (assuming that both xv6-pa1-src.tar.gz, i.e., the pristine xv6 source for PA1, and pa1-submit.tar.gz are in your home directory):
    rm -rf /tmp/xyz
    mkdir /tmp/xyz
    cd /tmp/xyz
    tar xvzf ~/xv6-pa1-src.tar.gz
    [ look at the output of the above command carefully, make sure ]
    [     you have not included extra files in your submission ]
    cd xv6-pa1-src
    tar xvzf ~/pa1-submit.tar.gz
    make clean
    make qemu-nox
    [ go through grading guidelines line by line and re-run all your tests ]
    [     to make sure they all work; check every line of your README file ]
    [     and make sure that you have satisfied all the reuiqrements ]
A few things to note:
  1. If the tar command failed, the pa1-submit.tar.gz file you have 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.
  3. If any of the above failure occurs, you must recreate your submission and submit again and verify again.