Distributed Computing by Oblivious Mobile Robots