| Fall 1996 | Project 1 | Learning Java |
| Fall 1996 | Project 2 | Process Synchronization |
| Fall 1996 | Project 3 | CPU Scheduling |
| Fall 1996 | Project 4 | Disk Scheduling |
| Fall 1996 | Project 5 | File Systems |
| Fall 1997 | Project 1 | Learning Java (Slightly updated from Fall 1996 version) |
| Fall 1997 | Project 2 | Process Synchronization |
| Fall 1997 | Project 3 | CPU Scheduling |
| Fall 1997 | Project 4 | File Systems (NB: no disk scheduling project this semester). |
| Fall 1998 | Project 1 | Learning Java |
| Fall 1998 | Project 2 | Process Synchronization |
| Fall 1998 | Project 3 | Page Replacement |
| Fall 1998 | Project 4 | Disk Buffer Management |
| Fall 1998 | Project 5 | File Systems |
| Spring 1999 | Project 1 | Learning Java |
| Spring 1999 | Project 2 | Process Synchronization |
| Spring 1999 | Project 3 | Resource Allocation |
| Spring 1999 | Project 4 | Disk Buffer Management |
| Spring 1999 | Project 5 | File Systems |
| Fall 1999 | Project 1 | Learning Java |
| Fall 1999 | Project 2 | Process Synchronization |
| Fall 1999 | Project 3 | Resource Allocation |
| Fall 1999 | Project 4 | Disk Buffer Management |
| Fall 1999 | Project 5 | File Systems |
| Summer 2002 | Project 1 | Learning Java |
| Summer 2002 | Project 2 | Process Synchronization |
| Summer 2002 | Project 3 | Resource Allocation |
| Summer 2002 | Project 4 | Disk Buffer Management |
| Summer 2002 | Project 5 | File Systems |
| Fall 2002 | Project 1 | Learning Java |
| Fall 2002 | Project 2 | Process Synchronization |
| Fall 2002 | Project 3 | Resource Allocation |
| Fall 2002 | Project 4 | Disk Buffer Management |
| Fall 2002 | Project 5 | File Systems |
| Spring 2003 | Project 1 | Learning Java |
| Spring 2003 | Project 2 | Channel Allocation |
| Spring 2003 | Project 3 | Page Replacement |
| Spring 2003 | Project 4 | Disk Scheduling and Buffer Cache |
| Spring 2003 | Project 5 | Implementing Directories |