Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Tandis que les classes de programmation prennent de plus en plus d'étudiants
La tricherie prend également plus de proportions

Le , par Stéphane le calme

243PARTAGES

15  0 
Pour un simple devoir qui consistait à écrire un code qui permettrait à un ordinateur de visiter des pages Web situées sur un autre, deux élèves de la classe de H. E. Dunsmore à l'Université de Purdue ont rendu près de 100 lignes de code identiques. Le fruit du hasard ou le résultat d’une tricherie ?

En examinant leur travail, M. Dunsmore, un ancien professeur de sciences informatiques, a vu un passage qu'il a considéré comme « l'arme du crime »  :

Code : Sélectionner tout
1
2
3
Boolean Done = true;
 
While (! Done) {

Étant donné qu’ils ont écrit la condition Done avec le point d’exclamation dans la boucle While (en programmation, ce symbole renvoie à “NON”), le programme a traduit la condition en “PAS VRAI”, ce qui fait que tout le code dans la boucle While a été ignoré et les deux élèves ont échoué à l’exercice. Dans une classe d'environ 450 étudiants, ils étaient les seuls à avoir commis cette erreur qui leur a été fatale.

« C'est une preuve assez forte que l'un a copié l'autre », a déclaré M. Dunsmore. Plus tard, ils ont avoué la collusion. »

L’intérêt pour les cursus en sciences informatiques est allé grandissant, boosté par des éléments comme les salaires des ingénieurs de grandes entreprises technologiques (Facebook, Google, Microsoft, etc.), les séries télévisées, un phénomène de mode ou autres. Cependant, il s’est accompagné d’un effet secondaire indésirable : la tricherie. Plusieurs étudiants ont déjà été attrapés après avoir emprunté du code informatique à leurs camarades ou sur Internet.

« Il y a beaucoup de discussions à ce sujet, à la fois dans le département et également dans le domaine », a déclaré Randy H. Katz, professeur au Département d'ingénierie électrique et informatique de l'Université de Californie, Berkeley, qui a découvert en un an qu'environ 100 de ses 700 étudiants dans une catégorie avaient violé la politique du cours autour du code sur la collaboration ou la copie.

Les professeurs d'informatique ont décidé de procéder par des avertissements sévères au début de chaque cours et certains d’entre eux ont opté pour déployer un logiciel afin de détecter le plagiat. Cette méthode leur a permis de trouver de nombreux fraudeurs.

À l'Université Brown, plus de la moitié des 49 allégations de violations du code académique l'an dernier ont impliqué une tricherie en informatique. À Stanford, jusqu'à 20 % des étudiants dans un cours de sciences informatiques en 2015 ont été signalés pour tricherie.

Harvard n’est pas en reste, puisque l’école s’est distinguée négativement l’automne dernier : selon The Harvard Crimson, plus de 60 des étudiants ont été référés au conseil d'honneur de l'université, un comité qui examine les allégations de malhonnêteté scolaire, comme le plagiat et les violations du code d'honneur.

Dans les entrevues, les professeurs et les étudiants ont déclaré que les causes n'étaient pas difficiles à repérer. En effet, pour certains étudiants attirés par ces cours, il n’est pas aisé de développer. La mayonnaise peut demander beaucoup de temps avant de prendre.

Certains ont expliqué que des plateformes comme GitHub peuvent avoir la réponse à un devoir que les étudiants ont du mal à résoudre et posté par une personne qui a précédemment suivi le cours.

« Vous avez des étudiants qui ont eu du mal à passer un tiers de leur temps sur leurs ensembles de problèmes avec l'option de copier sur Internet », a déclaré Jackson Wagner, qui a suivi le cours Harvard en 2015 sans avoir été inquiété par des accusations de plagiat. « C'est la raison pour laquelle les gens trichent ».

Ce qui peut sembler déroutant pour certains est l'éthique collaborative qui est cultivée chez les développeurs, ce qui encourage le partage de code d’une manière qui n’est pas acceptable dans une classe. Les professeurs permettent également souvent aux étudiants de discuter de problèmes entre eux, mais pas de partager leur code, une politique que certains élèves estiment brumeuse quant à ce qui constitue un acte de tricherie.

Les copieurs peuvent essayer de couvrir leurs traces en remplaçant les mots par des synonymes, comme 0 au lieu de NULL, ou en remplaçant les noms de l'auteur original par des variables propres. Dans un exemple hypothétique de tricherie qu’il voit parfois, Thomas Doeppner, vice-président du département informatique à Brown, a fourni un extrait de codage pour un programme qui traverse un labyrinthe :

Code : Sélectionner tout
1
2
3
4
struct visit_list node;
node.row = row;
node.col = col;
node.next = NULL;

Quelqu’un qui copie le code et essaye de le mettre à sa sauce pourrait écrire :

Code : Sélectionner tout
1
2
3
4
struct rooms_visited room;
room.r = r;
room.c = c;
room.link = 0;

D’ordinaire, un logiciel anti-tricherie peut découvrir ces astuces. L'un d’eux, qui a été développé par Dr Aiken, s'appelle MOSS, pour Measure of Software Similarity. Un autre programme, développé par une société britannique Codio, surveille les frappes des élèves : des frappes qui sont soudaines vont soulever des questions sur l'origine du code.

Source : New York Times

Et vous ?

Qu'en pensez-vous ? Le même phénomène est-il observé en France ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Florian_PB
Membre averti https://www.developpez.com
Le 31/05/2017 à 16:14
Le soucis c'est que la culture du partage qui est très présente en développement est totalement contraire à la culture scolaire, ce qui fait que les cours de programmation se retrouvent à des années lumière de la réalité du terrain pour le développement logiciel.
8  2 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 31/05/2017 à 16:16
Dans le domaine scolaire, je trichais aussi, avec des camarades on se partageaient le boulot, moi je faisais par exemple le projet en Java, l'autre le projet en php, et l'autre le projet réseau.

Durant les tp noté toute la promo discutait carrément sur des bloc note en ligne ou bien qu'on avait installé sur un serveur web d'une machine du réseau local de l'école.

Aucun étudiant ne donne son code à quelqu'un sans contre partie, à un moment donné faut que la personne en fasse lui donne du code en retour. J’appelle pas cela de la triche, mais plus un échange bénéfique aux 2 parties.

Je doute que l'on puisse combattre la triche par plus de contrôle.
La solution serait de privilégier des projets en binôme ou en groupe. Ceux qui foutent rien dans un groupe on la plus mauvaise note.

Avec mon binôme, en 5 années d'études ont s'en aient partagé des lignes de code sur la boite mail de l'école

L'informatique c'est le partage, aussi je suis un adapte du copier coller mais aussi je suis un contributeurs aux projets open source, et je partage tous mes programmes sur git.
C'est à l'école de s'adapter, et je trouve dommage de vouloir interdire le partage.

Et pour conclure, il ne faut pas être stupide, celui qui s'appuie sur les autres pour réussir passera peut être la 1ere années avec de la chance mais sera éliminé la 2ieme.
Je rassure les profs, ceux qui arrivent en bac+3 ou +5 sont des étudiants qui savent coder, pas des néophytes incapable d'écrire une boucle for.
6  1 
Avatar de Hizin
Modérateur https://www.developpez.com
Le 16/06/2017 à 23:27
Citation Envoyé par RyzenOC
Et il m’apparaît impossible d'arriver à bac +5 en ayant jamais travaillé et en trichant.
Toi et moi ne vivons pas dans le même univers alors
Un de mes camarades de promo à eu son master en 8 ans. J'ai été en groupe de TP avec lui. Première année de master et incapable de faire une boucle correctement (entre autre). Comment est-il arrivé là ? Il se greffait toujours dans des groupes de TP, donc note moyenne du groupe. En ces 8 ans, je fus le seul à le virer de mon groupe de TP car il ne faisait que des copiés/collés et ne comprenait rien (et pour info, j'ai eu quelques démêlés avec le responsable de cette unité, ainsi que du Master par la suite).
Pour les partiels ? Il avait appris par coeur ceux des 4-5 années précédentes et recopiaient de tête les réponses quand c'était approchant. Ca suffisait pour lui assurer la moyenne parfois.
Bilan : il a un bac+5, et j'ai une profonde honte à ce que lui et moi ayons le même niveau de diplôme (peut-être qu'il s'est amélioré depuis, je lui laisse le bénéfice du doute, ayant complètement coupé contact).

