OPERATING SYSTEMS ICOMS W4118, Dept of Computer Science, Columbia University
Home | Announcements | Lectures | Homeworks | Grades | Discussion | Resources | Facebook

Homework assignments are listed below and should be completed and submitted in accordance with the course policies:
Homework Policy
Programming Policy
Collaboration Policy
All homework assignments should be submitted electronically. Homework should be in ASCII text only, with the exception of any graphs you submit. Graphs should be submitted in PDF format.

Unless otherwise stated, all homework assignments should compile and run using the class VM, which is available for download. Decompress, untar, and then run using VMware. The VM is available in OVA format, which you may need to first import into VMware. To login, you can use the username w4118 and the password eggychunsa. The root user password is the same. Please make sure you change the passwords when you start using your VM to prevent someone else from breaking in to your machine.

All homework submissions are to be made via Git using these instructions.

For programming assignments, please only submit code, makefiles, and documentation - DO NOT submit binaries. You can submit multiple times, but the last submission is what counts. Each submission will be time stamped. Submit early. When you submit the homework, you will not be able to see the files in that folder, but you can check your log (under class files) to check whether it was submitted successfully.

Solutions to the homework assignments will generally be posted within a week after the assignment is due.

Groups will be assigned for the group programming assignments in Linux on VMware starting with Homework 2. Assignments will be based first on mutual student preferences and then random assignment to groups. Groups will be reassigned as needed throughout the course. Reassignments will be done such that students who do not substantially contribute to their group assignments will be regrouped together.

Group members may be fired by a majority of the group. A fired group member must either find a new group to work with or complete the remaining assignments of the class by himself. A three step process is involved for firing a group member. First, a majority of group members need to email the group member documenting the problems and indicating what needs to be done to fix the problems. Second, if the problems remain unresolved, a majority of the group members need to email the W4118 staff and the problematic group member, including the previous email correspondence with the problematic group member in question, and indicating what steps need to be done to continue working in the group. The problematic group member has 72 hours to comply. Third, if the group member remains out of compliance, a majority of the group members may fire the group member by emailing the group member and the W4118 staff the termination notice.

Homework 1 Solutions
Homework 2 Solutions
Homework 3 Solutions
Homework 4 Solutions
Homework 5 Solutions
Homework 6 Solutions