THIS POST IS FOR DISCUSSION AND NOT AN ACCUSATION NOR INTENDED TO BE POINTED TOWARDS ANY INDIVIDUAL OR TEAM
There’s a lot of talk on CD about mentor-built robots. But something I see discussed a lot less in mentor-coded robots. While the two are similar concepts and overlap in some regards, a team could have one without having another.
Mentor-coded robots are presumably harder to see: lots of teams are accused of being mentor-built because the casual observer notices the difference in quality of the design and fabrication of physical parts, but a mentor-coded robot would be much harder to notice. The result of code is often agnostic of it’s actual design and implementation. There’s rarely an obvious indication as to what language a team is using, whether they are using command base or iterative (or their own approach). Perhaps a vision system shows itself via the presence of a coprocessor on the robot, but that does little to show how it is actually coded.
Which of these cases would you consider to be a mentor-coded robot? Some quite obviously are, others are much more questionable and I hope to provoke discussion around them.
-
A mentor writes, commits, and pushes the code for a subsystem.
-
A mentor writes an interface in the team’s code, which students write implementations for.
-
A mentor writes a library which is publically published and documented on GitHub. Students on another team use this library.
-
A mentor writes a library which is publically published and documented on GitHub. Students on the mentor’s team use this library.
-
A mentor writes a library which is publically published and documented on GitHub. Students on another team request features for this library over Chief Delphi, which the mentor accepts.
-
A mentor writes a library which is publically published and documented on GitHub. Students on the mentor’s team request features for this library over Chief Delphi, which the mentor accepts.
-
A mentor writes a library which is publically published and documented on GitHub. Students on another team request features for this library over Chief Delphi, which the mentor rejects. Students on the mentor’s team request features for this library over Chief Delphi, which the mentor accepts.
-
A mentor writes a library which is privately given out to a few teams.
-
A mentor writes a library which is privately given out to a few teams. These teams request features and the mentor honors those requests.
-
A mentor plays the role of scrum master for a team.
-
A mentor designs a subsystem or command which a student implements.
-
A mentor tells a student, line by line, what code to write. The mentor’s hands never touch the keyboard.
-
A mentor provides a student with code examples from a personal project, which the student independently adapts for the robot code.
It feels weird to be putting this out on CD, I hope it doesn’t spark too much controversy but rather interesting discussion. As a newly graduated student, it’s personally interesting to me and I think others will find it so as well.
EDIT: I’m not looking to set out some specific rules that every team must / ought to follow. I just want to see what everybody thinks about something that is rarely discussed.