Courses‎ > ‎Operating System‎ > ‎

OS Course Project Ideas

Important! During this course, you have to do a project. I am proposing a list of possible projects. Following are the rules for the project:
  • Make a Team! You need to make a team consisting on maximum 4 students. Shehreyar will help you to make project teams. 
  • Select a Project! Choose a project and discuss with me during office hours.
  • Announce It! Create a website for the project preferably using Google Sites.
  • Start the Work! Finalize requirement specification and update on your project site.
  • Be on Time! During the semester, you have to meet several deadlines for the project. Make sure you meet the deadlines.
  • Go Live! You should post deliverables on your project website.
  • Credit! Make sure to give proper credit to the people/resources used during the project

Project Ideas

1. Multi-threaded Web Crawler:
Implement a multi-threaded web crawler. The crawler should be able to remember the last URLs and able to resume. Your program should be able to create appropriate number of threads.

2. Process Manager: Identify the system and user processes. For each process provide CPU, memory, and I/O utilization. You should also tag a process as a CPU bound or I/O bound.

3. System Resource Monitor : Identify current available and utilized resources of the system e.g., CPU, memory, I/O, and bandwidth. Your program should be able to log historical system resources and capable to show resource utilization graph.

4. Repository/Directory Synchronizer: Client-server application which is capable to synchronize the local changes to a remote folder. Check drop-box functionality.

5. Task Manager (Android): Check Android Task Manager, you need to implement similar app with addition to allow user to terminate a specific process automatically. The task manager should also identify CPU utilization for each process.

6. Multi-threaded Proxy Server and Client: Develop a multi-threaded proxy server and client. The server accepts any URL from the client, fetches output, and returns to the client. The client should be able to save the output into HTML page with an appropriate name.

7. Power Consumption and Activity Monitor (Android): Develop an application which is able to identify the tasks and activities consuming battery resources. The app should be able to log the historical monitoring data and make it available for end-user to review it.

8. Android Logger: Develop an application to log all user activities in the cell phone and sync the log file to the user's Dropbox account. Read more on Dropbox app integration at