Assignments
All assignments will be provided on this page.
All assignments are due at 11:55PM on the due date, unless otherwise specified.
Honor Code Policy
Unless otherwise stated, assignments are to be done individually. You may use your text, course notes, and any other reference material (such as C reference books, C reference web pages, or Unix man pages). You may not use any AI-based tools, including, but not limited to, ChatGPT, GitHub Copilot, and TabNine, for any purpose in this course. You may discuss assignment problems, general strategies, or algorithms with other students in the course. However, you may not collaborate on the implementation of those strategies or algorithms and you must write all of your own code. You may not obtain any code from any source, aside from code provided as a part of this course in this semester. You may not consult solutions from prior semesters of this course or from similar courses at Rice or other universities.
Late Submissions and Extensions
Extensions on homework assignments will only be granted in exceptional circumstances, such as medical emergencies. Poor time management and other deadlines are not exceptional circumstances. All requests for an extension (for any reason, including health issues, travel, etc.) must be submitted at least 24 hours before the deadline you are requesting to extend. If you are unable to submit an assignment on time due to exceptional circumstances and wish to request an extension, then you must email Prof. Cox, clearly stating your exceptional circumstance.
Once the due date for a homework assignment passes, 10% of the value of the assignment will be deducted for each day late that you submit the assignment. Anything from 1 second late to 23 hours, 59 minutes, and 59 seconds will be considered one day late. Anything from 24 hours late to 47 hours, 59 minutes, and 59 seconds late will be considered two days late. For example, if you make a submission that is 12 hours late to an assignment that is worth 100 points of your grade, and your submission would have earned an 80/100 had it been on time, 10 points will be deducted due to lateness (10% of 100), giving you a score of 70. Submissions will not be accepted after two days.
Style Guide
Part of the grade given for all of the assignments in this class is assigned based on code style. A comprehensive style guide for this course can be found here.
Assignment Handouts and Provided Code
Note: Due dates for assignments are subject to change.
Assignment | Date Assigned | Date Due | Provided Code | Value |
---|---|---|---|---|
1: Shell | 1/28 | 2/12 | https://classroom.github.com/a/4QDedgCa | 12% |
2: Threads | 2/12 | 2/27 | https://classroom.github.com/a/5L0crBb9 | 12% |
3: Malloc | 3/6 | 3/27 | https://classroom.github.com/a/w2gzcD59 | 12% |
4: Checkpointing | 3/27 | https://classroom.github.com/a/jzYrl7IU | 12% | |
5: KVStore | https://classroom.github.com/a/jzcOCVaE | 12% |