GitHub Copilot może być idealny do oszukiwania ćwiczeń z programowania CompSci

Węzeł źródłowy: 1630483

Narzędzie do sugerowania kodu AI firmy Microsoft GitHub Copilot jest tak wydajne, że nauczyciele mogą być zmuszeni do przemyślenia sposobu, w jaki uczą informatyki.

Profesor informatyki z Uniwersytetu Massachusetts, Emery Berger, opublikował na początku tego miesiąca: blogu warning educators that "students armed with [Copilot] will be bringing Uzis to a knife fight."

Jego zmartwieniem jest to, że Drugi pilot sprawi, że tradycyjne ćwiczenia programistyczne – część szkolenia informatycznego, ale bynajmniej nie wszystkie – będą bezcelowe, ponieważ Copilot zna wszystkie odpowiedzi.

"As far as I can tell, Copilot was specifically trained on all the intro programming assignments ever," Berger wrote. "Copilot frickin’ loves intro programming assignments."

O ile wiem, Copilot został specjalnie przeszkolony we wszystkich zadaniach programowania wstępów, jakie kiedykolwiek powstały

For students using Copilot, he wrote, educators might as well describe their course objectives as "hitting the Tab key," in reference to the key command to generate code from a description of the desired output.

"Programming plays a role in a lot of computer science classes, and especially in introductory computer science classes," explained Berger in a phone interview with Rejestr. Często wiąże się to z ćwiczeniami sortowania listy liczb w określony sposób lub znajdowania n-tego elementu szeregu Fibonacciego i tak dalej.

"Copilot will just do them," said Berger. "It's not just that it does them and it does them well. It's also that it does them using the tools that you would want and expect your students to actually be using to write their code. If they start writing code and Copilot is installed, it will fill out the solution."

Berger powiedział, że Copilot różni się od wyszukiwania odpowiedzi w Stack Overflow i innych internetowych zasobach programistycznych.

"You can already find examples of code online," he said. "But you know, the instructor can also Google for them and then compare that code against the code submitted with a plagiarism detector."

Copilot is different, he said, "It actually generates novel solutions. Not like they're super-crazy, sophisticated, genius solutions. But it makes new solutions that are superficially different enough that they plausibly could have come from a student."

It actually generates novel solutions ... that are superficially different enough that they plausibly could have come from a student

As a result, Berger argues, pedagogy related to programming needs to adapt. One approach, which he ridicules in his post, is "to plug our ears with our fingers and kind of shout while pretending [Copilot] doesn't exist, which is more or less the same thing as pretending plagiarism doesn't exist, and pretending that the internet doesn't exist."

"But if you care about the integrity of the process … this is just a cheating machine," he said. "Like somebody gives you a spec for an assignment, you just type in this back in comments and hit Tab, right?"

"So I don't think that it's reasonable or responsible to think that everybody is going to refrain from using this amazing cheating machine that's installed on their laptops … I think that the temptation is too great. And honestly, it's what software development is probably going to look like, very, very soon."

Berger przyznaje, że Copilot jest przydatny i twierdzi, że ma sens, aby programiści chcieli używać tego oprogramowania.

"We just need to really rethink things altogether," said Berger. "Certainly from the evaluation standpoint, we can obviously just require people to do things in environments where they can't use Copilot. Just like elementary school kids don't get to use calculators when doing basic arithmetic. So we can have paper and pencil exams."

Powiedział, że ma kolegę w Illinois, który opisuje używanie komputerów, które zostały zablokowane do testów z programowania, więc uczniowie zdają egzaminy w kontrolowanych warunkach. Zasugerował, że tego rodzaju środki i takie rzeczy, jak egzaminy ustne, mogą pomóc w rozwiązaniu niektórych negatywnych aspektów dostępności drugiego pilota.

Berger zauważył również, że Copilot ma pozytywne aspekty, takie jak zdolność do wypełniania boilerplate’u i implementacji API.

"I don't think that memorizing the minutia of countless APIs is really interesting intellectually," he said. 'It's not the kind of thing we should really be teaching or focusing on. Do you know the exact syntax to create a DataFrame with these characteristics? I don't care. If you have to look it up on Google or on Stack Overflow, or you just hit Tab and it just does it for you, that sounds fine to me."

Nonetheless, he argues it's important for educators to make sure students are actually learning the material, which may mean rethinking how much homework assignments that can be solved with Copilot should count when calculating an overall grade.

Berger said it's probably premature to say that Copilot has had an effect on students, because the software has only been publicly available for a few months. But he argues it won't be long before its impact starts to show.

"I would like to be optimistic about this," said Berger. "But I think at minimum, we just need to be thoughtful of it. I just don't think that there are many educators out there who are aware of how much of a revolution this is." ®

Znak czasu:

Więcej z Rejestr