Passer la navigation

Traitement parallèle

Par Bilal Qadar 30 minutes
Niveau
1ere à 3e année
Disciplines
Arts,
Science et technologie,
Mathématiques
composants du cadre
  • Programmation
  • Ordinateurs et réseaux
Outils et langages
Unplugged

Concepts clés en programmation

  • Algorithme 
  • Parallélisme 

Terminologie

Algorithme

Ensemble de consignes à suivre pour résoudre un problème.

 

Événements parallèles

Exécution de plusieurs actions en même temps.

 

 

Savez-vous comment un ordinateur peut exécuter du code aussi rapidement? Durant cette leçon, les personnes apprenantes découvriront le traitement parallèle, c'est-à-dire le concept expliquant la vitesse des ordinateurs.

Matériel

  • Crayons de couleur
  • Ciseaux
  • Ruban adhésif

Avant la leçon...

  • Révisez les concepts de programmation et exercez-vous à les expliquer au groupe.
  • Réalisez l'activité principale de la leçon et assurez-vous de bien comprendre les étapes.
  • Imprimez cinq feuilles de robot par groupe.
  • Découpez chaque feuille en quatre (chaque partie doit avoir un robot).
  • Formez des groupes de quatre personnes apprenantes.

Introduction

  1. Animez une discussion sur le matériel et les logiciels.

    Demandez : « Qu'est-ce que le matériel informatique? » (R : Le matériel informatique est l’ensemble d’objets physiques qui forment un ordinateur. Ce sont les objets que vous pouvez tenir dans vos mains. Par exemple, un clavier, une souris, un moniteur, un processeur central (UCT), etc.)

    Demandez : « Qu'est-ce qu’un logiciel informatique? » (R : Les consignes que nous écrivons pour dire à un ordinateur quoi faire. C'est du code!)

    Demandez : « Que se passe-t-il quand nous combinons du matériel et un logiciel informatique? »(R : Nous avons une technologie intelligente! Par exemple, un téléphone, une montre intelligente, un avion, etc.)

    Dites : « Le matériel et les logiciels fonctionnent ensemble. Les logiciels sont les consignes écrites par un humain. Le matériel les utilise pour réaliser une tâche. La relation entre le matériel et le logiciel ressemble beaucoup à celle que nous avons avec les voitures! Notre voiture nous amène du point A au point B, mais il lui serait impossible de faire cela si elle n'avait pas les consignes d’un humain pour savoir où aller. »

  2. Dites : « Aujourd’hui, nous allons voir comment le matériel lit nos consignes de deux différentes façons. Les ordinateurs lisent le code comme les humains lisent un livre, de haut en bas. Les ordinateurs lisent une ligne et réalisent l'action. »

Activité 1

  1. Dites : « Aujourd’hui, nous jouerons le rôle du matériel informatique! Nous allons exécuter un algorithme pour colorier un robot. »

    Demandez : « Qu'est-ce qu’un algorithme? » (R : Un ensemble de consignes à suivre par étape pour résoudre un problème.)

  2. Écrivez l'algorithme « Robots et couleur » à un endroit visible par tous :
    1. Couleur 1, noir
    2. Couleur 2, noir
    3. Couleur 3, blanc
    4. Couleur 4, blanc
    5. Couleur 5, bleu
    6. Couleur 6, jaune
    7. Couleur 8, vert
    8. Couleur 9, orange
    9. Couleur 10, orange
    10. Couleur 11, mauve
    11. Couleur 12, mauve
    12. Couleur 13, noir
    13. Couleur 14, noir
  3. Expliquez les règles de l'activité : Chaque équipe devra colorier un maximum de robots! Pour le premier exercice, les personnes apprenantes travailleront avec un partenaire et colorieront des robots selon l'algorithme « Robots et couleurs ». Chacune à leur tour, elles feront une étape de l'algorithme, une à la fois. Par exemple, une personne doit finir l’étape 1 avant que son partenaire puisse faire l’étape 2.
  4. Mettez un chronomètre à 3 minutes et encouragez le groupe à colorier le plus de robots possible.
  5. Expliquez aux personnes apprenantes que l'activité est un exemple de traitement monofil.

    Dites : « "Monofil" veut dire que l’ordinateur traite une (mono) ligne de code à la fois. C’est une des raisons pour lesquelles la première génération d’ordinateurs était si lente. Imaginez que vous avez cinq lignes de code et que l'exécution de chaque ligne prend cinq secondes. Combien de temps l’ordinateur prendrait-il pour exécuter le code? 25 secondes!

    Les ordinateurs pouvant faire un traitement multifil ne sont arrivés sur le marché qu’au début des années 2000. Les processeurs à traitement multifil permettent aux ordinateurs d'exécuter plusieurs lignes de code en même temps, comme des événements parallèles! Pensez à notre exemple de programme à cinq lignes. Imaginez que notre ordinateur exécute cinq lignes en même temps. Le programme ne lui prendrait que cinq secondes à exécuter! C’est cinq fois plus rapide que l’ordinateur de l’exemple précédent! Aujourd’hui, les ordinateurs modernes ont 64 fils, ce qui leur permet d’exécuter 64 processus en même temps. Vérifions si les processeurs à traitement multifil sont vraiment plus rapides! »

  6. Demandez aux personnes apprenantes de réaliser le même algorithme que dans l'activité précédente. Par contre, cette fois, elles diviseront le robot. Elles couperont le robot en trois parties : la tête, le corps et les jambes. Chaque équipe aura au moins dix exemplaires de chaque partie. La première personne coloriera la tête du robot. La deuxième personne coloriera le corps du robot. La troisième personne coloriera les jambes. Finalement, la quatrième personne collera les parties du robot.

    Dites : « Voyons voir si ce traitement multifil est plus rapide que le traitement monofil que nous avons fait plus tôt. »

