Accueil des nouveaux utilisateurs

Un petit message qui va probablement couler très vite, mais qui sait

Le problème exposé dans ce sujet a été résolu.

Salut,

Suite à [une discussion] (flemme de mettre le lien), j'ai remarqué que j'avais fait quelque chose d'idiot dont je ne sais pas pour l'instant si ça a eu beaucoup d'impact mais qui demande probablement que je vous prévienne (vous, utilisateurs récurrents du forum). Je suis thésard, j'enseigne à la fac en info, et parfois j'envoie des étudiants raisonnablement motivés chercher de l'aide tous seuls sur Internet. Techniquement ils peuvent arriver ici, voir des cours, poser des questions sur le forum.

J'ouvre ce fil pour faire une annonce et vous parler un peu des étudiants en question : ce sont des L1 qui découvrent la fac, le linux qu'ils ont en face d'eux, l'informatique (en tout cas les miens), voire la France pour certains. Ils ne savent pas faire grand chose, en particulier ils ne savent pas s'exprimer sur un forum (cf. la discussion en question). Pire, à la fac on leur demande parfois des trucs bizarres, par exemple « ne pas utiliser certaines fonctions », ou ce genre de choses. Et attention, ce ne sont pas des informaticiens, ils sont dans une L1 généraliste.

Ça veut dire que ça serait contre-productif, injuste voire cruel de leur reprocher de ne pas faire du Python très standard, de leur balancer des acronymes, des noms de fonctions ou des affirmations gratuites dans la tronche, ou de les moinsser massivement. Je ne sais pas comment être plus explicite : je pense qu'un principe suffisant est que si vous n'avez rien de gentil à leur dire, ne pas leur répondre est le mieux que vous puissiez faire.

De plus, s'il vous plaît ne faites pas leurs devoirs à leur place. Par exemple si manifestement leur exercice consiste à se faire chier à réécrire une fonction particulière à la main (genre isdigit), ne leur parlez pas de cette fonction, ça serait contre-productif : ils vont retenir son existence et croire qu'ils ont le droit de l'utiliser au partiel, et s'ils le font ils perdront des points. Une attitude plus constructive serait par exemple de dire « remarque : cette fonction existe déjà, mais peut-être que le but de l'exercice est de savoir la reprogrammer ? ».

De la même façon, ils ont parfois des habitudes bizarres, par exemple ils peuvent avoir retenu que for i in range(len(str)) c'était plus général et plus souple que for c in str du coup ils ont pris l'habitude de l'utiliser tout le temps : ici encore, ça serait gentil que vous fassiez preuve de recul, pour présenter les deux versions. Encore une fois, si ça vous embête, vous n'êtes pas obligés de répondre. Dans un sens, c'est aussi une bonne chose d'être ponctuellement désagréable avec eux quand ils sont trop paresseux, ça les forme également à l'autonomie ; il faut juste savoir équilibrer.

On peut discuter des limitations qu'on leur donne pour dire qu'on les trouve idiotes, personnellement c'est mon cas ; cependant, je pense qu'il est bon de garder en tête que ces étudiants ne sont pas des informaticiens, qu'ils ne parlent pas tous français, et qu'ils n'y sont pour rien dans les choix pédagogiques qui leur sont infligés.

+2 -1

Merci pour ce troll à propos de ce thread : https://zestedesavoir.com/forums/sujet/7210/fonction-python/?page=1#p128952

Je me demande juste pour quelle raison tu prends un chemin détourné au lieu de faire une simple réponse construite directement dans la discussion concernée ?

Par ailleurs, je lui montre plus haut que la fonction qu'il cherche à coder est en réalité str.isnumeric, du coup j'ai du mal à comprendre ce que tu me reproches au juste.

+0 -0

Je ne trolle personne et cherche à prévenir tous les utilisateurs du forum au cas où ça se reproduirait.

Je réagis, à parts égales, aux choses suivantes le score de -12 les formules sèches du genre «tu peux aussi dire bonjour, faire des phrases, et même expliquer ton problème» (encore que ça aurait pu être pire, mais mieux vaut prévenir que guérir) au fait d'écrire entier = str.isnumeric (c'est intéressant mais pas très pédagogue) au fait de poster un code fini comme tu le fais ici

et ainsi de suite. Je ne cherche pas à être désagréable (j'ai l'impression que ta réponse est légèrement énervée et/ou que tu me confonds avec d'autres gens au pseudo similaire, au passage), simplement à vous donner du contexte. À la limite c'est presque comme si je m'excusais des éventuels désagréments (cela dit pour l'instant ça reste supportable) : je vous demande juste de chercher à prendre en compte un peu plus les gens que vous risquez d'avoir en face de vous sur ce forum.

Je trouve ton idée excellente. Cependant, comment distinguer tes étudiants, qui devront être choyés, des simples malpolis que nous tenons absolument à pouvoir « rééduquer » ?

Peut-être que si tu leur fournis un T-shirt « I <3 c2952f266e7ed4d6ed0f3eb80d36c6 » à mettre en avatar, ça pourrait nous aider à séparer le bon grain de l’ivraie ?

+11 -2

Je réagis, à parts égales, aux choses suivantes le score de -12 les formules sèches du genre «tu peux aussi dire bonjour, faire des phrases, et même expliquer ton problème» (encore que ça aurait pu être pire, mais mieux vaut prévenir que guérir)

Pour le coup, je me sens un peu visé. Mon message était peut-être un peu sec (dans ce cas, je m’en excuse), mais ce n’était pas du tout le but. Il se voulait juste à but explicatif. SI je voulais être cassant, je lui aurais dit d’aller lire les règles (sans le saluer), j’aurais mis un -1 et j’aurais signalé le message. Là, j’ai juste posté un message pour lui demander de modifier son message précédent.

EDIT : et tu remarqueras qu’il n’a pas totalement fait ce qu’il fallait. Il a mis son code entre balises, mais n’a pas rajouté de salutations, ni d’explications de son problème.

+0 -0

au fait d'écrire entier = str.isnumeric (c'est intéressant mais pas très pédagogue)

Parce que sa fonction existe déjà. Certes mon comportement sur ce thread n'était pas exemplaire (et je l'ai déjà admis à côté), mais je ne comprends toujours pas pourquoi tu n'as pas réagi sur le thread en question.

au fait de poster un code fini comme tu le fais ici

Et copieusement commenté… Mais je pense qu'il sera plus intéressant de te demander :

  • Qu'aurais-tu fait à ma place, et pourquoi ?

Je ne cherche pas à être désagréable (j'ai l'impression que ta réponse est légèrement énervée et/ou que tu me confonds avec d'autres gens au pseudo similaire, au passage), simplement à vous donner du contexte.

Soit, on va laisser de côté, pour le bien de cette discussion, le nombre de coïncidences tellement hallucinant que je regrette de ne pas avoir acheté un ticket d'euro-million ce matin. :)

EDIT : et tu remarqueras qu’il n’a pas totalement fait ce qu’il fallait. Il a mis son code entre balises, mais n’a pas rajouté de salutations, ni d’explications de son problème

C'est moi qui ai rajouté les balises.

+1 -0

Salut,

J'ai l'impression que, pour une raison que j'ignore, tu culpabilises d'avoir conseillé à des étudiants de venir sur ce site. Or, si c'est le cas, je ne vois pas en quoi tu serais responsable de leur comportement ni des questions qu'ils posent. J'entend bien que tu souhaites qu'ils apprenent et qu'ils progressent, mais je pense que s'ils ne font pas leurs exercices un minimum par eux-même le problème ne vient pas d'ici, mais d'eux.

+3 -0

Je rejoins l'avis de Dominus sur l'aspect « comment les reconnaître » (pas sur les questions de politesse mais sur l'aide à apporter).

Comment je sais que je ne dois pas indiquer à telle personne que son code n'est pas idéal ou que telle fonction existe qui répondrait mieux au problème, que telle page de la documentation pourrait lui être utile (même si le module est interdit par son professeur), etc. En gros, différencier ton élève d'un débutant en Python (qui aurait des exercices similaires mais chercherait à en savoir plus sur le langage).

Sur le site orange par exemple, les sujets sur des exercices Python partent souvent en discussions sur la meilleure manière de répondre au problème, les bons outils à utiliser. Ces réponses ne s'adressent pas toujours à l'auteur du sujet, mais les discussions sont souvent intéressantes.

En temps que débutant, j'ai toujours été bien accueilli,

Il faut juste comprendre que c'est un forum avec de gens qui prennent un moment sur leur temps libre par pure bonté pour aider, pas google. Pour que ça marche il faut décrire son problème, dire un bonjour, un merci. Comme si tu avais la personne en face de toi.

Imagine un de tes élèves arrive à ton bureau et pose son code devant toi, sans prendre le temps de dire un petit "bonjour, pourriez-vous m'aider ça me donne de mauvais résultats par exemple …" J'imagine que tu lui fait une remarque. Peut-être que tes élèves sont très poli dans la vie, mais qu'ils ne connaissent pas très bien comment ca fonctionne sur un forum et c'est comprehensible. On essayera de mieux les accueillir, mais passe le mot que même sur internet la politesse est bienvenue.

Ensuite on ne peut pas deviner qu'il sont tes étudiants, et qu'ils ne doivent pas utiliser telle ou telle fonction si ils ne nous le disent pas. Le conseil d'utiliser isdigit() par exemple est bon, on ne réinvente pas la roue. Seulement quand l'objectif est justement de faire une roue il faut le spécifier. D'où l'intérêt de mettre un petit message qui accompagne le code.

+12 -0

Une fois n'est pas coutume j'ai eu la même réaction que Dominus : je peux comprendre ton point de vue mais, par défaut, quand quelqu'un demande "comment faire ceci" par défaut je me dis "tiens il sait pas que cette fonction existe" et pas "ça doit être un étudiant qui doit la recoder". De la même façon sur le style des boucles, je me dirai plus facilement "tiens il code des boucles à la C, je vais lui proposer la façon pythonic" et pas "il faut lui laisser faire parce qu'il a compris que c'était plus général". Je vois pas comment on peut savoir. Déjà qu'on a pas toujours de messages avec les codes, on a encore moins souvent le contexte.

L'exemple des boucles en particulier me laisse perplexe, je ne comprends pas à travers quel prisme on peut considérer, en python, que for i in range(len(str)) serait "plus général" que for c in str, vu qu'il faut se creuser la tête pour trouver le moindre objet indexable mais pas itérable.

À la rigueur, la construction while i < len(str) qui est un reliquat du for en C, je le comprends sans le cautionner.

+2 -0

ce ne sont pas des informaticiens

c2952f266e7ed4d6ed0f3eb80d36c6

Ces étudiants, ils ne sortent quand même pas de la jungle ? Ils viennent d'un pays où internet existe, non (j'ai l'impression qu'il est allemand, dans la "discussion" concernée) ? Ils savent ce qu'est un forum ? Je ne comprends pas ce que tu essaies de justifier o_O .

Ils doivent bien se douter que balancer un bout de code dans la gueule de quelqu'un ne leur apportera surement pas de réponses, non ? S'ils n'ont pas les compétences sociales requises pour venir poster ici, qu'ils ne le fassent pas !

En revanche, je suis d'accord avec toi : il faut être indulgent avec la rédaction d'un code de débutant. L'objectif étant de les aider à s'améliorer. A l'avenir, ce serait bien d'ailleurs que l'on puisse afficher sur le forum, à coté de son pseudo, par exemple, son niveau d'aptitude dans le langage ou la discipline concernée (une prochaine ZEP peut-être ;) ).

