Jump to content

Topic on Talk:Google Code-in/Mentors

Work already performed by students cannot retroactively become a GCI task per rules, section 4.2).

2
John Vandenberg (talkcontribs)

This page currently says:

Work already performed by students cannot retroactively become a GCI task (GCI contest rules, section 4.2).

That rule says:

4.2 Claiming a Task. To work on a task, you must first claim it by clicking the “Claim this task” button, subject to the following:
(a) you may only claim one (1) task at a time;
(b) you may not claim a task that is currently claimed by another contestant;
(c) you may not claim a task that you have already completed; and
(d) you may not claim more than two (2) tasks labeled as beginner tasks.

I assume we are referring to 4.2(c). I believe that could be read literally to match the exact behaviour of the GCI system. Where a student has already claimed and completed a task, it is not available for them to claim again. It actually disappears from the task list that they can see when logged in.

We are reading it to mean that even if they have done some work on a problem, possibly because they were trying to do a different task but ran into trouble, they can't claim that work.

e.g. a student is doing GCI task `A`, and encounters a bug `B` which impedes them from doing task `A`. As they want to finish task `A`, they decided to debug `B`, create a phab task `B` and toss a good patch into Gerrit to solve it. As the bug is now sorted out, they can now finish GCI task `A` unimpeded. They want to work on GCI task `B` that resolves phab task `B`.

According to our reading of this rule, they would be prohibited from working on GCI task `B` because they have already completed it.

If that is correct, participants should not create phab tasks or gerrits except for their current GCI task, which is IMO not a good behaviour to instill in participants.

I would appreciate more justification for our reasoning here. I can definitely see the need for some rule here, more advanced than the GCI rule 4.2(c), especially preventing them from claiming work which was uploaded into Gerrit before GCI started. By the same rule though, should we also be preventing participants from doing the "set up your Vagrant" task if they did that task the previous year, or if we know they were using Vagrant just before GCI started?

AKlapper (WMF) (talkcontribs)

As the contest rules only refer to GCI, the term "task" means "a task in the GCI system". Students who run into an issue are more than welcome to create task B in Phab. Students can also propose potential GCI tasks to mentors.

As long as a student has not completed (= e.g. a patch in Gerrit) Phab task B and the student is not assigned to another task A on the GCI site which has not been approved, the student can claim task B on the GCI site. My understanding is that a student cannot claim task B on the GCI site if the student has already published a public patch to solve task B on the GCI site, but "completed" is vague here: If that proposed patch in Gerrit is -1 (needs more work) maybe it's still allowed by the rules; I am not sure here and only Google could clarify.

Obviously we cannot 'control' what students have already worked on but not yet published in public (like on Gerrit) and it is the student's risk (when the student is still assigned to a task on the GCI site that has not been approved yet) that another student could claim the task on the GCI site in the meantime.

If a student has obviously worked on a task on the GCI site before claiming it and published their work, the mentor should unassign the student from the task on the GCI site and admins can make the task unavailable to others on the GCI site, as work on the task has happened outside of the GCI rules.

Regarding the "set up Vagrant" task on the GCI site, mentors and admins cannot easily check if a student has already set up Vagrant last year but I'd expect all students to have read and agreed on the general GCI contest rules.

I'm not sure if I fully answered your question and concerns but I hope this was a bit helpful. I'd love to avoid coming up with additional organization-specific rules outside of the existing rules provided by Google. Might be a topic to discuss 'upstream' on the GCI mailing list?

Reply to "Work already performed by students cannot retroactively become a GCI task per rules, section 4.2)."