Question:
La réutilisation de l'ancien code pour une nouvelle affectation est-elle considérée comme un auto-plagiat? Comment vous protéger si vous le considérez comme tel, et pas un partenaire du groupe?
01010110011001
2015-11-01 05:03:20 UTC
view on stackexchange narkive permalink

Je suis un cours de machine learning pour les diplômés et je travaille avec un autre étudiant de la classe sur un projet final. Au cours de ses études de premier cycle, l'autre étudiant a écrit un code qui accomplissait une tâche similaire et a mentionné lors de notre réunion précédente que nous pourrions exploiter une grande partie de ce code pour notre projet actuel si nous le voulions. J'ai répondu que je crois que cela constituerait de la triche et de l'auto-plagiat, mais l'autre étudiant n'est pas d'accord et pense que réutiliser le code ne constituerait pas un auto-plagiat parce qu'il l'a lui-même écrit, et il serait redondant de réécrire ce que il l'avait déjà fait.

Maintenant, les instructeurs du cours ont clairement indiqué que nous ne sommes pas autorisés à utiliser des bibliothèques externes pour exécuter certaines classes d'algorithmes pour ce projet. Le code antérieur de cet étudiant appartiendrait à cette catégorie d'outils interdits, mais il prétend qu'il n'est pas admissible parce qu'il a écrit le code lui-même (ce n'est donc pas une «bibliothèque externe»). Je pense que c'est une hyperbole, mais il n'est pas d'accord. Il convient également de mentionner que ce code est sous licence sous une licence MIT, bien qu'il ne soit pas du tout largement utilisé.

Il en est arrivé au point où je suis mal à l'aise à l'avenir avec le projet en réutilisant son ancien code, et il ne souhaite pas travailler sur le projet qu'il considère comme redondant. Mon inquiétude est que s'il s'avère que nous ne sommes pas autorisés à réutiliser le code, son utilisation pourrait nous faire échouer dans le cours et affecter gravement notre réputation. Même si nous ne nous faisons pas prendre, je pense personnellement qu'il serait contraire à l'éthique de copier-coller l'ancien code et de le présenter comme s'il s'agissait de nouveau code pour ce projet en cours.

Je ne sais pas comment procéder . J'ai essayé de contacter le professeur du cours il y a quelque temps (elle a récemment voyagé pour des conférences et le sera pendant un certain temps) mais je n'ai pas eu de réponse d'elle. De plus, les assistants techniques du cours n'ont pas voulu peser sur la situation.

J'ai les questions suivantes:

  1. La situation ci-dessus est-elle généralement considérée comme un auto-plagiat? Pourquoi ou pourquoi pas?
  2. L'acte ci-dessus est-il généralement autorisé dans un cadre universitaire?
  3. En supposant que vous êtes à ma place, et envisagez de réutiliser le code pour tricher et / ou contraire à l'éthique, quelle est la meilleure façon de procéder; à la fois sur la manière de faire avancer le projet, comment faire des compromis avec mon compagnon de groupe, et comment me protéger si mon compagnon de groupe refuse de bouger.