+1 -0

A l'avenir, ce serait bien d'ailleurs que l'on puisse afficher sur le forum, à coté de son pseudo, par exemple, son niveau d'aptitude dans le langage ou la discipline concernée

De grâce, pas le retour du kikimeter !

+13 -0

A l'avenir, ce serait bien d'ailleurs que l'on puisse afficher sur le forum, à coté de son pseudo, par exemple, son niveau d'aptitude dans le langage ou la discipline concernée

De grâce, pas le retour du kikimeter !

nohar

Oui, je suis expert spécialisé mondial de tout mais surtout de rien :p

+1 -0

Le problème est que, même à supposer que ce serait utile, il est impossible d'évaluer ce "niveau" automatiquement et il est notoirement connus pour être difficile de s'auto-evaluer (les débutants ont tendance à se surestimer, les avancées à se sous estimer). Donc c'est pas vraiment faisable.

Le problème est que, même à supposer que ce serait utile, il est impossible d'évaluer ce "niveau" automatiquement et il est notoirement connus pour être difficile de s'auto-evaluer (les débutants ont tendance à se surestimer, les avancées à se sous estimer). Donc c'est pas vraiment faisable.

Kje

Y'a peut-être moyen avec des challenges ou des exercices…

À mon humble avis, il serait tout de même plus simple que la personne prenne le temps d'expliquer son problème. Un petit « J'apprends le Python, si mon code n'est pas optimisé, c'est normal. Merci. » ne coûte rien.

@c295… : Aussi, même si ce n'est pas mes affaires, il serait peut-être pertinent de faire comprendre à tes élèves pourquoi tu leur demandes de ne pas utiliser certaines fonctions présentes de base dans Python. Se voir confier un exercice présentant des contraintes sans expliquer pourquoi me semble plus frustrant qu'enseignant. Si l'exercice consiste explicitement à réécrire une fonction, alors la contrainte paraît d'un coup beaucoup plus logique, et l'exercice est alors fait dans une optique d'apprentissage plutôt que dans le simple but de le résoudre.

+3 -0

Est-ce possible de rajouter au pop-in « aide markdown » quelques règles de la nétiquette comme bonjour, présenter un peu le problème… comme ça on évite ce genre de cas.

+4 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte