Some ideas:
1) your photoresistor (get more of them :-P ) can be used as a simple light detector/light avoider. With an array of them around the robot, you'll be able to detect where lights are. A fun project might be getting a robot to drive around, avoiding obstacles, while searching for a light.
2) Use your pinging sensors to create a simple map of the area (your map is going to SUCK in terms of accuracy, since sonar isn't the best, but it'll show big features, like "I CAN DRIVE HERE" rather than "OBSTACLE").
3) get sensors like an IMU (measures acceleration and angular velocity), and use them to navigate. These sensors are notorious for being noisy and for "drifting" -- they will show a motion even if you aren't moving! BUT, they are very common, and if you're REALLY bored (and I mean REALLY) you can work on programs that identify and correct the drift to give you better resolution.
Just some thoughts...
MIKE