Si les gens votant contre la question pouvaient expliquer pourquoi, ce serait utile. Il semble que je ne comprends pas bien le concept d'auto-plagiat, et si quelqu'un pouvait expliquer pourquoi je l'apprécierais.
Entre autres raisons, vous avez rendu cela * très fortement * moraliste pour quelque chose qui est au mieux un cas de pointe.
Encore une fois, si tel est le cas, veuillez définir l'auto-plagiat. Je ne vois pas en quoi cela ne correspond pas à la définition d'un T.
Une partie du problème est que l'auto-plagarisme est quelque peu mal défini, en particulier pour quelque chose comme le code. Cela fait partie du problème - vous avez tracé des lignes très nettes et commencé à lancer un langage très moraliste autour de quelque chose qui est au mieux mal défini.
Je dessine des lignes nettes autour d'un sujet pointu. Si c'est de la triche (quels autres étudiants à qui j'ai demandé ont convenu que c'était le cas), comment devrais-je le gérer autrement? La morale est souvent une zone grise, mais elle est sévèrement traitée. C'est pourquoi les gens viennent sur les babillards électroniques et demandent l'opinion des autres sur eux.
Si vous ne vous sentez pas à l'aise de travailler avec quelqu'un parce que, à votre avis, il fait quelque chose de contraire à l'éthique qui pourrait vous embrouiller, alors ** cessez de travailler avec lui. **
Si votre camarade de classe dit la vérité, quoi que vous fassiez, il sera inspiré par ce code écrit. Comme c'est sa connaissance, il peut utiliser cette connaissance. Peut-être, ne prenant pas entièrement le code écrit, mais certaines parties de celui-ci. Dans le domaine de l'économie théorique, les gens utilisent leur code écrit pour de nombreux articles. S'agit-il de l'auto-plagiat? Au fait, si c'est vraiment son code, vous ne pouvez pas le trouver sur une bibliothèque ou ailleurs. Alors, est-ce vraiment un auto-plagiat? Aussi, je ne trouve pas corriger votre pré-jugement sur votre camarade de classe. Pour être en sécurité, le mieux est de parler avec votre professeur.
Mis à part votre compréhension de l'auto-plagiat, votre affirmation selon laquelle il est contraire à l'éthique dans * tous * les cas est tout simplement injustifiée. Ce n'est pas parce que vous avez nommé un concept que vous avez correctement jugé la moralité de ce concept. Ce serait formidable s'il y avait un nom pour cette erreur logique trop courante, mais ironiquement en citer un comme substitut pour expliquer pourquoi c'est une erreur serait un exemple d'elle-même.
J'apprécie les personnes sur ce fil qui m'ont réellement donné des conseils sur la façon de procéder; ce qui était d'envoyer une demande au professeur, d'attendre une réponse, et de faire d'autres travaux sur le projet comme nous le pouvons dans l'intervalle. Comme je l'ai mentionné dans la question, je lui ai envoyé un courriel il y a quelque temps et je viens juste de recevoir une réponse. Elle a déclaré que si nous devions réutiliser son code, cela serait considéré comme de la triche et nous échouerions le cours.
De mes yeux, bien qu'il soit évident que beaucoup d'entre vous ne seront pas du tout d'accord, la leçon à tirer ici est que vous * devriez * traiter sérieusement les problèmes d'intégrité académique des «cas extrêmes». Faites preuve de prudence. Il n'y a aucune raison de supposer que tout le monde a la même idée que vous de ce qui constitue la triche, l'auto-plagiat, que ce soit. La plupart des réponses étaient: "Je ne considère pas cela comme de la triche, donc ce n'est pas de la triche." En réalité, «tricher» est ce que le professeur juge que c'est. Merci encore aux personnes qui ont apporté des réponses pertinentes à mes questions.
Je pense que vous obtenez des réponses qui ne sont pas ce que vous recherchiez parce que la façon dont la question est formulée n'est pas vraiment exacte. Un "camarade de classe qui refuse de reconnaître l'auto-plagiat" serait celui qui voudrait cacher le fait que le code est réutilisé, ou qui insiste pour l'utiliser même après que l'instructeur vous a répondu que ce n'est pas autorisé. Ce que vous avez * ici *, c'est un camarade de classe qui n'est pas d'accord sur l'interprétation des règles du cours, ce qui est une question complètement différente. Je pense qu'un [modifier] au message est en ordre.
@LightnessRacesinOrbit Bien que je sois entièrement d'accord pour dire que l'OP est trop moraliste sur ce point, vous pouvez [en fait vous plagier] (https://en.wikipedia.org/wiki/Plagiarism#Self-plagiarism), bien que ce ne soit pas vraiment s'appliquent au cas d'OP.
Je suggérerais également que dans le contexte d'un code plus complexe, même si votre collègue n'utilise pas explicitement le code précédent, il serait instinctivement enclin à mettre en œuvre des solutions conceptuellement similaires. En effet, pour être cohérent avec votre désir, votre coéquipier devrait s'efforcer de développer une solution volontairement différente. Le fait est que dans un environnement de développement analytique et logiciel, en particulier lorsque vous travaillez sous pression, vous serez enclin à réutiliser des concepts que vous connaissez. Même si votre collègue ne regarde pas le code, l'expérience influencera son approche du problème.
@ff524 J'ai édité la question. Pensez-vous que c'est plus précis et plus clair? Sinon, n'hésitez pas à le modifier davantage.
Vous avez mentionné dans d'autres commentaires sur les réponses que vous n'êtes pas intéressé par les réponses à la question "La réutilisation de l'ancien code pour une nouvelle affectation est-elle considérée comme un auto-plagiat?" - avez-vous changé d'avis à ce sujet?
@ff524 Je l'ai fait, étant donné que mon opinion sur le sujet était clairement biaisée et qu'elle semble pertinente quant à la manière dont je devrais procéder avec mon partenaire de projet.
Alors oui, ce titre me semble beaucoup plus précis. Merci de clarifier.
Je viens de lire les modifications apportées au corps du message. "Considérez-vous cela comme ..." et "Devrait-il être ..." les deux me semblent trop basés sur l'opinion (voir le [help / dont-ask].) Étant donné que cette question a déjà attiré quelques proches votes, je suggère de changer cela pour demander quelle est la convention ("Est-ce généralement considéré ...") plutôt que quelles sont les opinions des gens.
J'ai encore édité la question
Je pense que je viens d'être témoin de mon premier cas de "scellage" - http://wondermark.com/1k62/
Oups. Une fois, j'ai utilisé le segment de code «i ++;» dans l'un de mes projets plus anciens. Maintenant, je n'ai plus le droit d'utiliser ce segment de code!
Pour notre cours Language & Compilers 2, le professeur ** attend ** que vous réutilisiez le code que vous avez écrit pour LC1. Étant donné que vous devez écrire un front-end complet (jusqu'à la génération de code intermédiaire) à partir de zéro en 180 heures environ (note: heures droites, soit 180/24 = 7,5 jours de travail continu. Le temps de sommeil est compté dans les heures utilisées ). Si vous avez déjà l'analyseur et le vérificateur de type prêts, vous pouvez réussir à ajouter la partie de génération de code à ce moment-là, tout réécrire est tout simplement impossible.
Je ne pense pas que le plagiat soit particulièrement pertinent ici. C'est juste une question de marquage. Quelle est la politique de votre université concernant le code préalablement marqué? J'ai récemment terminé un MSc, dans lequel il était explicitement déclaré que le fait d'être marqué pour le même code plus d'une fois n'était pas autorisé. Cependant, cela ne veut pas dire que vous ne pouvez pas construire sur du code précédent (en notant quel code a été pris ailleurs) et obtenir des notes pour le nouveau travail.
Je peux comprendre pourquoi vous posez cette question - l'auto-plagiat est un problème difficile à définir. Cependant, dans CS, la réutilisation de l'ancien code est généralement acceptée, encouragée même, lorsque cela serait utile, et tant que vous faites référence au fait que l'ancien code que vous * savez * fonctionne est utilisé, je ne vois pas de problème. Vous devriez toujours l'exécuter par le professeur, mais si vous faites l'effort de vous assurer que l'ancien code fonctionne dans le nouveau paramètre, je ne verrais aucun problème avec cela, et j'espère que votre professeur ne le ferait pas non plus. .
Je voudrais ajouter pourquoi votre définition d'auto-plagiat n'est pas vraiment applicable, en particulier au code. En CS, les articles sont souvent basés sur un programme / une bibliothèque et des mesures de performance ultérieures. Supposons donc qu'un auteur coderait un tel programme et publierait un article basé sur celui-ci. S'il / elle décide d'utiliser à nouveau le code et de l'étendre et de publier un nouvel article à ce sujet, ce serait tout à fait correct (et personne ne s'attendrait à ce que l'auteur recode à nouveau le même contenu). Cependant, ce serait de l'auto-plagiat si les images ou les paragraphes étaient simplement copiés pour la nouvelle publication.
Je dois être d'accord avec Lightness ici. «L'auto-plagiat» est un terme idiot, évoquant un acte exactement aussi odieux que «voler sa propre maison».
@MasonWheeler: Eh bien, si cette maison est louée à quelqu'un d'autre.
Bien qu'il soit discutable de savoir si cela constitue du plagarisme, vous pouvez vous couvrir entièrement (en termes d'éthique) en déclarant clairement et sans ambiguïté que vous utilisez ce code et en montrant clairement quelles en sont les parties. À ce stade, vous ne commettez plus à 100% de plagiat, que ce soit pour vous-même ou autrement, et il n'y a aucun problème * éthique * ou * d'honneur * avec cela. Le professeur peut choisir de * retenir ou déduire des points * pour le code réutilisé, mais tant que vous êtes clair, ouvert et honnête à propos des sources, il ne peut s'agir de plagiat (infraction disciplinaire). (Le bit de licence MIT n'est absolument pas pertinent)
Neuf réponses:
jakebeal
2015-11-01 06:22:10 UTC
view on stackexchange narkive permalink

