If you're interested in C, one project could be developing GUI for some unix commands. At school we did a project once where we built a GTK app for creating logins on linux. There's many things you get to deal with like file handling and executing commands from code and so on.
One fun thing for learning hacking is trying to implement linux commands such as ls or ps. You get a little more intimate knowledge about the OS and you don't have to come up with specs because you already know what it's supposed to do :)