Text this: A systematic approach to learning robot programming with ROS