Que devez-vous faire? Vous devriez demander poliment au professeur et sans imposer votre pré-jugement si cela est ou non interdit par les règles de la classe. Vous n'êtes pas en mesure de porter ce jugement. La seule personne qui peut rendre une décision définitive est le professeur qui a défini les règles.

Je recommande une approche comme:

Mon coéquipier a déjà créé du code qui serait très applicable à ce projet. Pouvons-nous utiliser ce code, ou est-ce qu'il compte comme une bibliothèque externe, et nous devrions plutôt le réécrire comme exercice?

Pendant que vous attendez une réponse, je vous recommande de continuer de deux manières en parallèle:

  1. Vous implémentez une nouvelle version de la bibliothèque à partir de zéro, tandis que
  2. Votre partenaire s'appuie sur la bibliothèque existante.

De cette façon, vous obtenez la valeur éducative de la construction de la bibliothèque, plutôt que d'utiliser la bibliothèque préexistante, et votre partenaire peut aller de l'avant sans qu'aucun de vous ne soit bloqué en attendant le résultat.

Je pense que suggérer de le réécrire est un peu idiot. Tout d'abord, quel est l'arrêt d'un ctrl-a géant, ctrl-c? Si mon objectif est de réécrire quelque chose que j'ai déjà écrit, j'appellerais à peine cela du plagiat. Deuxièmement, quel est l'avantage de le réécrire? Juste pour que vous puissiez cocher une case mentale?
@DavidGrinberg La réponse suggère que l'OP réécrit le code, pas son collègue qui a écrit la bibliothèque à l'origine. Cela reproduit les résultats de quelqu'un d'autre et dans la plupart des cas une bonne expérience d'apprentissage.
De plus, l'OP peut avoir des optimisations lors de la reconstruction de la bibliothèque, donc qu'il s'agisse ou non de plagiat, il aura toujours une valeur éducative.
Puisque l'autre étudiant a publié son travail, vous voudrez certainement en discuter avec le professeur. Même si vous l'avez convaincu de le réécrire à partir de zéro, il y a de fortes chances que ce soit assez similaire pour déclencher les outils anti-plagiat que le professeur utilise.
Le processus de * refactorisation * dans sa propre bibliothèque serait presque certainement bénéfique à bien des égards - et une excellente occasion d'améliorer le code lui-même et de jeter un autre regard sur ce qu'il fait et de comprendre à quoi cela sert. À ce stade, ce n'est plus de l'auto-plagiat par aucune mesure, imo. Ceci est totalement différent du code copypast dans tout le nouveau projet.
@DavidGrinberg Programmeur professionnel sonnant: La réécriture de votre propre code est un excellent exercice. Vous pouvez toujours le rendre plus élégant, plus flexible, plus rapide, meilleur, même si vous ne le réécrivez pas dans un nouveau langage ou un nouveau framework. Tout programmeur talentueux pourrait réécrire ses précieuses bibliothèques encore et encore s'il n'était pas contraint par le temps et la raison. Avec modération, c'est un excellent moyen de devenir un meilleur programmeur.
+1 Demander au professeur est une réponse à la première question réaliste d'OP, et si le prof autorise la copie, la deuxième question d'OP (dans le titre) est invalide. Si le prof n'autorise pas la copie, la réponse à la deuxième question de l'OP est simplement "Dites à votre coéquipier de ne pas utiliser l'ancien code, puisque le prof le dit."
@DavidsaysReinstateMonica Il y a un avantage.Une grande partie du code écrit peut être améliorée.C'est un état d'esprit qu'un développeur devrait avoir, tout comme le travail qui a été écrit auparavant peut être réutilisé, il peut également être amélioré et développé.Le fait que le coéquipier veuille le gifler tel quel porte un peu d'orgueil que je considère comme un trait de personnalité négatif de la complaisance.Je ne pouvais pas m'attendre à un code bien entretenu de quelqu'un comme ça.
Fomite
2015-11-01 06:00:20 UTC
view on stackexchange narkive permalink

Comme qsp, je ne suis pas d'avis que ce soit de l'auto-plagarisme.

Je ne pense pas non plus que ce soit une «bibliothèque externe» au sens du mot. D'ailleurs, qu'attendez-vous vraiment de lui - il a déjà écrit du code pour le faire, même s'il l'a réécrit à partir de zéro, n'est-il pas autorisé à faire référence à d'autres choses qu'il a faites? Je repense constamment à l'ancien code (je l'ai fait de manière intelligente l'année dernière ...). Où tracez-vous la ligne - êtes-vous autorisé à revenir sur votre ancien code si vous ne vous souvenez pas de quelque chose de basique, mais que vous savez que vous l'avez déjà fait?

Si vous voulez faire valoir que vous n'apprendrez rien si c'est déjà fait et implémenté, je pourrais le comprendre. Le problème est que vous vous êtes efforcé d'en faire un problème éthique alors que c'est au mieux discutable, et pour être franc, si vous utilisiez le langage que vous avez utilisé à propos de votre partenaire avec moi, vous empoisonneriez probablement notre travail. relation aussi.

Il y a une ligne très fine entre le référencement de votre ancien travail et le copier-coller de la moitié d'un projet précédent. Les gens oublient des choses avec le temps, et s'il connaît déjà le matériel, je ne pense pas qu'il soit déraisonnable du tout d'attendre qu'il le réimplémente. Ce n'est pas l'industrie privée, c'est un programme d'études supérieures où tout le monde doit suivre les mêmes politiques.
@110100101110101 Sur la base de vos commentaires et de votre vote, je ne suis pas sûr que vous ne cherchiez pas simplement que quelqu'un soit d'accord avec vous.
De plus, je ne vois pas en quoi l'utilisation d'un langage tel que «tricherie» et «comportement contraire à l'éthique» est de mauvais goût si c'est un cas limite. Êtes-vous en train de dire que les gens devraient jeter la prudence au vent? J'ai fréquenté des établissements où les étudiants ont échoué à des cours pour cette * raison * exacte. Littéralement parce qu'ils ont copié et collé du code.
Personne n'a répondu à ma question, ils ont seulement dit: "ce n'est pas de la triche". Vous ne connaissez pas les politiques de mon établissement, ni les détails de ma situation. Si vous mettez à jour votre réponse pour répondre à ma question, je vais annuler mon vote défavorable.
Je dis * ce n'est pas clair que c'est de la triche *. Si un élève vient me voir et me dit "J'ai déjà écrit le code qui contient de grandes parties de X, puis-je simplement l'utiliser?" la réponse serait oui. Vous ne pouvez pas faire répondre les AT, et le professeur n'a pas pesé. La seule autorité déclarant qu'il triche, c'est vous. Vous nous l'avez demandé, et plusieurs personnes ont dit: "Nous ne pensons pas vraiment que ce soit de la triche". C'est une réponse ... ce n'est pas celle que vous aimez.
Je comprends cela, mais encore une fois, cela ne répond pas à la question de savoir comment le gérer si * c'est * de la triche. C'était ma question. Supposons que c'est du plagiat. Comment vous protégez-vous? Tout ce que vous avez dit, c'est "vous empoisonnez votre relation avec vos pairs". Franchement, ce n'est pas utile. De plus, personne n'a dit: "Nous ne pensons pas vraiment que ce soit de la triche". C'est le but. Aucun des instructeurs n'a pesé.
@110100101110101 Cette question (qui diffère de ce que vous avez réellement demandé à mon humble avis) serait fermée sur ce site, car elle l'est théoriquement. Votre hypothèse selon laquelle il s'agit de plagiat est considérée comme invalide par presque tout le monde ici, donc en bref, je dirais que votre hypothèse est incorrecte. Tout raisonnement basé sur une hypothèse incorrecte est purement théorique et sans valeur et sera également incorrect, alors quel est l'intérêt d'y répondre? Même si vous n'acceptez pas l'opinion prédominante ici, veuillez au moins reconnaître que nous rejetons votre hypothèse.
À l'université, je réutilise régulièrement le code de projets précédents (soit d'autres projets de cours, soit du code que j'ai écrit au travail et que j'ai l'autorisation d'utiliser de mon employeur). Il n'y a rien à gagner à réécrire exactement quelque chose que vous avez déjà résolu - et c'est une excellente pratique pour le développement dans le monde réel où ce genre de chose est attendu et banal.
Dan Romik
2015-11-01 09:41:05 UTC
view on stackexchange narkive permalink

Votre question soulève d'intéressantes questions d'honnêteté, de travail d'équipe et de psychologie. Examinons comment certaines de ces idées interagissent dans votre situation.

Maintenant, les instructeurs du cours ont clairement indiqué que nous ne sommes pas autorisés à utiliser des bibliothèques externes pour exécuter certaines classes d'algorithmes pour ce projet . Le code antérieur de cet étudiant appartiendrait à cette catégorie d'outils interdits, mais il prétend qu'il n'est pas admissible parce qu'il a écrit le code lui-même (ce n'est donc pas une «bibliothèque externe»). Je pense que c'est une hyperbole, mais il n'est absolument pas d'accord.

D'accord, donc vous et votre partenaire êtes en désaccord sur quelque chose; ce n'est pas rare au cours d'une collaboration. Cependant, il me semble que vous abordez ce débat d'un point de vue qui suppose qu'il y a ici une vérité objective, et que vous sentez en outre très fortement que cette vérité est de votre côté: l'ancien code de votre partenaire vous semble logiquement être une bibliothèque externe, et vous avez du mal à croire que n'importe qui pourrait honnêtement penser le contraire, à moins qu'il ne soit motivé par la paresse ou l'intérêt personnel. Eh bien, en fait, je pense que c'est loin d'être le cas; non seulement il n'est pas évident pour moi et pour certains des autres utilisateurs ici si l'ancien code comptera comme "bibliothèque externe" ou si sa réutilisation compte comme un auto-plagiat, mais je pense que même le professeur du cours pourrait ne pas en être sûr et devoir le faire réfléchissez un peu quand on me pose cette question (et je le dis en tant que professeur qui a une certaine expérience de se faire poser des questions inhabituelles auxquelles je ne m'attendais pas de la part de mes étudiants dans le cadre de mes politiques de cours). Donc, un premier conseil que je voudrais vous donner est de calmer un peu votre rhétorique. Oui, peut-être la réutilisation de l'ancien code est une mauvaise idée et sera considérée comme malhonnête, surtout si elle est effectuée sans le reconnaître. Vous êtes tout à fait raisonnable de vous inquiéter à ce sujet et de vous soucier de votre réputation. Vous devriez certainement vérifier cela, mais avant de commencer à lancer des mots comme "hyperbole", il est judicieux d'être un peu plus humble, de faire moins d'hypothèses et d'être plus ouvert à la possibilité que d'autres personnes très raisonnables soient en désaccord avec vous. ceci.

Cela est arrivé au point où l'autre élève et moi ne pouvons pas être d'accord sur ce problème, et je crains que s'il refuse simplement d'accepter que nous devions tout faire le travail pour ce projet [...]

Je pense que vous devez vous rappeler que votre partenaire est un membre de votre équipe . Vous n'êtes pas son patron et vous ne pouvez pas lui demander de faire les choses exactement comme vous le souhaitez ou d'accepter votre façon de penser. De plus, ce projet n'est pas seulement un exercice de programmation, il est également destiné à vous apprendre le travail en équipe - l'art de travailler en équipe, ce qui est très apprécié par les employeurs, dans certains cas bien plus que la programmation spécifique ou l'apprentissage automatique. sorcellerie. Quand vous parlez de lui "refusant d'accepter simplement que nous devions [faire les choses à ma façon]", et dites que vous avez atteint un point où vous et votre partenaire êtes sur le point d'être complètement incapables de travailler ensemble, je vois ceci comme un échec à établir un travail d'équipe efficace. Des désaccords surgiront dans tout projet collaboratif; vous êtes maintenant testé sur votre capacité à les utiliser efficacement, en parlant avec le membre de votre équipe, mais aussi en l’écoutant et en étant ouvert à l’entendre et à l’accepter de vue.

Personne n'a répondu à ma question, ils ont seulement dit: "ce n'est pas de la triche". [...] cela ne répond pas à la question de savoir comment la gérer si elle est de la triche. C'était ma question. Supposons que c'est du plagiat. Comment vous protégez-vous?

Eh bien, si tout ce que vous voulez, c'est une réponse à votre question littérale et que vous ne vous souciez pas d'entendre une analyse supplémentaire: si j'avais un partenaire de projet qui était un tricheur et je ne pouvais pas le convaincre de ne pas tricher, je ne serais pas partenaire avec lui. J'allais voir mon professeur et demanderais à être associé à quelqu'un d'autre, ou à recevoir un projet solo si c'est la seule option pratique, et lui expliquerais que travailler avec le partenaire actuel est éthiquement intenable pour moi.

Cependant, si vous êtes disposé à envisager une analyse supplémentaire, je me risquerai à vous dire que vous posez la mauvaise question. Sur la base de ma compréhension de votre situation, je pense que vous êtes trop sûr que vous avez raison et que votre partenaire a tort, et dans ce cas, refuser de vous associer à lui aura une mauvaise image de vous, car cela indiquera que vous n'ont pas de bonnes compétences en travail d'équipe, ce qui fait partie de ce que ce projet est censé tester et vous aider à développer.

Pour résumer, le cœur de votre question est en fait une question simple sur la façon d'interpréter un cours politique qui interdit l'utilisation de bibliothèques externes dans un projet de programmation. Lorsque les professeurs rédigent leurs politiques de cours, ils ne pensent pas toujours à tous les scénarios possibles qui pourraient survenir, il n'est donc pas rare que des ambiguïtés existent. Lorsque cela se produit, la meilleure chose à faire est simplement de demander au professeur (mais veuillez demander poliment et d'une manière neutre qui ne suppose pas quelle est la bonne réponse), puis suivez ses instructions. Si vous faites cela, je ne vois pas comment votre réputation peut être affectée.

qsp
2015-11-01 05:44:59 UTC
view on stackexchange narkive permalink

J'ai bien peur que vous ne compreniez pas correctement «l'auto-plagiat». Le but du projet de cours est d'aider les étudiants à comprendre les algorithmes. C'est pourquoi le professeur n'autorise pas l'utilisation de bibliothèques externes, mais dans votre cas, votre partenaire a mis en œuvre la tâche par lui-même (si son partenaire de premier cycle l'a fait, c'est une autre histoire). Donc il ne triche pas ici.

En fait, pour ce projet, il vaut mieux que vous preniez la responsabilité d'accomplir la tâche que votre partenaire a effectuée. Parce qu'il a déjà parfaitement compris la tâche, et vous ne le faites pas.

Merci pour votre réponse. Si j'ai mal compris l'auto-plagiat, peut-être pourriez-vous le définir dans votre réponse? Il me semble que vous prétendez que parce que le but d'un cours est d'enseigner, la réutilisation de son code existant ne correspondrait pas à la définition de l'auto-plagiat. De plus, peut-être que nous venons de milieux universitaires différents, mais je n'ai jamais fréquenté une institution où les étudiants étaient autorisés à réutiliser leurs travaux des semestres précédents. En fait, il est généralement expressément interdit.
@110100101110101 Est-ce qu'il * réécrit * son code sans * aucune * modification, ou choisit-il simplement de ne pas réécrire la roue? Parce que j'ai assisté à de nombreux cours qui supposent absolument que vous construirez des choses que vous avez apprises auparavant.
Un étudiant devrait-il être autorisé à remettre exactement le même essai pour plusieurs cours si le sujet général est le même? Telle est la définition même de l'auto-plagiat. Je ne vois pas en quoi l'objectif du cours d'enseigner les algorithmes changerait cela.
@Fomite il veut copier et coller plus de la moitié de la base de code
@110100101110101 Donc, lorsque vous l'accusez, vous utilisez un langage comme `` Un élève devrait-il être autorisé à remettre exactement le même essai '', mais il n'en réutilise que `` plus de la moitié '' ...
@Fomite, d'accord, je vais reformuler, un élève devrait-il être autorisé à copier et coller la moitié d'un essai et à le remettre comme s'il s'agissait d'un travail original?
Parler d'un «essai» est totalement trompeur. La réutilisation du code que vous avez écrit avant et qui s'avère utile pour un nouveau projet est certainement différente; si cela est acceptable ou non dépend des directives de la classe (mais je suppose que oui). Juste dire.
@110100101110101, Je dirais que le but d'une classe est que les élèves apprennent le matériel. Si l'étudiant dans ce cas a utilisé cet algorithme dans une classe précédente, il a évidemment appris le matériel. La seule question importante pour un devoir devrait être "Ce projet est-il uniquement le travail des étudiants?". Dans ce cas, la réponse est «oui».
@110100101110101 S'il vous est interdit de réutiliser des travaux antérieurs dans un cours d'informatique, c'est juste une autre façon dont le monde universitaire est complètement déconnecté de la réalité. Les étudiants doivent être * tenus * de réutiliser les travaux antérieurs. La manière de réutiliser efficacement le code devrait être une partie importante du programme.
@KevinKrumwiede Je suis à la fois d'accord et en désaccord.Dans le monde réel, il n'est pas nécessaire de réinventer la roue.Les étudiants doivent absolument être informés que l'utilisation du code existant antérieur et ouvert pour les implémentations est une bonne chose.Cependant, si le but est de prouver que l'étudiant maîtrise suffisamment la théorie pour concevoir une nouvelle implémentation, je pense qu'il est valable de demander un tout nouveau code.Si le professeur est assez sensé, il peut autoriser le code, mais donner une meilleure note pour "améliorer et reconcevoir la logique" afin qu'elle soit renouvelée à partir de l'ancien.
Peter
2015-11-01 19:12:57 UTC
view on stackexchange narkive permalink

Concernant les règles édictées par le professeur, la lettre de la loi est claire dans la mesure où elle permet absolument à la fois votre interprétation et celle de votre collègue. Alors ne tenez pas compte de cela et recherchez intentent

En termes d'intention, ce que nous pouvons faire est de faire une supposition éclairée, mais un moyen beaucoup plus simple de découvrir l'intention est demandez à celui qui a établi la règle.

Joel Reyes Noche
2015-11-01 11:27:08 UTC
view on stackexchange narkive permalink

Dans la rédaction académique formelle, le problème de l'auto-plagiat est résolu en citant les sources qui ont été utilisées, même si les sources sont du même auteur. Je pense qu'il ne serait pas contraire à l'éthique de réutiliser le code écrit précédemment par votre coéquipier tant que votre coéquipier déclare explicitement à votre professeur que le code a été écrit par le coéquipier pour un cours antérieur. Demandez à votre professeur si cet arrangement est acceptable et ne viole pas la politique de l'école.

Sumurai8
2015-11-02 00:08:31 UTC
view on stackexchange narkive permalink

Je ne vois pas quel est le problème. Si vous avez déjà écrit du code pour afficher proprement certaines données ou demander une entrée à l'utilisateur, il est ridicule de ne pas réutiliser ce code. Assurez-vous simplement d'ajouter un commentaire au-dessus des fonctions ou des blocs de code qui ont été réutilisés et indiquez brièvement que vous êtes l'auteur, et où vous l'avez déjà utilisé.

Si le cours lui-même est destiné à l'apprentissage à propos des algorithmes, il n'est pas judicieux de réutiliser un code lié aux algorithmes. Tout d'abord, il n'est probablement pas adapté au problème à résoudre. Deuxièmement, vous n'apprenez pas grand-chose avec le copier-coller. Si vous avez déjà terminé le cours, le professeur vous aurait probablement donné la permission de sauter le travail pratique. Si le professeur ne l'a pas fait, il est probable qu'il veuille que vous refassiez au moins cette partie.

Cela dit, réutiliser (une partie de) le code pour la construction et la traversée d'arbres lorsque besoin de mettre en œuvre un algorithme de recherche est très bien en ce qui me concerne. Les arbres ne sont pas si difficiles à implémenter, mais il est ennuyeux d'avoir à réécrire ce code et peut introduire des bogues que vous avez déjà résolus auparavant. Vous étudiez probablement l'informatique et n'essayez pas d'obtenir un diplôme en science de la dactylographie. Résoudre des problèmes que vous avez déjà résolus n'est pas productif. Dépensez cette énergie à comprendre et à mettre en œuvre les nouveautés. Si vous avez déjà réalisé une grande partie du projet, passez simplement du temps à peaufiner le projet ou demandez un projet plus stimulant. Encore une fois, assurez-vous simplement qu'il ne peut y avoir de malentendu sur l'origine du code en mettant un commentaire avec l'auteur, l'emplacement de la source et la licence possible au-dessus du code qui a été réutilisé.


Thas a dit, je pense que vous devriez apprendre deux choses de ceci:

  • Assurez-vous que vous et votre partenaire êtes sur la même longueur d'onde au début du projet. Il semble que vous ayez peut-être retardé le travail sur le projet jusqu'à ce qu'il soit trop tard pour reculer.
  • S'il existe des différences irréductibles entre vous et votre partenaire, vous avez toujours l'obligation de terminer le projet avant la date limite. Ne restez pas assis à vous disputer, mais travaillez vous-même sur le projet et encouragez le partenaire à faire de même. Si les différences ne sont pas comblables à l'avenir, vous devrez peut-être remettre le projet seul. Assurez-vous de bien préciser quelle partie vous avez faite avec votre ancien partenaire et quelle partie vous avez faite seule.
einpoklum
2015-11-05 04:14:53 UTC
view on stackexchange narkive permalink

Je vais chercher une réponse plus succincte.

La situation ci-dessus est-elle généralement considérée comme un auto-plagiat? Pourquoi ou pourquoi pas?

Non , car: 1. Ce n'est pas une publication, personne ne peut plagier quoi que ce soit. 2. Vous ne prétendez pas avoir fourni des résultats de recherche originaux dans ce devoir.

L'acte ci-dessus est-il généralement autorisé dans un cadre universitaire?

Oui d'après mon expérience (en tant qu'étudiant et AT). Vraiment, nous ne nous soucions pas de ce genre de choses. Les projets et les devoirs sont une courtoisie envers vous, étudiants, pour vous aider à mieux comprendre le matériel; et les notes ne sont qu'un mécanisme statistique approximatif.

En supposant que vous êtes à ma place ... quelle est la meilleure façon de procéder ...?

Vous devez "tricher" dans cette situation. Même si cela "ne vous semble pas bien" - objectivement, ce n'est pas de la triche, et cela est acceptable pour toutes les autres personnes concernées.

