All work is due by the date and time specified in the respective assignment; there are no extensions. It is much better to submit partially complete homework on time and get partial credit for your work than to submit late homework for no credit. Homeworks submitted after the respective deadlines when they are due are considered late. Late homeworks will not be accepted unless there is a valid medical or family condition with appropriate documentation submitted to the instructor.
Submissions should be made electronically via Courseworks. You can submit multiple times, but the last submission is what counts. Each submission will be time stamped. Proper submission is your responsibility; we strongly urge you to make sure you understand the submission process and submit early. You can always submit again up until the deadline, so we strongly urge you to submit well before the deadline and then submit again if you have a more updated assignment to submit later.
If you disagree with any homework grade, submit your grievance via email to the w4118 staff mailing list, documenting the merits of your case. The grader responsible will respond likewise via email. If you are still dissatisfied you may appeal in like manner to the instructor, who will only examine the email record of the dispute, and will respond in email. If you disagree with any exam grade, submit your exam and grievance in writing (not email) to the grader responsible, documenting the merits of your case. The grader will respond likewise in writing. If you are still dissatisfied you may appeal in like manner to the instructor, who will only examine the written record of the dispute, and will respond in email. For a grade dispute to be considered, the written grievance must be submitted in writing within two weeks of when the respective assignment or exam is returned.
For your convenience, all programming can be developed on any machine that can run Linux and VMware. However, only those programs which compile using the gcc compiler on the CLIC machines or the virtual machines we provide will be graded. Furthermore, it is critically important that all submitted program listings and executions be thoroughly documented.
All programs must compile and all kernels you modify must also boot; programs and kernels that do not compile and boot will receive a grade of zero. Usually the homework assignments will only state the major objectives of the program to be written; it will be often up to you to make design decisions about things like I/O, efficiency, error handling, and so on. Make sure you provide adequate test cases to indicate the correctness and robustness of your approaches.
We encourage you to help one another in understanding the concepts, algorithms, or approaches needed to do the homework assignments for this class. However, what you turn in must be your own, or for group projects, your group's own work. Copying other people's code, solution sets, or from any other sources is strictly prohibited. Students in previous years have often been caught cheating by copying answers from the web, which turn out to be incorrect. The homework assignments must be the work of the students turning them in. Anyone found violating the class collaboration policy will be punished severely.
All students or groups whose assignments are determined to be obviously very similar will receive a zero on the respective homework assignment for the first offense, and will receive an F for the course for the second offense ("all" means both the copy-er and copy-ee). More serious cases of cheating, such as copying someone's work without their knowledge or cheating on exams, will result in the person cheating receiving an F. In addition, offenses will be reported to the Dean's office, which may result in further disciplinary action, including suspension or expulsion from the program. Penalties will be given without discussion or warning; the first notice you receive may be a letter from the Dean. Note that you are responsible for not leaving copies of your assignments lying around and for protecting your files accordingly.