Answered: Can Adults Provide Generic Functions?

[LEFT]Are adults/coaches allowed to provide their teams generic functions that are not specific/tailored for any specific competition? For example, [/LEFT][LEFT]VEXIQ includes a drivetrain function which works for 2-wheel drive robots. Would it be legal for an adult be create a similar drivetrain function for the 4-wheel drive holonomic robot so the students would just call/use the function as they would the built-in drivetrain function?

​And if adults are not allowed to develop/provide them the code for the functions, then are we allowed to teach them the concepts/logic to include showing them NON-EXECUTABLE psuedocode?[/LEFT]

Would it be legal for an adult be create a similar drivetrain function for the 4-wheel drive holonomic robot so the students would just call/use the function as they would the built-in drivetrain function?

Rule <G17> of the Game Manual reads as follows, with a portion bolded for emphasis:

<G17> Adults may assist Students in urgent situations, however adults should never work on or program a Robot without Students on that Team being present and actively participating.

Unless a student is present and actively participating for the creation of these generic functions, this would be considered a violation of G17. Adults should never take it upon themselves to solve problems for a student - this is a great teaching opportunity to solve the problem of a holonomic drive alongside the student.

To provide a non-programming analogy, this would be similar to an adult building generic mechanisms (a claw, an arm, a drivetrain) that students then combine into a functional robot. An adult has clearly worked on this robot without the Students present and actively participating, and this would also be a violation.

Much like VEX IQ has a set of basic mechanical parts that are available to all teams (some of which solve basic problems, like turntables or differentials), VEX IQ programming languages have been designed with a basic set of generic functions that are available to all teams. Augmenting these programming options with additional functions that are available only to teams with access to an adult who is skilled in programming would not be in line with the level playing field that we try to promote in the VEX IQ Challenge.

With that in mind, if you have suggestions for additional functionality that you feel should be included by default, please feel free to reach out to VEX directly by emailing [email protected] .

​And if adults are not allowed to develop/provide them the code for the functions, then are we allowed to teach them the concepts/logic to include showing them NON-EXECUTABLE psuedocode?

Yes. The goal of VEX IQ’s programming component is both to provide students with an opportunity to learn programming concepts, and to provide their adult mentors with the platform upon which these concepts can be taught. Educational tools like pseudocode, block/flow diagrams, or high-level algorithms are all common methods (even outside of robotics) to teach these concepts. It would be unreasonable to expect a young student to derive the logic for a holonomic drive without any teaching tools or assistance, just like it would be unreasonable to expect a student to discover a 4-bar linkage without any guidance or prior knowledge of its existence.

However, again, “deriving the logic” is different from “programming the robot”. The goal should be for a student to grasp the logic to the point where they are able to understand, program, and explain this concept (e.g. to an event judge). Then, a student has successfully learned something, rather than just copying a pre-written function.