Hi VEX Community and Coaches,
Last week, our MS teams join a qualify competition, but before the closing ceremony start, EP ask them about program and told them cheating because they also use 1 strategy for H2H Match, and EP ask our kids about PID in EZ Template and request them explain how this code been created.
Then, EP said them cheating and they don’t receive any award athough they have a good performance than the other teams
I have depressed about this result and wanna ask coaches, do students need to know how EZ Template functions are created? EP said they have to use Block instead of C++ for Programming
It is unfortunate that the team felt they were being called cheaters. Unfortunately, G2/G4/G5 are being heavily enforced this season. The intent is to provide a level playing fields for fair play. Teams employing resources that do not match their skills are being asked to document and defend their design choices.
G4 is clear that the robot must represent the skill level of the team. With regards to use of libraries there is a Q&A for it:
End of the day, if the team is unable to explain how the library works and they are unable to explain how they would go about implementing the functionality on their own, it is clear into G4 territory and G2 Student-Centered - from the Q&A:
" As described in the RECF Student-Centered Policy (bold formatting added for emphasis), “Teams should create code that reflects the capabilities of their team members.”
"Students with novice programming skills should use learning resources that emphasize developing and applying foundational knowledge, and should not incorporate programming concepts that are beyond their current ability level. This general guideline supports appropriate learning progressions and fair play at competitions.
“Teams that utilize example code or custom libraries from outside sources should use caution. The program used should represent the students’ efforts and abilities. Blindly using code without understanding the code functionality is not consistent with the educational goals of this program. Students should be able to understand and explain the code, and students should be able to demonstrate that they can program on a level equivalent to the code used in their mechanism.”"
As a bigger concern as a EP/Head Referee - how does using high school/college team code by middle school students ever reflect appropriate skill level of a middle school team. Yes you will argue that some 9th graders are MS age, but frankly the maths, physics, and CS needed to implement such functions typically not within their reach.
What I would like the GDC to is prohibit elementary and middle school students from using libraries. If middle school teams wish to use libraries, they can play up as high school team. This situation with @VEX_GDC
Yes, your students do need to know how EZ template works. If they were unable to answer questions about the code, that means that the skill level does not represent the team, and therefore means they are not abiding by rule G4.
I agree since i am the one who participated in qualify competition and i saw their strategy for H2H is different and i think for the code we do not need to explain that deep.
This sounds like a G4 violation, where the robot (or programming) doesn’t correspond to the skill level of the students. In order to use templates like EZ template or JAR template, students have to be able to code on the same level as those programs. This means that theoretically, if you left a student with a computer in a room with no other resources, they could eventually code an auton at the same level as the template.
If they were found in violation of G4, they probably would’ve been disqualified from judged awards, which explains why they didn’t win any.
Like @lacsap said, EP is incorrect that students must use blocks. If they understand more advanced coding techniques, they may use them.
This part is absolutely ridiculous. If the kids know how to use C++, let them use C++! I have never heard of anything anywhere that says “middle school V5RC teams MUST use block code.” The only context in which this would be viable is if the students don’t know how C++ works and got someone else to code it for them or just copied another person/team(s) code.
Perhaps something is lost in translation. Perhaps the EP said something more like “If they had used Block Programming instead of C++, they probably would be compliant with the new G4/G5”. Or maybe the kids said something during this process that led the EP to believe their skill level was best expressed through Block Programming.
I stood next to the children at that time, and the students answered all of EP’s questions, except for the explanation about how to create PID, but I didn’t understand why EP said that. Regarding how the PID is created in EZ Template, I think the kids don’t need to know because it is a function, and the kids just need to know how to use this function for their program.
In addition, EP said that students used 115s autonomous strategy in the H2H match, so he maybe our kids shared 1 programming for each other (meaning the program was only 1 team working and sharing their code with the other team), while the 2 MS teams were different design robots (1 storage robot, 1 S-robot). That’s crazy, our kids do it by themself, and they have tried to top 2 and 3 in that competition, but the results are DQ.
Should I force my kids to only use Blocks because they’re not old enough to use C++?
Beyond the guidance @lacsap provided, I don’t know what else to tell you. From an outsider’s perspective, we can’t really verify your version of events. It is possible your team was hard-done. That said, there is a focus on this and it is new this year. That said, when you say:
I would agree that in industry, that is how things really work. We’re not in industry, however, and the RECF has decided that the standard is something along the lines of “The team members present must be able to explain any code NOT supplied by Vex or a Vex-approved vendor (e.g. PROS)”. The PID code in EZ Template falls squarely in the “code that is NOT supplied by Vex or a Vex-approved vendor” and therefore the students ARE required to be able to explain both PID as an algorithm, as well as how to code an implementation of PID in the programming language of their choice.
Extending the library, perhaps to expand to include something like a feed-forward parameter, would seemingly demonstrate that the student’s are able to understand the library code they are using by enhancing it.
The students should use whatever method matches their skill level. They should be able to explain this method and show comprehension and understanding when asked about it by judges and referees. Full stop.
Out of all of the systems noted, I believe the most someone in middle school will learn is simple PID. Anything beyond that is too out of that scope mathematically.
My anecdotal estimate of where teams are expected to learn certain essential systems:
Simple PID: plausible in middle school, standard in high school
Advanced PID: unlikely in middle school, plausible in high school, standard in university
Simple odometry: VERY unlikely in middle school, plausible in high school, standard in university.
Arc-based odometry: VERY unlikely on middle school, unlikely in high school (very few actually learn how it works. I estimate double digits of teams, maybe even single digits), plausible or standard in university due to Calculus 2, 3, Linear Algebra, and Differential Equations. → Essentially for university there are around 2-3 path opportunities to learn Arc-Based odometry in engineering.
Was the code just given to the kids to do with as they will or did the coach actually go over the code with them? I brought in EZ Template with my kids last year, but we spent like 2 weeks learning from guide videos on where to go, what to type in, how everything works, my kids also read the PID write up thats been passed around on here.
Guess my question is, did the coach teach them how ez template works or did they just get handed the template and told to learn on their own?
The question, did your kids identify this as one of many possible solutions to problems they identify, or was this pushed by you because you thought it would be a good toolkit for them?
I think there are a lot of coaches who are well intentioned, but it may be a disservice to recommend libraries before the team has identified on their own the problems of motion control, and come up with their own age appropriate models to solve it.
We went with Python as far as we could and they wanted more options in what they could do program wise to be better prepared for US Open. I gave them 3 options, JAR, EZ, and just PROS by itself. we all agreed EZ looked like the best way to learn more of C++.
I dont try to push things on my kids I give them options and show them where they can learn more options, if its something they have a hard time with I try to jump in with them to dissect and learn with them. When it comes to trouble shooting and making their own strategies that is all on them, but knowing there are tutorials and write ups on how things work so the kids can learn it on their own should still be the forefront.
Is PROS VEX approved and can be used by everyone no matter what grade level?
When we started down this path, I’ve been going "So what about the VEX Code drivebase? Code says “Turn 45 degrees” how does the drive base know how to do that? Or is that considered to be “so simple” that anyone can use it. In practice it’s about a 25 line function. Most schools don’t teach geometry until 9th grade, so is anyone younger that that suspect?
Referees wouldn’t be in a position to ask. Or shouldn’t be asking, depending on your view.
The question in my mind is if I sit with a team and teach motion control, is that allowed? Where is this new bright line? Or are we back to the "Student centered and grade level means dumping $3K of parts on a table and saying ‘Win Worlds!’.
From a prior statement of spending 2 weeks talking about EZ template would be teaching to me. It makes little difference on how they got to that point. A basic robotics class could easily get to that point.
Your first point is valid, but I wouldn’t go as far as calling introducing MS students to a library a disservice, since it is could have a chilling effect both on students and mentors.
If doing so in the VRC G2/G4/G5 enforcement context is indeed a disservice to the chances of the team to earn judged awards then, I guess, there is something wrong with the way those rules are judged and enforced.
My strong belief is that it is a responsibility of the coach to introduce students with the multiple options that might be useful in their engineering quest and, then, leave it up for them whether to learn and and apply any of those options.
I would be there for them all the time, should they choose to learn more about any of those topics, but the final decision with accompanying reasoning regarding what to use on their robot and responsibility for that decision is always up to them.
There are always arguments going both ways whether we should let students re-invent the wheel or teach them about the various types of the wheels and how they’ve been used in different applications.
The argument against teaching students and for letting them re-invent usually centers around allowing a small percentage of students to become much better at understanding engineering by re-inventing those basic things.
My counter argument is that there are very very few students, who have enough determination and insights for actually reinventing those basic things and that their time would be better spent not re-inventing literal wheel but thinking about how they could improve it further given examples of the regular, omni, and mecanum wheels or have novel applications of the already invented things.
In my experience half of the students capable of coding their own PID at MS age will go and code their own library anyway, because they think it is fun. And the other half are smart enough not only to understand how PID works, but also how it makes sense to save time by practicing division and specialization of labor.
At the same time equally bright kids who were never taught about their options at the beginning, could spend years building subpar robots (compared to other schools) which makes them think that they might be not smart enough (which is not true).
In many cases, when they grow socially mature by the age of HS and are not afraid to ask better performing teams what was the secret to their success, they will be able to learn how to use those libraries and algorithms, but potentially productive time has already been lost.
So, in my opinion, it is a duty of the mentors to teach both their own and any interested neighborhood teams about all available options for their success. Then let them decide how much effort they want to expand pursuing them.