Aficionalgo.fr

Apprendre et enseigner le développement informatique par l'algorithmie.

Introduction à l’algorithmie

Si vous avez parfois l’impression que les développeurs informatiques réfléchissent différemment, c’est parce qu’ils ont appris à avoir une logique algorithmique. Cela demande d’être cartésien et d’identifier les zones de flou. Si vous travaillez avec des développeurs ce cours vous permettra d’améliorer vos communications. Vous pourrez également réaliser des programmes informatiques, l’occasion de se découvrir de nouvelles passions ou vocations !

1. À quoi servent les algorithmes ?

Un algorithme, c’est une suite d’opérations définies qui permettent de résoudre un problème. Le mot « algorithme » revient souvent dans les actualités lorsque l’on parle d’Intelligence Artificielle, ou IA. En effet, pour que les machines puissent résoudre des problèmes à notre place, il leur faut des algorithmes pour déterminer quelle décision prendre et à quel moment. Plus les algorithmes d’une machine sont précis et plus elle nous paraîtra intelligente.

Les algorithmes n’ont rien de secret. Un humain peut aussi exécuter un algorithme s’il le souhaite. C’est ce que va faire, par exemple, une personne d’un SAV lorsqu’il va chercher à qualifier votre problème. Il ou elle va poser une suite de questions prédéfinies : « Quel est le modèle de votre appareil ? », « Vous l’avez acheté quand ? », « Vous avez essayé de changer les piles ? », etc. Les réponses que vous lui donnerez influenceront la question suivante et ainsi que son diagnostique final.

2. Comment est-ce qu’on écrit un algorithme ?

Ma solution préférée est d’utiliser des feuilles et un crayon pour dessiner des arbres de décisions. Cette représentation graphique d’un algorithme est souvent utilisé lors des phases de spécification d’une idée et de documentation de l’existant. C’est un excellent outil de communication entre les humains.

Les algorithmes peuvent aussi être directement écrits à l’aide d’un langage informatique. Cela permet de pouvoir le faire exécuter par les machines et de voir leur résultat.

Nous n’apprendrons pas à coder dans ce cours. Apprendre la syntaxe et la structure d’un code informatique prendrait trop de temps. En évitant d’utiliser une représentation complexe des algorithmes, nous pourrons nous concentrer sur leur logique. Une fois les mécanismes acquis, ce sera d’autant plus facile d’apprendre à programmer si vous le souhaitez.

Nous verrons quand même des exemples de codes. Vous serez invité à les lire, apprécier leur structure générale. Il ne vous sera pas demandé de savoir les reproduire.

3. À quoi ressemble un arbre de décision ?

Voici l’exemple d’un arbre de décision pour décider si je dois prendre mon parapluie :

Un arbre de décision est composé de quatre éléments :

  1. Une question principale
    C’est le problème que l’algorithme doit résoudre.
    Exemple : « Est-ce que le SAV peut reprendre votre appareil ? »
  2. Des conditions
    Elles sont représentées par des losanges. Les conditions doivent toujours être des questions fermées. C’est une sorte d’aiguillage vers deux routes possibles : oui ou non.
    Exemple : « Avez-vous acheté votre appareil il y a moins de 2 ans ? »
  3. Des actions
    Elles sont représentées par des rectangles. Les actions qui sont placées à la fin de notre arbre de décision sont les solutions possibles de notre algorithme. Exemple : « Renvoyez-nous votre appareil par la poste »
  4. Des chemins
    Ils sont représentés par des flèches. Les chemins lient les conditions et les actions entre elles.

4. Les règles à respecter

  • Une question principale en haut de votre feuille. Elle ne doit avoir ni cadre ni flèches.
  • Les conditions doivent être des questions. C’est à dire qu’elles doivent toutes se terminer par un « ? »
  • Les conditions doivent être des questions fermées. On y répond par oui ou par non. Elles doivent donc avoir deux flèches sortantes, ni plus ni moins.
  • Toutes les feuilles de votre arbre, c’est à dire les fins des chemins, doivent être des actions.
  • Les chemins doivent avoir une flèche pour expliciter le sens de lecture

5. Mes conseils

Pour améliorer la lecture et limiter les erreurs, voici mes conseils :

  • La première condition, appelée le point d’entrée de l’arbre, doit être identifiable. Elle est souvent placée tout en haut. Vous pouvez aussi l’entourer d’une double bordure ou lui choisir un fond de couleur.
  • Vous ferez moins d’erreur si vous vous forcez à commencer vos actions par un verbe à l’infinitif.
  • Vous ferez moins d’erreur si vous prenez l’habitude de toujours placer les réponses « oui » et « non » dans le même sens.

6. Pas si simple

Réussir un arbre de décision, c’est souvent bien plus compliqué que ce qu’on imagine. Il faut réussir à prévoir par avance, tous les cas particuliers qui peuvent se produire.

Reprenons l’exemple du parapluie, il y a de nombreux cas où l’on prend un parapluie alors qu’il ne pleut pas.

Pour l’enseignant·e

Vous pouvez faire chercher des idées collectivement à ce moment-là. Cela préparera les élèves à l’exercice suivant.

Une idée évidente :

  • Peut-être qu’il est prévu de la pluie pour plus tard dans la journée ?

Une idée plus avancée :

  • Peut-être que vous devez le rendre à un ami qui l’a oublié chez vous ?
  • Si c’est le cas, n’oubliez pas de vérifier que vous allez voir cet ami aujourd’hui
  • Si c’est le cas, demandez-vous aussi comment se déplace votre ami. S’il est à vélo il ne pourra peut-être pas le reprendre avec lui
  • etc.

7. Prise en main

Le journal LA Times a créé un arbre de décision pour représenter comment les français choisissent d’utiliser le tutoiement ou le vouvoiement. Il est très intéressant car ils ont pensé à de nombreux cas particulier qui ne nous viennent pas à l’esprit directement.

Pour les élèves

Analysez comment une personne choisi de tutoyer ou vouvoyer quelqu’un. À combien de règles pensez-vous ?

Sans réaliser l’arbre de décision, essayer de noter sous forme la liste des cas particulier auxquels vous pensez.

Version des élèves 2024 :

Version du LA Times :

Source LA Times