Student Projects for Operating Systems

I’m gearing up for another semester of teaching Operating Systems, and I enjoy giving my students the opportunity to be creative with the topic: so I have them do class projects. Last semester went alright, but I wish I had a larger list of suggested topics they could choose from.

I would appreciate suggestions for project topics that would take a student that knows data structures and algorithms already about ten weeks, say 4 hours per week. I try to let them choose between written survey topics, or programming projects (either dev in a Linux environment, or using C language). What kind of project would get you excited about operating systems?

2 Likes

Widgets maybe?

Like… 8-bit themed widgets, could be something that looked like a micro-game but just for showing info about something…

Will try to think about more ideas

1 Like

As a student is really hard for me to pin point something about OSs that gets me excited and allows me to develop something interesting. All the things I can think of that really get me to work on a project are Raspberry Pi projects. Working with sensors, coding and ending up with something actually useful and not something that starts and ends with the course.
One kind of project that could be neat and teach about Linux could be a program that allows you to create profiles that launch a set of applications all at once, resuming the work you were doing at a precise moment (after a user input). That way students will learn about interacting and manipulating processes and files in Linux. Obviously it can just be a console application and saving the “states” of a program can be just restricted to “remembering” the last txt/doc/xls/ppt file open, changing some basic OS parameters and other simple things like that.
Now, I can’t really quantify how long this project could take but maybe, if it’s a group project, it could be done in 40 hours.

3 Likes

Saving states of a group of processes would be a worthwhile project, for sure—thank you for that idea!

1 Like

A simplified GUI to then build their own applications on top of could be something worthwhile. Maybe taking one of the cross-platform C++ GUI libraries and “simplifying” it… LOL. I would only expect them to get it partway done, and they could continue working on it later on their own.

1 Like

One of my favorite projects in school was building a file system. It was only four components and we had maybe that many people. The shell, the file system, the hard disk, and the process manager. Was a lot of fun and really stuck in my memory as what college, FOSS, and computer science is all about.

This link goes over the process, but we used C not C++:

https://www3.nd.edu/~pbui/teaching/cse.30341.fa17/project06.html

Wow, that’s a great group project! Thank you for the resources. I’ll definitely check out your work.

The fact that it stuck in your memory is what I’m hoping to accomplish with my students.

1 Like

I was a budding Linux snob geek in college, and I had a lot of fun. There were more than a few Linux enthusiasts there. It definitely left an impression.

You sound like a great professor. Good luck! Excited to hear about your progress and feedback.