B1 · Episode 4 · 6:51

Algorithms and Coding: From Movement to Python

This episode explores the difference between algorithms and coding through hands-on examples: encoding children's dance moves and body percussion, programming BlueBot robots, creating geometric patterns, and introducing Python programming in secondary school.

Source:Bruno Lambert / tube-numerique-educatif.apps.education.fr · License:CC BY-SA 4.0

Transcript

  1. Algorithmique et codage, quatrième.

    Algorithms and coding, Grade 4.

  2. Alors dans cette partie- là, on va aller un peu vers le codage,

    In this section,

  3. le codage informatique, là,

    we’ll move a bit toward computer coding,

  4. ce qu'on appelait avant programmer, coder, programmer.

    what used to be called “programming” or “coding”.

  5. Et on va essayer de faire la différence quand même entre l'algorithme et le codage.

    We’ll also try to distinguish clearly between an algorithm and coding.

  6. Alors, comme toujours, on va essayer de faire un pas de côté,

    As always, we’ll first take a step sideways,

  7. pas être directement sur les robots, la programmation.

    rather than diving straight into robots or programming.

  8. Là, c'est une activité de mathématiques de CE1 CE2 en rapport avec la motricité,

    This is a mathematics activity for Grades 1 and 2 (CE1/CE2),

  9. l'EPS. Il s'agit d'apprendre, c'est dans un document de la DSDEN de Seine- Saint-

    linked to physical movement and physical education (EPS).

  10. Denis sur le codage.

    It comes from a DSDEN (Departmental Directorate of National Education) document on coding in Seine-Saint-Denis.

  11. Donc là, il s'agit, après avoir vu, pratiqué, etc.

    After students have observed and practiced, etc.,

  12. le madisson, de demander aux élèves d'inventer un codage

    teachers ask students to invent a coding system for movements,

  13. des déplacements et des pieds.

    specifically for foot-based movements.

  14. Donc là, il y a quelques exemples qui sont donnés.

    Here are some examples provided.

  15. Donc là, voilà, on est toujours dans la même série d'exemples.

    As you can see, this remains part of the same series of examples.

  16. On voit par exemple que notre bibeau, notre botte,

    For instance, “little duck” and “little boot”,

  17. c'est des déplacements qu'on code.

    are movements that we encode with symbols.

  18. On peut imaginer coder

    We can also imagine coding more complex movements,

  19. des déplacements plus complexes, comme une danse, comme le

    such as dances—for example, the Madison,

  20. madisson, coder une chorégraphie.

    or even coding an entire choreography.

  21. Tout ça, finalement, c'est le même ordre d'idée.

    All of these, ultimately, belong to the same kind of thinking.

  22. De la même manière, on peut imaginer l'algorithme musical.

    Likewise, we can imagine a “musical algorithm”.

  23. On sait bien que la musique se code par les notes.

    We all know music is encoded using musical notes.

  24. Là, on a l'exemple, par exemple, d'activité où on va

    Here’s an example activity:

  25. faire des percussions corporelles, travailler sur le rythme,

    students do body percussion and work on rhythm,

  26. sur cette chanson qui est.

    using this particular song.

  27. Série dans ce jeu.

    A sequence in this game.

  28. On rajoute d'autres types d'instructions, on voit bien la série d'instructions,

    We add other types of instructions—we clearly see this sequence of instructions,

  29. on voit bien le résultat, c'est de faire du rythme,

    and we clearly see the result: creating rhythm,

  30. c'est de faire la musique. Coder, qu'est- ce que ça va être?

    that is, making music. So what exactly is coding?

  31. Ça va être la traduction de l'algorithme dans un langage qui va être compréhensible

    Coding is translating the algorithm into a language that the machine can understand,

  32. par la machine.

    a language the machine can read.

  33. Il y a différents types de langages,

    There are different types of programming languages,

  34. on en apprend finalement un certain nombre à l'école.

    and we ultimately learn several of them at school.

  35. Ça va demander un effort supplémentaire par rapport à l'algorithme,

    Compared to designing an algorithm, coding requires extra effort,

  36. c'est qu'il va falloir connaître ce langage,

    because you must know this language,

  37. ces instructions et comment il fonctionne,

    know these instructions and how they work,

  38. et qu'on va pouvoir aussi du coup avoir des erreurs qui ne viennent pas de

    so errors may arise—not from the algorithm or reasoning itself,

  39. l'algorithme, du raisonnement, mais des erreurs de transcription du code,

    but from mistakes when transcribing the code,

  40. des erreurs de syntaxe par exemple.

    for example, syntax errors.

  41. Donc j'utilise un Bibot, on n'a

    We’re using a Bibot robot—but we don’t have…

  42. pas. Le codage, ça va être de taper la séquence d'instructions de déplacement sur

    Coding means typing the sequence of movement instructions onto the various keys,

  43. les différentes touches et donner l'instruction d'y aller.

    then giving the ‘go’ command.

  44. Donc ici, le codage va être la transformation, donc l'enfant va voir le chemin,

    Here, coding is a transformation process: the child first observes the path,

  45. il va l'anticiper, et puis le codage va être la transcription du chemin qu'il

    anticipates it mentally—and then coding becomes transcribing that imagined path,

  46. imagine en une séquence de touches qu'il va devoir faire dans un certain ordre.

    into a sequence of key presses performed in a specific order.

  47. Donc on est bien déjà dans une.

    So we’re already truly entering…

  48. Une initiation au codage.

    an introduction to coding.

  49. Pour le BlueBot, on peut toujours lui donner des instructions avec les touches.

    With the BlueBot, we can always give instructions using its buttons.

  50. C'est comme le Bee- Bot, on voit bien qu'ils se

    Like the Bee-Bot, it looks very similar—

  51. ressemblent quand même avec leur air coquin.

    both have that playful, charming look.

  52. On a aussi une barre de programmation sur laquelle on peut mettre des petites cartes

    We also have a programming bar where we can place small cards.

  53. qui vont représenter les touches et de nouvelles instructions comme les boucles

    These cards represent keys and new instructions, such as loops.

  54. qu'on va pouvoir ajouter.

    We can add these instructions whenever needed.

  55. Et il est aussi possible de passer à une application où on va simuler le déplacement

    Also, we can switch to an application.

  56. du BlueBot sur un écran, ce qui va ressembler peu à peu à ce qu'on fera au collège.

    In it, we’ll simulate the BlueBot’s movement on screen—gradually resembling what students will do in middle school.

  57. Alors répéter un motif, faire une frise, c'est un type

    Repeating a pattern or creating a frieze is a typical activity.

  58. d'activité qu'on va souvent faire coder à nos élèves au collège,

    We often ask middle-school students to code such activities.

  59. qui va donner lieu à des

    They lead to various problems.

  60. problèmes de. Alors je donne

    Now, I’ll give a few small examples of what we’ll do in middle school.

  61. quelques petits exemples de ce qu'on va faire au collège.

    (referring to the activities just mentioned)

  62. Évidemment, c'est pas le.

    Of course, this isn’t…

  63. C'est pas votre programme et c'est pas à vous de l'enseigner.

    This isn’t your curriculum, nor is it your responsibility to teach it.

  64. L'idée c'est d'avoir un petit peu une vue d'ensemble, de voir d'où on

    The goal is to get a general overview—to see where we’re starting from and where we’re headed.

  65. va et jusqu'où.

    …and how far we’ll ultimately go.

  66. On va sur l'algorithmique et la programmation assez rapide.

    We’ll move fairly quickly into algorithms and programming.

  67. Donc là, dans cet exercice, le but c'est de faire construire les six

    In this exercise, the goal is to draw six triangles.

  68. triangles. Donc on a bien une espèce de frise de triangles qu'on va faire.

    So we’ll create a frieze made up of triangles.

  69. On a d'une part le petit programme en bas à gauche qui sert à dessiner un triangle,

    The small program at the bottom left draws a single triangle.

  70. et le programme principal à droite.

    The main program is on the right.

  71. La première partie jusqu'à l'encadré avec deux bras jaunes, c'est

    The first part—from the start up to the box marked by two yellow brackets—

  72. pour effacer l'écran et puis initialiser le dessin.

    clears the screen and initializes the drawing.

  73. Et la partie entre les deux bras jaunes,

    The part between the two yellow brackets

  74. c'est celle qui consiste vraiment à dessiner un triangle, avancer.

    is the actual code that draws a triangle and moves forward.

  75. Je recommence, je dessine un triangle, j'avance,

    I repeat: draw a triangle, move forward;

  76. je recommence, je dessine un triangle, j'avance.

    repeat again: draw a triangle, move forward.

  77. Là aussi on a une boucle et donc le répéter six fois me permet de dessiner six fois

    Here too, there's a loop, so repeating six times lets me draw six

  78. le triangle. Si j'avais mis répéter quatre fois, j'aurais eu quatre triangles,

    triangles. If I had set it to repeat four times, I'd have gotten four triangles,

  79. si j'avais mis répéter huit

    if I had set it to repeat eight

  80. fois, j'aurais eu huit triangles.

    times, I'd have gotten eight triangles.

  81. Si j'avais mis avancer de 30 entre les deux, ils auraient été plus proches,

    If I had added ‘move forward 30’ between them, they’d be closer,

  82. si j'avais mis avancer de 100, ils auraient été plus éloignés,

    if I’d used ‘move forward 100’, they’d be farther apart,

  83. si j'avais enlevé cette ligne, ils auraient été collés,

    and if I’d removed this line, they’d be touching each other,

  84. imbriqués les uns dans les autres.

    nested inside one another.

  85. Quelques autres exemples de frises,

    A few more examples of frieze patterns:

  86. donc on voit bien qu'on est dans la continuité de ces

    We can clearly see this continues the earlier

  87. suites logiques, qu'on doit comprendre le motif,

    logical sequences: we must understand the motif,

  88. voir combien de fois il se répète,

    see how many times it repeats,

  89. d'éventuelles différences d'un motif à l'autre,

    notice any differences between motifs,

  90. et apprendre comment faire pour le répéter.

    and learn how to replicate it.

  91. Donc c'est vraiment dans la continuité de l'activité sur la chenille,

    This truly builds directly on the caterpillar activity,

  92. des frises logiques qu'on dessine sur des quadrillages,

    drawing logical friezes on grid paper,

  93. on a une vraie continuité là de la maternelle au collège sur ces activités qui

    and there’s genuine continuity here—from kindergarten through middle school—on activities

  94. relèvent de l'algorithmique.

    that fall under algorithmics.

  95. Évidemment, on est beaucoup plus complexe,

    Of course, it’s far more complex now,

  96. mais c'est à chaque fois des apprentissages pour les élèves autour de la notion

    yet each time, it’s learning for students centered on the concept of ‘algorithm.’

  97. d'algorithme. Alors au lycée à partir de la seconde, en mathématiques,

    In high school, starting in Grade 10 (Seconde), students learn Python programming in math class,

  98. les élèves apprennent à coder en langage Python et en seconde ils suivent aussi un

    and they also study Python in their ‘Digital and Technological Sciences’ course,

  99. cours sciences numériques et technologie, aussi ils vont faire du Python.

    so they’ll work with Python multiple times.

  100. Donc là le codage Python ça ressemble à

    Here, Python coding

  101. du codage vraiment à l'ancienne standard où il n'y a plus rien de visuel etc,

    resembles classic, standard coding—no visual elements remain, etc.,

  102. ça va être une suite de mots.

    it’s simply a sequence of words.

  103. d'instructions écrites avec des lettres pour parler à la machine.

    written instructions using letters to communicate with the machine.

  104. Là, on rentre dans le codage tel qu'il se pratique.

    There, we enter coding as it is actually practiced.