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.
The current time at the submission server at merlot.usc.edu is 31May2023-21:34:04 (refresh this page to see the current time).
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:
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.
For warmup assignments, after you submitted, for example, proj1.tar.gz (you should replace "proj1" with the actual name of the project, such as "warmup1" or "warmup2"), you should verify what you've submitted can be compiled as is. Let's say your proj1.tar.gz is in your ~/proj1 directory of your 32-bit Ubuntu 16.04 system. You should do the following:
% cd ~/proj1 % mkdir xyzzy % cd xyzzy % tar xvzf ../proj1.tar.gz % [ 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 xyzzyBefore 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: