Wat is programming plagiaat? Simpel gezegd is het het gebruiken van de source code van iemand anders en deze voordoen als die van uzelf. Programming plagiaat bestaat al sinds de jaren negentig, toen MOSS (Measure of Software Similarity) ontwikkeld werd om te controleren op plagiaat in programmeeropdrachten. In deze post onderzoeken we niet alleen de toename van plagiaat in cursussen computerwetenschappen, maar ook de redenen voor de toename en wat docenten kunnen doen om programming plagiaat te beperken.
Volgens een artikel uit het tijdschrift Wired in 1998, 'Catching Computer Science Cheaters', schatten docenten Computerwetenschappen dat bij een willekeurige opdracht tussen de 5 en 20 procent van de studenten 'buiten het redelijke' heeft samengewerkt.
Een recenter artikel in de New York Times, 'As Computer Coding Classes Swell, So Does Cheating,' gepubliceerd in 2017, bevestigt dat progamming plagiaat een blijvend probleem is met betrekking tot academisch wangedrag op universitaire campussen. Bidgood in Merill verklaren: "Op Brown University had vorig jaar meer dan de helft van de 49 beschuldigingen van schending van de academische code betrekking op bedrog in de computerwetenschappen. Op Stanford, de alma mater van de oprichters van Google, Snapchat en talloze andere internet wonderen, werd in 2015 maar liefst 20 procent van de studenten van een cursus computerwetenschappen aangemerkt voor mogelijk bedrog ".
By dubbelzinnigheid van samenwerking
Bekijk een willekeurig stukje software dat bedoeld is om te downloaden of te kopen en het is zeer waarschijnlijk door meer dan 1 persoon ontwikkeld. Bovendien kan de code erin iets bevatten wat als 'open source' wordt beschouwd. Dit is gratis en beschikbare source code, toegankelijk voor iedereen met of zonder vermelding, afhankelijk van de bijgevoegde vergunning. In de wereld van software-ontwikkeling is samenwerking gewoon en wordt het aangemoedigd op manieren die waarschijnlijk niet aanvaardbaar zijn in een typische academische cursus.
Op het gebied van academische cursussen moeten programmeringsprojecten vaak voltooid worden door individuen ter individuele beoordeling. Code moet toegeschreven worden aan - of wellicht een geheel origineel werk zijn van de student die beoordeeld wordt. De reden voor dit verschil is duidelijk: bij opdrachten tonen studenten hun kennis van concepten aan docenten en wel met originele ideeën en niet om iets te creëren om te verkopen.
Beschikbaarheid van oplossingen
Bekijk een willekeurig stukje software dat bedoeld is om te downloaden of te kopen en het is zeer waarschijnlijk door meer dan 1 persoon ontwikkeld. Bovendien kan de code erin iets bevatten wat als 'open source' wordt beschouwd. Dit is gratis en beschikbare source code, toegankelijk voor iedereen met of zonder vermelding, afhankelijk van de bijgevoegde vergunning. In de wereld van software-ontwikkeling is samenwerking gewoon en wordt het aangemoedigd op manieren die waarschijnlijk niet aanvaardbaar zijn in een typische academische cursus.
Op het gebied van academische cursussen moeten programmeringsprojecten vaak voltooid worden door individuen ter individuele beoordeling. Code moet toegeschreven worden aan - of wellicht een geheel origineel werk zijn van de student die beoordeeld wordt. De reden voor dit verschil is duidelijk: bij opdrachten tonen studenten hun kennis van concepten aan docenten en wel met originele ideeën en niet om iets te creëren om te verkopen.
Beschikbaarheid van oplossingen
In de wereld van de open source-software staat code open voor hergebruik - en hoewel er verschillende licenties en vergunningen voor hergebruik zijn, kunnen studenten worstelen met cursussen en/of in de verleiding komen om open source-software te gebruiken voor hun opdrachten. Open source-software bevindt zich in online code opslagplaatsen zoals Github, die volgens de New York Times mogelijk antwoorden bevatten op concepten en opdrachten gepost door studenten die de cursus eerder gevolgd hebben. Een ander hulpmiddel waar studenten soms misbruik van maken is Stack Overflow, een website met vragen en antwoorden die gebruikt wordt door nieuwe programmeurs en ervaren professionals.
Programmeringscursussen, om bovengenoemde redenen en meer, komen niet overeen met de meer samenwerkende aard van de industriële benaderingen van het programmeren. Als gevolg hiervan blijft het onduidelijk voor gevallen van collusie van studenten en programming plagiaat, niet in de laatste plaats door het feit dat studenten toegang hebben tot een groot aantal hulpmiddelen bedoeld voor de ontwikkeling van industriële software. Volgens een onderzoeksartikel 'Eliminating Plagiarism in Programming Courses through Assessment Design', "hebben studenten de neiging plagiaat te plegen als de oplossingen voor een opdracht [sic] eenvoudig op het internet [sic] of vergelijkbare bronnen gevonden kunnen worden" (Ngo, 2016, blz. 873).
Wat kunnen docenten doen om te verduidelijken en te voorkomen wat plagiaat in het programmeren inhoudt?
- Maak de regels van academische integriteit duidelijk, waaronder de definitie van samenwerking versus collusie. Bepaal van tevoren de grenzen die studenten niet mogen overschrijden. Onderzoek, zoals genoemd in 'Collaboration Versus Cheating', heeft aangetoond dat het "uitleggen en versterken van lessen in academische eerlijkheid leidt tot statistische significante (p < 0,05) dalingen in plagiaatpercentages in alle onderscheidende programmeringsinzendingen in een grote online cursus in computerwetenschappen (Mason, Gavrilovska, & Joyner, 2019).
- Benadruk beleid voor het gebruik van externe code. Als u het gebruik van externe code toestaat en/of een beperkte bronnenlijst hebt, vraag de studenten dan om hun code toe te lichten om duidelijk te maken op welke gebieden code geleend is van externe bronnen - in andere woorden: vraag studenten om hun bronnen te vermelden.
- Brainstorm en bedenk een originele en unieke code. Modelleer origineel denken en ontwerp assessments die het proces voor het ontwikkelen van originele code ondersteunen.
- Bied ondersteuning voor originele code door tussentijdse inleverdatums met feedback in te stellen om het leren van studenten te stimuleren en om diegenen te helpen die het moeilijk hebben. Sommige docenten kunnen git of een andere versie van een controlemiddel gebruiken, zodat studenten over een langere periode werk in segmenten kunnen inzenden. Tussentijdse deadlines vergroten ook de transparantie in het werk van studenten en het helpt studenten zich gezien te voelen, waardoor ze minder vatbaar zullen zijn voor academisch wangedrag.
- Gebruik software dat controleert op gelijkenis, wat als afschrikwekkend middel kan dienen voor wangedrag. Dit kan ook gebruikt worden in combinatie met expliciete instructies en feedback om academische integriteit in het programmeren te versterken.
- Investeer in assessment met behulp van itemanalyse en assessment met integriteit, zodat opdrachten bijdragen aan het leren van studenten en zodat studenten de waarde van assessment en opbouwende feedback begrijpen. Volgens 'Eliminating Plagiarism in Programming Courses through Assessment Design, is op het gebied van programmeren het leren van uitgewerkte voorbeelden met name nuttig wanneer studenten leren bestaande broncode te interpreteren en aan te passen aan hun behoeften. De sleutel tot het leren van voorbeelden is dat we ervoor moeten zorgen dat studenten de voorbeelden begrijpen en niet alleen de source code kopiëren om de opdrachten uit te voeren. Daarom worden er in onze designstrategie voor elke opdracht geraamtes ontwikkeld om te voorkomen dat studenten kopiëren zonder begrip. Vervolgens worden assessments tijdens de les ontworpen op basis van de inhoud van de opdracht om het begrip van de studenten en hun vermogen om de source code aan te passen om aan de nieuwe programmavereisten te voldoen, te testen. De eerste resultaten en feedback van studenten tonen potentiele voordelen van onze ontwerpmethode bij het verbeteren van het begrip en de prestaties van de studenten. Nog belangrijker, het verkort de tijd van de docenten en de pogingen bij het detecteren van plagiaat" (Ngo 2016, blz. 878).
- Stimuleer terugkoppelingen en respect tussen studenten en docenten. Onderzoek heeft aangetoond dat een sterke student-docent relatie voorvallen van plagiaat beperkt. Computerwetenschappen zijn geen uitzondering. 'Plagiaat en programmeren: A Survey of Student Attitudes' vatte onderzoek samen dat zich richtte op de percepties van studenten van programming plagiaat en het voorkomen daarvan. Het artikel stelt vast: Uit dit onderzoek bleek dat wat voorlichting over academische fraude voor beoordeelde programmeeropdrachten inhoudt, een verschil maakt in de percepties van studenten, docenten moeten zorgvuldig zijn en duidelijk omschrijven wat aanvaardbaar is en wat niet. Ook moeten zij studenten voortdurend herinneren aan het cursusbeleid met betrekking tot academische fraude." Dit komt overeen met de bevindingen van Simkin en McLeod (2010), dat de aanwezigheid van een ethisch faculteitslid met meningen die studenten respecteerden, een reden was waarom studenten ervoor kozen eerlijk te blijven" (Aashiem, Rutner, Li & Williams 2012, blz. 307). Expliciete instructies rond academische integriteit in programmeren is een noodzakelijke stap.
Onbeperkte digitale toegang tot online broncode maakt programmeerplagiaat bijzonder kwetsbaar voor gevallen van academisch wangedrag. De beschikbaarheid aan bronnen is overvloedig en toegankelijk voor onder werk bedolven en gestreste studenten. En de collaboratieve kameraadschap van de software-industrie - ideaal voor het bouwen van software - kan misleidend zijn voor studenten die beoordeeld worden op individuele prestaties.
Wat wij als onderwijskundigen kunnen doen, is studenten helpen het doel van leren en de leidende principes van academische integriteit te begrijpen, zodat ze voorbereid kunnen worden op carrières met originele ideeën, originele code en een duidelijk begrip van echte samenwerking.