Hi folks, I hope this is the right place to post this.
I'm about to start teaching a course in Operating Systems Theory. I'll have to cover from the basics (What's an OS, some history, hardware basics, etc) to the more complex and interesting stuff (threads, processes, memory management, deadlocks, I/O, etc.) No big deal. My issue lies in the practical part of the course. I've heard reviews of the students about the class --other people teaching it, of course ;)--and most (if not all) found it quite boring and uninteresting. That's basically 'cause nobody has showed them how can anything taught in OS theory have any importance in the contemporary computer world: "is there anybody FOR REAL building anything more important than Windows, Mac OS or Linux??", they say."What would be the point of THAT?" "What's the big deal about Solaris?" "What are my chances of being paid for developing the Greatest Memory Management algorithm?", and it's all downhill from there.
So, what I'm looking is for ideas for a project for them. I've been thinking about Linux of course, make them play with the kernel a while, but I think it's code is a little too complex for starters and can be kinda overwhelming. I've heard about NACHOS and ROSE, maybe they could implement a garbage collector in them? I don't know, but that's where I would like you to come in. Share you're ideas. Weird, crazy, cool, amazing, whatever, it doesn't matter. Anything that you think would make the kids like (or even better, love) all the things than an OS has behind. I'll do the sorting out later (although it occurs to me...maybe we could agglutinate some of the ideas into an out of the world project!) In the end, i'll let you know how it turned out.
Thanks!