Le papier, le crayon, la gomme!

Un de mes potes, ingé dans une boite, me demande un jour comment je ferais pour faire une sélection d'embauche pour un automaticien, niveau bac+5, débutants acceptés. Je lui ai suggéré d'annoncer aux candidats, avec leur convocation : "Nous vous soumettrons un problème simple d'automatisme, nous vous laisserons une heure pour y réfléchir, et nous vous demanderons de nous présenter votre analyse et de soumettre une solution à ce problème". Et j'ai dit à mon pote "tu embauches celui qui est venu avec un bloc de papier, un crayon et une gomme". Mon pote se marre. Je le revois quelque temps plus tard et lui demandes "alors, tu as embauché ton automaticien" ? Réponse : "Non, aucun n'avait un crayon et une gomme, et leurs performances au bout d'une heure étaient tellement lamentables qu'on a abandonné l'idée d'embaucher sur ce coup là, on va sous-traiter".

Ma suggestion, pour toutes les demande d'aide sur ce forum : dire aux demandeurs de présenter un ou deux scans ou photos par smartphone d'une feuille de papier, format maxi A4, sur laquelle ils ont dessiné au crayon, à main levée, une représentation de l'analyse de leur problème (environnement de la carte Arduino, schéma fonctionnel, etc.), en prévenant que faute de tels documents présentés ils s'exposent à ne pas avoir de réponse ou bien des réponses de personnes qui n'en savent pas plus qu'eux sur la manière de résoudre leur problème.

Une manière de faire comprendre qu'il faut faire l'analyse avant la programmation, et pas l'inverse.

1 Like

hum... une règle pour tracer des connexions un peu correctes c'est pas trop mal non plus :slight_smile:

je pense qu'il ne faut pas préjuger de l'outil, certains seront plus habiles avec un logiciel (enfin pas les trucs réalistes de frizzing où on ne voit pas bien le schéma). L'important c'est de réfléchir et de savoir exprimer son intention

Dans notre nouveau document qu'on demande de lire "Les bonnes pratiques du Forum Francophone” on mentionne

  • Donnez le maximum d'informations : indiquez bien sûr votre problème, postez le code source avec les balises de code, ajoutez les erreurs affichées par le logiciel (du texte se poste en texte, copier coller, pas de copie d'écran de texte. Décrivez les manipulations déjà effectuées pour débuguer ainsi que toute information pertinente (matériel concerné, OS utilisé, version IDE utilisée, schéma électronique du montage, alimentation, etc). Des liens clickables et des schémas clairs sont appréciés.

Pour la main levée je dis NON.
Par contre, pour papier, crayon, gomme et règle je plussoie totalement.

Le cerveau ne travaille pas de la même façon quand la main tient un crayon où qu'elle cherche désespérément un symbole avec une souris dans une liste sans fin.
Dans un cas le cerveau est à 100% sur la tâche "schéma" dans l'autre il est au mieux à 50% et au bout delques dizaines de seconde à moins de 10% sur le schéma et 90 % sur l'agacement.

C’est parce que vous êtes de la vielle école (comme moi) mais les études et la recherche montrent qu’ Il y a vraiment diverses modalités de réflexions ou d’apprentissage. Notamment vous avez les visuels qui auront besoin du crayon, ceux qui doivent toucher et brancher pour voir les trucs, des purs intellectuels qui visualisent le truc en modèle mathématique et équations etc…

Je ne me souvient pas d'avoir vu cette catégorie sur le forum.
Nous n'avons pas affaire à des professionnels mais à des amateurs qui ne maîtisent pas les logiciels de schématique, qui sont complexes à utiliser. Dans ce cas je maintien que le plus productif est le crayon.

Par exemple Mon neveu ne vient pas sur le forum - il a une ligne de support dédiée :slight_smile:

Mais bon point, tous ces profils ne viendront peut être pas demander sur le forum

Pour moi du moment que c’est lisible ça me va, je ne vois pas pourquoi imposer le crayon et la gomme.

Bonjour

Oui en général, mais les problématiques logicielles et matérielles soulevées sur ce forum tournent autour de
l'agencement de blocs fonctionnels avec les contraintes d'interaction de ces blocs.
Les 'purs intellectuels ' s'aident eux aussi de diagrammes fonctionnels, pour eux mêmes ou pour communiquer.

Ou une formule mathématique ou un code en langage abstrait / en français

Et quand pour les jeunes que je côtoie je les vois souvent dessiner sur iPad directement au crayon numérique.

Je ne dis pas que c’est représentatif, je dis que c’est possible et que l’important n’est pas le papier et le crayon mais la qualité / utilisabilité du résultat

Bref n’interdisons pas les autres possibilités, on peut recommander d’aller au plus simple crayon/papier/homme/règle si l’OP ne sait pas ou commencer, mais rien d’obligatoire

Et la lecture des posts du forum montre que le plus souvent les gens qui écrivent du code ont du mal à faire le lien entre le C++ et les fonctions réalisées, ou ne savent pas comment faire le lien entre des fonctions. "J'ai trouvé un exemple de programmation d'une transmission en série de données, et un autre exemple pour faire tourner un moteur pas à pas, et je ne sais pas comment faire le lien entre les deux".

Oui dans ce cas le crayon à papier n’aide pas bcp… il faut commencer par les bases de l’algorithmique..

Nos jeunes veulent (trop) souvent tout et tout de suite…

Oh que si : dessiner deux blocs fonctionnels et une flèche représentant un transfert de données entre les deux oblige à mettre en place dans le code soit une variable partagée, soit un appel de fonction avec une valeur de retour.

Donc c'est bien les bases de l'algo / la programmation, non ?

Ne chipotons pas.
Bien sûr il est interdit d'interdire :smiley:, mais on peut conseiller ce qui à fonctionné parfaitement depuis des générations de développeurs.

De plus il prouvé depuis des génération que le fait d'écrire favorise la mémorisation.
Dans l'absolu les jeunes générations ne sont constituées différament de celles de leurs grands parents.

La base de la programmation c'est de faire l'analyse avant de se lancer dans la programmation. Il est exact que le papier, le crayon et la gomme ne sont pas les seuls outils possibles, mais si seulement ceux qui viennent chercher de l'aide sur ce forum avaient utilisé un outil quelconque pour réfléchir à leur problème avant de se lancer sur l'IDE Arduino !

je ne dis pas le contraire, je dis juste qu'imposer n'est pas idéal. Recommander bien sûr semble logique

vous verrez des jeunes faire soit


soit

PROGRAMME DEBUT
{
    ENTREE_CONSOLE _variable_ Nom_Utilisateur
    _variable_ Nb_Lettres = compteLettres->_Nom_Utilisateur
    SI (Nb_Lettres > 10)
        SORTIE_CONSOLE "Votre nom est long"
    SINON
        SORTIE_CONSOLE "Votre nom est court"
}
FIN

(exemple bidon just tiré du web)

certains sont plus visuels que d'autres. C'est mon experience en tant qu'animateur

+1 (et même +10)

.... et l'assemblage de composants, de modules, de cartes nécessite également une analyse fonctionnelle ( et bien souvent structurelle au niveau de la maille électrique que forme l'interconnection)