Outil d’évaluation des aptitudes au développement

Posté par  . Édité par Davy Defaud, Benoît Sibaud et ZeroHeure. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes : aucune
17
6
juin
2017
Éducation

Afin d’évaluer les aptitudes à la programmation de candidats à une formation de développeur (déjà présentée sur LinuxFr.org), un langage de programmation très simple a été conçu, ainsi qu’une plate‐forme Web qui permet d’écrire des programmes et de visualiser leur exécution de la façon la plus claire et explicite possible.

Tous les éléments de la plate‐forme sont en anglais et elle comporte également un tutoriel, l’idée étant de la mettre à disposition d’un candidat une dizaine de jours avant le recrutement et de voir s’il sera capable d’auto‐apprentissage dans un environnement nouveau, documenté en anglais. Le jour du recrutement, un test sera effectué, dans lequel des exercices de complexité croissante seront proposés : simples enchaînements d’instructions, boucles basées sur des algorithmes élémentaires, manipulation de structures plus complexes en mémoire telles que des chaînes de caractères, etc.

La seconde partie décrit le système.

Exemple avec le polygone

L’utilisateur dispose d’un ruban mémoire qui ne peut contenir que des nombres, entiers ou réels. Il dispose de huit instructions, qui peuvent comporter des expressions arithmétiques et qui vont lire et/ou écrire dans le ruban mémoire, ou effectuer des entrées‐sorties. À ce stade, le langage est proche d’un assembleur, mais avec un typage plus large (entier/réel) et des expressions arithmétiques dont la complexité n’est pas bornée. Ce niveau de langage assez bas permet d’enlever toute ambiguïté aux instructions, et de visualiser tous les effets de leur exécution. Pour rendre l’activité ludique, des instructions de dessin à la logo permettent de déplacer un stylo virtuel et de tracer des segments de droite comme on peut le voir sur l’image.

La plate‐forme est écrite en VueJS et s’exécute exclusivement sur le client sans aucune partie serveur. Son code est disponible sur GitHub et les contributions au langage et au développement sont les bienvenues.

Aller plus loin

  • # Quels utilisateurs ?

    Posté par  (site web personnel) . Évalué à 3.

    Je conçois bien le but de cet outil mais cet article ne dit pas qui va s'en servir. Est-ce le concepteur seul ou un groupement d'écoles ?

    • [^] # Re: Quels utilisateurs ?

      Posté par  . Évalué à 2.

      Il y a bien un lien vers la formation concernée au début de l'article…

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Quels utilisateurs ?

      Posté par  . Évalué à 1.

      Les utilisateurs sont des candidats à une formation de développeurs web/mobile qui n'ont pas ou peu de background informatique, et pour lesquels on cherche à recueillir des éléments sur leur goût et leurs aptitudes à exercer ce métier.

      La plate-forme peut aussi servir d'initiation ludique à la programmation.

  • # Machine de Turing

    Posté par  . Évalué à 2.

    Du coup c'est une version en ligne d'une machine de Turing ?

    Si c'est le cas c'est pas mal, ça permet de se replacer dans un niveau algorithmique assez bas.

  • # Évaluation de l'outil

    Posté par  (site web personnel) . Évalué à 6.

    Je vois bien la cible de l'outil, mais est-ce que vous avez fait une évaluation de la pertinence de l'outil lui-même par rapport à votre objectif ?

    Dit autrement, est-ce que des capacités à enchaîner des choses simples niveau assembleur permettent de détecter des personnes qui seront capables de comprendre des constructions abstraites de plus haut niveau (y'a plus grand monde qui fait de l'assembleur…) ?

    (à moins que vous n'ayez déjà d'autres outils pour cela)

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Évaluation de l'outil

      Posté par  . Évalué à 1.

      C'est une vraie question, et nous en saurons plus après avoir expérimenté l'outil sur de nombreuses candidats lors de la prochaine sélection, et rapproché leur résultats des aptitudes qu'ils déploieront pendant les enseignements.

      Même si effectivement le langage est d'un niveau d'abstraction plus bas, il s'agira pour les utilisateurs de comprendre une documentation nouvelle, de mettre en oeuvre la plate-forme et d'avoir la rigueur et la pugnacité qui permettent d'atteindre un objectif spécifié.

      • [^] # Re: Évaluation de l'outil

        Posté par  . Évalué à 2.

        nous en saurons plus après avoir expérimenté l'outil sur de nombreuses candidats lors de la prochaine sélection, et rapproché leur résultats des aptitudes qu'ils déploieront pendant les enseignements

        ?!
        C'est l'inverse qu'il faut faire : que des personnes déjà à l'aise avec le développement passent ce test. Ainsi que des personnes qui ont raté les examens.
        Ça ne fait que valider le fait que l'enseignement correspond à ce test. C'est mieux que rien.

  • # Vassalisation à l’anglais ?

    Posté par  . Évalué à 2.

    Tous les éléments de la plate‐forme sont en anglais

    Pourquoi ?
    Cherchez-vous de futurs informaticiens ou des anglicistes ?

    Pour le langage informatique, admettions que c’est pour être plus près de la réalité.
    Pour le reste (commentaires, tutoriel), je sais qu’un informaticien peut s’attendre à devoir lire des docs en anglais, mais vos candidats qui ne sont pas censés être déjà à l’aise avec un langage informatique, pourquoi le seraient-ils avec l’anglais ?

    Pour ma part, lire des docs en anglais, c’est venu avec la pratique (les cours d’anglais de mon cursus scolaire ayant fourni une base, mais sans plus), mais là les candidats ne sont pas censés en avoir.

    Pendant ce temps-là, les anglais et les américains ne se mettent pas de barrière de langue…

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.