Computing for Ocean Environments: Bio-Inspired Underwater Devices & Swarming Algorithms for Robotic Vehicles