Aux non-disants: Eh bien, _quelqu'un_ doit lui dire que :-)
_Les réponses de tout le monde sont excellentes, mais longues._ Et je vois que vous avez décidé d'adopter l'approche inverse sur les deux points.
* Vous devriez "tricher". Même si cela "ne se sent pas bien" *. Indépendamment de ce que pense «de tous les autres concernés» (je suis impressionné par le fait que vous soyez un lecteur d'esprit et que vous puissiez lire les pensées de tout le monde), c'est un conseil terrible.
Eh bien, j'ai fait une flèche vers le haut encore laissé à -2.
@DanRomik: a reformulé cette phrase pour la rendre moins, dirons-nous, dédaigneuse. Une critique plus constructive serait cependant appréciée.
@110100101110101: Le fait que vous pensez qu'il s'agit d'un "conseil terrible" est plus le problème auquel vous êtes confronté qu'autre chose. La «terriblesse» est, avec tout le respect que je vous dois, une impression incorrecte de la vôtre. Quant à la lecture dans les pensées, je ne le fais pas, j'extrapole en fonction de mon expérience et de ce que vous avez décrit. Notez également que j'ai dit "à propos de tout le monde" ...
dwoz
2015-11-02 06:32:07 UTC
view on stackexchange narkive permalink

Imaginez le problème de cette façon: chaque classe que vous prenez, c'est comme si vous étiez un entrepreneur pour cette classe, écrivant du code pour la "société" qui exécute cette classe. Ainsi, lorsque vous terminez le semestre et que vous passez au prochain concert (c'est-à-dire que le nouveau semestre commence et que vous êtes maintenant dans ce projet), le problème que vous avez ici est que, en principe, votre partenaire ne possède pas ce code. Ce n'est pas strictement vrai, mais c'est essentiellement le même type de problème!

Vous pouvez amener des concepts d'un endroit à l'autre, mais vous ne pouvez pas transporter CODE d'un endroit à l'autre, et c'est la même chose dans le milieu universitaire (apparemment dans cette circonstance, de toute façon!). La réponse définitive est que vous et votre partenaire devez adopter ce que l’on appelle une approche «champ vert» pour le code qu’il veut reporter… vous devez le réécrire.

Aussi , le soi-disant problème de l'auto-plagiat est bien réel et un problème très courant. Vous ne pouvez pas simplement reprendre le travail académique effectué pour une classe et le soumettre à nouveau pour une autre classe ... si vous êtes pris, c'est généralement un gros problème. Vous pouvez vous en tirer en allant DIVULGATION COMPLÈTE et citation complète (à vous-même en tant qu'auteur précédent), mais c'est quelque chose qui nécessite une intervention directe et prescrite AVANT de le remettre, avec le professeur impliqué. Certains seront d'accord, certains pas. C'est leur appel.

Ma suggestion? Vous proposez avec votre partenaire de réimplémenter son API existante avec un nouveau code. Vous apportez le code à l'instructeur, dites que c'est ce que vous avez l'intention et obtenez sa bénédiction préalable.

Je ne suis pas d'accord ici. Il y a plusieurs raisons de suivre un cours, d'apprendre et d'obtenir un certificat (obtenir des crédits). Parfois, vous avez simplement des étudiants qui connaissent le matériel, mais qui, pour des raisons autres qu'eux, ont besoin des crédits. Il est parfaitement normal pour eux de tirer parti de leurs connaissances antérieures. Dans un monde parfait, on leur attribuerait simplement le mérite du travail qu'ils ont accompli. Malheureusement, cela arrive rarement, ils doivent donc le faire. Même si l'étudiant réécrivait le code, il ne pourra vraiment jamais échapper à l'avoir fait auparavant.
Je suis actuellement en train de réécrire du code TRÈS SOLIDE que j'ai écrit précédemment. C'est incroyable à quel point ce code précédent est "horrible", après un peu de temps et une nouvelle perspective! Qu'il suffise de dire, oui, il n'y a qu'un nombre limité d'algorithmes et un nombre limité de façons d'écorcher un chat. Si vous avez déjà écrit quelque chose et que vous devez maintenant le refaire, il en sortira de la même manière. Aucune question à ce sujet. Mais il suffit aussi de dire qu'il y a des raisons très valables de devoir réécrire!
Je ne prétends pas que la répétition ne fait pas mieux. C'est juste qu'il est quelque peu faux de demander à une personne de refaire le travail alors que d'autres ne le refont pas. Les gens peuvent avoir d'autres priorités. Ils sont là pour apprendre selon certaines normes. Au-delà, c'est la propre initiative des étudiants. L'école ne peut pas exiger cela, vous n'évaluez pas l'étudiant par son plein potentiel juste le niveau relatif par rapport aux autres et à un certain niveau d'objectif.
Cette réponse est basée sur une fausse prémisse. Selon les contrats en place, * vous pourrez très bien transporter votre code d'un endroit à l'autre *.
@RubberDuck, après de nombreuses années de travail dans l'industrie du logiciel, j'ai trouvé que c'était exactement le cas zéro fois, ce code que j'ai écrit pour mon employeur est disponible gratuitement après mon départ. Sauf, bien sûr, le code qui a été publié sous forme de code GPL au public. Quoi qu'il en soit, cela n'a rien à voir avec la question, qui est "quel est le désir du professeur ici?"
@dwoz vous avez négligé le cas où vous travaillez sur contrat pour écrire un programme pour quelqu'un. Si le contrat est rédigé «correctement», vous * pouvez * conserver le droit de reconditionner, redistribuer, réutiliser ce code. De toute évidence, si vous êtes * employé * par quelqu'un, un service juridique sensé s'assurera qu'il possède toute la propriété intellectuelle créée pendant que nous travaillons.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...