Activité 2 (facultatif) : Traitement multifil de plusieurs tâches qui dépendent les unes des autres

  1. Dites : « Durant la leçon, vous vous êtes peut-être demandé comment un processeur peut exécuter en même temps plusieurs tâches qui dépendent les unes des autres. »
  2. Écrivez les consignes suivantes à un endroit visible par tous :
    1. Mettre ananas = "Bob"
    2. Changer ananas = "L’éponge"
    3. Lire la valeur d’ananas à voix haute
  3. Demandez au groupe de dire à voix haute ce qui est égal à « ananas », en considérant que toutes les étapes se sont passées en même temps. (R : Comme les étapes ont lieu en même temps, « ananas » n'est égal à rien!)
  4. Dites : « Le problème est que les étapes 1 et 2 doivent être traitées avant de réaliser l’étape 3. Heureusement, des entreprises comme Intel et Qualcomm ont pensé à tout! Les processeurs sont très intelligents : ils déterminent les processus qu’ils peuvent traiter ou non. Dans l'exemple ci-dessus, le processeur sautera les lignes 2 et 3 et fera autre chose en attendant que la ligne 1 soit traitée. Ce processus s'appelle le traitement en chaîne, ou en pipeline. »

Réflexion

  1. Demandez au groupe de vous dire les mots ou les concepts individuels qu’il considère comme les plus importants de la leçon. Écrivez les mots à un endroit visible par tous.
  2. Accordez aux personnes apprenantes quelques minutes pour écrire une phrase décrivant ce qu’elles ont appris à l'aide de deux de ces mots.
  3. Invitez des volontaires à dire leur phrase au reste du groupe.

Objectifs d’apprentissage

Je peux créer un algorithme.
Je peux apprendre des concepts de programmation sans ordinateur.
Je peux expliquer la différence entre le traitement monofil et multifil.
Je peux expliquer la relation entre le matériel et le logiciel.
Bonus : Je peux expliquer le principe d’une chaîne de traitement.

Méthodes d’évaluation

Demandez aux personnes apprenantes d’écrire un algorithme pour dessiner un robot. Les consignes devraient être claires et simples. Les personnes apprenantes se mettront en équipe de deux. Leur partenaire devra dessiner le robot selon les consignes écrites. Encouragez les personnes apprenantes à modifier leur algorithme jusqu’à ce que leur partenaire dessine le robot de la bonne façon. Bonus : Proposez au groupe d’écrire des consignes pour un traitement multifil. Les personnes apprenantes devront préciser les étapes qui peuvent être réalisées en même temps.

Demandez au groupe de réfléchir à des façons de créer des robots plus efficacement. Pensez à des obstacles et trouvez des façons d’accélérer le processus.

Modifications

Plutôt que de dessiner un robot, modifiez vos algorithmes pour créer des objets avec des blocs LEGO.

Trois activités de réflexion pour terminer une leçon
https://www.clilmedia.com/3-reflection-activities-to-end-your-lesson-with/

Enseignez des leçons qui sont liées à votre programme existant! https://bit.ly/ActivitésCLC_FR

r

Plus de plans de cours pour 1ere à 3e année

    Voir tous les plans de cours

    Explorez les lessons basé sur les composants du cadre

    Un cadre de référence pancanadien pour l’enseignement de l’informatique

    Bien que l’apprentissage des méthodes de création de projets numériques soit une composante importante de l’enseignement de l’informatique, les élèves devraient aussi développer des compétences et des habiletés diverses leur permettant d’exploiter le potentiel des technologies numériques, tant pour la créer que pour la consommer. Un enseignement de l’informatique complet de la maternelle jusqu’à la fin du secondaire aborde les cinq domaines clés suivants :

    Explorez le cadre ➝

    Programmation

    À la fin de leurs études secondaires, les élèves devraient être en mesure de créer un programme informatique simple.

    Ordinateurs et Réseaux

    À la fin de leurs études secondaires, les élèves devraient être en mesure de comprendre et d’utiliser les outils et les appareils couramment employés pour créer des projets numériques.

    Données

    À la fin de leurs études secondaires, les élèves devraient être en mesure d’expliquer comment utiliser les ordinateurs pour créer, stocker, classer et analyser des données.

    Technologie et Société

    À la fin de leurs études secondaires, les élèves devraient être en mesure de décrire l’influence de la technologie sur la société et vice versa.

    Conception

    À la fin de leurs études secondaires, les élèves devraient être en mesure d’appliquer des principes de conception en créant des projets numériques.