I based this off of this really nice instructables.com post
for building a water bottle boat, with some additions for obstacle avoidance and light-guided control. I used Arduino as a microcontroller, an ultrasonic sensor in the front, a few simple switches on the side of the boat, and a few light sensors on either side. See here
for a few more photos or here
for a pdf step by step.
This simple little floating boat bounces off walls, can be steered with a flashlight, and won't hit something head-on.