TL;DR : c'est possible. Il ne faut surtout pas sous-estimer l'obstination humaine.
5  0 
Avatar de Vulcania
Membre éclairé https://www.developpez.com
Le 31/05/2017 à 17:46
Citation Envoyé par Othakar Voir le message
Nos profs de DUT utilisés un logiciel pour trouvé les similitudes entre les contrôles, mais bon ça n’empêche pas la tricherie.

On avaient d'ailleurs accès aux copies de n'importe quel élève sur la plateforme sur laquelle on envoyer nos copies.

Et je ne pense pas que les projets en groupe soient une solution, trop souvent je me suis retrouvé avec un "branlo" a devoir codé toute la nuit et partagé mon 18 avec un ingrat mais bon ^^
Je plussoie entièrement, cette année dans ma promo certains élèves arrivent à avoir un semestre pas dégueux du tout grâce aux projets de groupes alors qu'ils arrivent pas à aligner plus de 5 lignes de codes....

(oui, je suis un râleur de première )
4  0 
Avatar de 4sStylZ
Membre éclairé https://www.developpez.com
Le 01/06/2017 à 10:40
Quand je/on recrute dans ma boite, on valide le profil grace à un petit test d’algo mais l’une des choses que l’on recherche le plus c’est d’améliorer notre équipe.
On se fou d’avoir des bons développeurs qui ne savent pas / ne veulent pas travailler en équipe -> Ça n’apporterait rien à notre projet.
On fait du pair-programming, du code review en permanence, le code est versionné sur des dépôts GIT. Toute ces habitudes peuvent être prises pendant l’enseignement.
Quand un dev a un problème on ne veut pas qu’il reste bloqué dessus, on veut juste qu’il demande à un autre ou chercher, ou apprendre, la solution et le raisonnement qui peut lui permettre de progresser et d’avancer vite.
On bannie l’égo au profit du partage.

Chercher les fraudeurs c’est complètement dépassé comme manière de penser. Au contraire, certaines formation encouragent les projets en équipe et sur papier ça me parait beaucoup plus pertinent.
Par contre, formater les gens à être des requins qui ne partagent rien ça créé de beaux profils qui adorent la rétention d’information, les mecs doués mais qui peuvent couler un projet, faire foirer la mission d’une SSII.

Citation Envoyé par Steinvikel Voir le message
Dans ma promo de BTS, absolument tout le monde trichait pour les contrôles "individuel" aboutissant à l’accréditation CISCO (CCNA). Un petit malin avait trouvé les réponses type chapitre après chapitre, et tout le monde à prenais la feuille en 24h, plutôt que la logique qui en découle... je pense, pour ceux qui continuent dans ce domaine, qu'ils en paie les frais aujourd'hui, "haaa si seulement j'avais..."
Hahaha. C’était quoi ta promo ?*On faisait ça aussi. Bon, dans notre cas la dite accréditation était secondaire par rapport au reste des cours. Pour ma part je ne crois même pas avoir pris le temps de copier les réponses sur le site web car cette accréditation me semblait bien inutile pour la suite de mon parcours (le réseau ne m’intéressait absolument pas).
Effectivement
4  0 
Avatar de Othakar
Membre du Club https://www.developpez.com
Le 01/06/2017 à 10:29
Citation Envoyé par ustensile Voir le message
J'ai connu une époque à Telecom Nancy (anciennement ESIAL) où pour valider le module Java, on devait coder sur des copies doubles en amphi avec ramassage à la fin
On a eu pas mal de contrôle de prog sur table aussi en c++ , java et html. Je trouve ça complétement horrible, pas de doc ni tout les outils qui nous permettent de dev c'est rageant
3  0 
Avatar de Jean-Philippe André
Rédacteur/Modérateur https://www.developpez.com
Le 13/06/2017 à 11:19
Euh, et ton support, s'il n'est pas sur diapo, tu fais comment ?

Si tu as 140 copies a corriger en 1 semaine + 1 TP individuel + 1 projet en equipe + les projets annuels a suivre ?

Le QCM n'est pas foireux pour faire une estimation de connaissance de code. Et pour avoir enseigne egalement de la gestion de ptf financier, le degre de complexite dans les reponses n'est pas le meme que de savoir si une declaration de variable est bonne ou non.

On devie vachement du sujet de depart...
3  0 
Avatar de vanskjære
Membre averti https://www.developpez.com
Le 31/05/2017 à 18:10
Citation Envoyé par Florian_PB Voir le message
Avec le mien on hébergeait tous nos codes de TP sur des dépôts Github, je les ai toujours sur mon compte.
Je viens de me prendre un coup de vieux......à l'époque de mes études......Github n'existais pas encore...

On se partageais quelques bouts de codes avec mes camarade de promo mais rien de plus que des exemples d'utilisation d'API
2  0 
Avatar de ustensile
Membre régulier https://www.developpez.com
Le 01/06/2017 à 10:21
J'ai connu une époque à Telecom Nancy (anciennement ESIAL) où pour valider le module Java, on devait coder sur des copies doubles en amphi avec ramassage à la fin
2  0 
Avatar de Carhiboux
Expert éminent sénior https://www.developpez.com
Le 01/06/2017 à 10:31
C'est vrai que ça pourrait être chouette d'avoir des TP machine avec un prof assis près de nous pour vérifier qu'on a bien compris les notions.

Genre du code à trou, ou des trucs très simples à écrire.

Maintenant, les profs ne sont pas dupes, ils savent globalement pas mal ceux qui sont bons et ceux qui ne sont pas bons. En tout cas, dans mon école c'était comme ça. J'ai d'ailleurs été plus d'une fois surpris que même des profs qui ne nous avaient pas directement en cours connaissaient très bien nos forces et nos faiblesses.

Ensuite, travailler en équipe, c'est aussi ce qu'on est amenés à faire plus tard. Donc travailler tout seul dans son coin sur son petit bout de code, cela n'a que peu d'intérêt.
2  0