Few years ago I had an assignment in a intro to linux class. Basically they gave us 17 different tasks that a script needed to do and we had to do this with shell scripting. It was actually easier than I expected since linux gives you incredible flexibility.
We were expected to create a script to maintain a user filesystem. Our script had to be driven by a main menu.