Homework Policies |
Electronic Submission
Homework assignments are due Thursday nights at 11:59pm. Homework is submitted electronically and submission times are judged by the webserver timestamp. If your submission is one minute late, it is a day late, so we suggest that you don't actually wait until the last minute. You may submit your assignment multiple times -- we will only grade your last submission (or you may specify which version we should grade). Please see the Calendar for the homework assignments and due dates.
Note: Please do not email your homework assignment to the instructor or the TAs (unless explicitly requested to do so). We will only grade material submitted to the homework submission server. We can login and view your submitted homework files if you encounter a problem at submission time and have a short question related to homework submission.
Late Day Policy
Each student will initially be given one day (whole or partial) of grace for late homework assignments. Through consistent participation and solid performance on in-lecture iClicker exercises each student may earn additional late days. These grace days are intended to cover minor illnesses, hardware malfunctions, and schedule conflicts with homeworks/tests in your other classes.
To use a late day, simply submit the assignment as normal through the homework submission link. You do not need to notify your TA or instructor. For example, an assignment submitted 22 hours late (Friday evening at 10:00pm) counts as 1 late day used. As another example, an assignment submitted 26 hours late (Saturday morning at 2:00am) counts as 2 late days used. No more than two late days may be used for any one assignment. Once your late days have been exhausted, late assignments will not be accepted without an excused absense note from the Student Experience office.
Students should use their late days carefully, saving them for the latter part of the semester or (better yet) not using them at all.
Prepare Your Assignment for Submission
Make sure you read and follow the Collaboration Policy and Academic Integrity statement which applies to all homework assignments.
Once you've finished writing, testing, debugging, and commenting your code, re-read the assignment description and collect all of the necessary files for submission. Be sure to include your plaintext README.txt (use the provided template for the assignment), your .cpp and .h code files, and any other files specifically requested for the assignment. You do not need to include any compiled object files or the executable. Submitty will ignore these files if they are included. You do not need to include any of the provided input data files or your output files for the basic homework --- these will be re-generated by Submitty. But you should include any new data input files and corresponding output for any extra credit you completed, as described in the assignment description.
Next, click the "Gradeables" link from the top of the left sidebar to access Submitty. You will use your RCS ID and password to access this page. Access to Submitty is automatically given to all registered students (but it can take a day or two). Contact the instructor if you are registered for the course but cannot successfully login to Submitty.
Choose the appropriate assignment from the navigation page. Drag and drop your files into the indicated area(s) or click to launch a file browser. Press "Submit" to upload your homework.
Note: Please do not email your homework assignment to the instructor or the TAs (unless explicitly requested to do so). We will only grade material submitted to the homework submission server. We can login and view your submitted homework files if you encounter a problem at submission time and have a short question related to homework submission.
Automated Compilation, Testing, and Grading
Submitty will compile your code with Ubuntu 18.04 gcc/g++ 7.3 and/or llvm/clang++ 6.0 and then run the resulting executable on several test cases. It will inform you of any compile, link, and runtime errors or warnings and will present the results of these tests for your review. Your grade for the homework will be a combination of this online testing of your code and (later) a TA's review of the structure, efficiency, and overall quality of your code (see also Good Programming Practices and Advice from TAs), plus the TA's grading of any additional non-code parts of the assignment.
You will have practice using the submission process during the first lab. Please see a TA during office hours if you need additional help writing portable code.
Carefully check the result of your submission. Verify that all necessary files were received by Submitty. Confirm that your code compiled and ran successfully. If you find a mistake in your homework, you can fix it and re-submit using the same procedure. We will only grade the most recent submission. Please see a TA in office hours if you need help preparing your assignment for successful submission. If the automatic grading of your homework seems incorrect or unfair please see a TA in office hours. You may also make a note to the TAs in your README.txt file asking them to take another look at your output. The TAs are able to adjust the automatic grading if necessary (but this is rare).
Note on # of submissions:
Do not use Submitty as your sole development/testing platform. You should use your laptop as your primary testing & debugging interface. However, don't wait until the last minute to submit for the first time. You should do an early practice submission of a partially working version of the homework to confirm you are on the right track. A small point penalty will be assessed if the count of your submission attempts is greater than 20 for any one homework assignment.
Note on submission file size:
If you accidentally include lots of unnecessary "stuff" in your uploaded files, it may be too big for submission. If you think you have included only the necessary files and yet Submitty still complains about the size of your submission, contact the instructor -- but please don't send your homework files by email!
Note on the submission server:
If Submitty crashes or is unresponsive, or if your submission attempt fails and you cannot make sense of the Submitty output, check the Discussion Forum for announcements to see if it is a known submission server problem. Otherwise, contact the instructor and your graduate lab TA for help -- but please don't send your homework files by email!