Training master students to program both virtual and real autonomous robots in a teaching laboratory