Professors are especially interested in people who can solve tedious system-administration type problems for them, so that is a way to get a foot in the door. It's all too common for an assistant to result in a net increase in work.So you have to make it clear you'll mean a net decrease. Rejection is almost always less personal than the rejectee imagines. (This applies to dating too.)Beware, because although most professors are smart, not all of them work on interesting stuff.Whatever the disadvantages of working by yourself, the advantage is that the project is all your own.You never have to compromise or ask anyone's permission, and if you have a new idea you can just sit down and start implementing it.
When I was an undergrad there weren't enough cycles around to make graphics interesting, but it's hard to imagine anything more fun to work on now. Not only was this work not for a class, but because he spent all his time on it and neglected his studies, he was kicked out of school for a year. It all evened out in the end, and now he's a professor at MIT.These turn out to be equivalent, because each drives you to do the other.The way to be good at programming is to work (a) a lot (b) on hard problems.
Some of the smartest people around you are professors.