STIC:Introduction à la pensée computationnelle (CO 2023)

De EduTech Wiki
Version datée du 5 octobre 2023 à 09:29 par Mattia A. Fritz (discussion | contributions) (→‎MOOC)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Introduction

Cette page présente les contenus et les activités prévues dans la formation Introduction à la pensée computationnelle pour les enseignant-es au cycle d'orientation donnée en 2 séances en octobre 2023.

Intervenants

Objectifs

Perspective adoptée dans la formation

La formation propose une introduction théorique et pratique au concept de pensée computationnelle comme trait d'union entre trois composants :

  1. les compétences individuelles ;
  2. les potentialités et limites des dispositifs numériques ;
  3. les implications sociales sur les caractéristiques et usages des technologies.

En premier lieu, la formation propose un survol sur les différentes approches à la pensée computationnelle disponibles dans la littérature scientifique et comment ces positions s'expriment dans des parcours et outils d’apprentissage différents (e.g. programmation par blocs de code, robotique, …). Ensuite, la formation propose un aperçu plus large de la pensée computationnelle en relation avec le domaine multidisciplinaire de l'interaction personne-machine. À l’issue de la formation, les participant-es auront une meilleure compréhension de l’univers numérique au sens large et des compétences nécessaires pour s’orienter dans un milieu hétérogène et en évolution.

Programme

La formation prévoit 2 demi-journées organisées selon les thèmes suivants :

  1. Mercredi 4 octobre 2023 : Aspects théoriques de la pensée computationnelle
  2. Jeudi 5 octobre 2023 : Interaction personne-machine

Les détails de chaque séance sont illustrés dans la suite de cette page.

Espace de partage

La formation utilise un espace virtuel de partage/collaboration basé sur l'application Beekee Live, développée à l'Université de Genève par des membres de l'équipe TECFA (parmi lesquels Stéphane !).

Vous pouvez vous inscrire à la plateforme avec juste votre prénom ou un pseudonyme, pas besoin de dévoiler votre nom.

L'espace a été aménagé pour vous faciliter le partage en fonction des activités effectuées pendant la formation. Une démo de la plateforme est prévue pendant l'introduction de la formation.

Aspects théoriques de la pensée computationnelle

La première seance aborde les aspects théoriques de la pensée computationnelle, ainsi que différentes perspectives pour concevoir et mettre en place des activités pour enseigner la pensée computationnelle.

Objectifs

Cette première séance vise les objectifs suivants :

Programme

Mercredi 4 octobre 2023 :

  • 08h30 - 09h00 : introduction des intervenants et aperçu général de la formation
  • 09h00 - 10h00 : présentation générale sur la pensée computationnelle
  • 10h00 - 10h30 : pause
  • 10h30 - 11h20 : activités avec des environnements de codage de type bloc
  • 11h20 - 12h00 : retour et partage d'expérience

Présentation générale de la pensée computationnelle

Cette présentation introduit la pensée computationnelle sous différentes perspectives et fourni les éléments conceptuels qui seront approfondis dans l'ensemble de la formation. Support utilisé pour la présentation :

Environnements de programmation par blocs

Activités par petits groupe qui permet de découvrir et comparer des environnements de programmation de type bloc. Cette activité a un double intérêt :

  • Tester des environnements de programmation de type bloc avec finalités différentes
    Ces environnement sont souvent utilisés pour introduire des novices à la programmation. Nous les analyserons et comparerons en fonction du lien avec la pensée computationnelle et plus précisément pour la création d'algorithmes.
  • Bonnes pratiques dans l'exploration/découverte de nouveaux environnements ou technologies
    Lorsqu'on découvre des nouvelles technologies, il est utile de procéder de la manière suivante :
    1. Explorer ce qui est possible, notamment à travers une liste de features ou encore mieux des exemples concrets
    2. Suivre des petits tutoriels/activités de type getting started pour se familiariser avec l'environnement
    3. Se poser un objectif très simple et très spécifique et essayer de l'atteindre (e.g. adapter un exemple à nos besoins, poursuivre le getting started, ...)

Questions à se poser pendant la découverte des environnements

Vous pouvez essayer de répondre à ces questions pendant la découverte des environnements et poster vos réponses dans l'espace de partage du cours (dont le lien a été fourni à part) :

  • Quelles sont les difficultés principales rencontrées ?
  • Comment j'ai essayé de surmonter ces difficultés ?
  • Quelles connaissances préalables m'ont permis de comprendre/utiliser l'environnement ?
  • Est-ce que je pourrai enseigner/expliquer cet environnement à quelqu'un d'autre (un-e collègue, une autre personne intéressée, ...) ?

Activité Groupe A TurtleStitch

Découvrez TurtleStitch, un environnement de codage liée à la broderie qui permet de développer la pensée computationnelle dans une perspective lié à la création et fabrication assistées par ordinateur :

Activité Groupe B BlockSCAD

Découvrez BlockSCAD, un environnement qui utilise la programmation pour construire des objects 3D :

  • Lien direct vers Blockscad
  • Consigne : Construisez un objet en utilisant des éléments simples et au moins une opération mathématique ou de programmation (e.g. translation)
  • Possibilité d'impression 3D de l'objet avec l'une des nos imprimantes

Activité Groupe C MakeCode Arcade

Découvrez MakeCode Arcade, un environnement qui permet de créer des jeux style rétro :

Activité Groupe D MakeCode Adafruit

Découvrez la programation avec le simulateur d'un object connecté/robot :

Activité Groupe E Scratch

Découvrez Scratch 3.0, un logiciel très utilisé dans l'éducation à l'informatique/numérique, surtout avec des débutants ou des enfants :

Autres environnements pas vus pendant la formation

Liste d'autres environnements pas utilisés pendant l'activité de groupe.

App Inventor

Environnement de programmation pour la création d'application développé par le MIT (en anglais) :

Snap!

Autre environnement de type bloc de code, développé par l'Université de Berkley :

Code.org

Environnement montré brièvement par l'un des participants pendant l'activité sur les environnements de type bloc :

micro:bit

Environnement pour programmer un ordinateur de poche :

3D Slash

Environnement pour la création d'objets et modèles en 3D :

Interaction personne-machine

La deuxième et dernière séance de la formation s'intéresse à l'interaction personne-machine comme extension holistique de la pensée computationnelle. La deuxième partie de la séance prévoit une clôture de la formation avec la proposition de critères pour évaluer des formations liées à la pensée computationnelle.

Objectifs

Cette troisième séance vise les objectifs suivants :

  • Introduire des concepts et techniques liés à l'interaction personne-machine
  • Proposer une scénarisation d'activité débranchée basée sur le pseudo-code
  • Appliquer des principes de design thinking pour la création d'interfaces/applications imaginaires
  • Proposer des éléments d'évaluation d'un dispositif pédagogique visant l'enseignement de la pensée computationnelle

Programme

  • 08h30 - 09h15 : présentation de l'interaction personne-machine
  • 09h15 - 10h00 : activité pseudo-codage
  • 10h00 - 10h30 : pause
  • 10h30 - 11:15 : activité design thinking
  • 11h15 - 11h45 : discussion et retour d'expérience sur l'ensemble de la formation
  • 11h45 - 12h00 : questionnaire d'évaluation de la formation

Présentation du domaine interaction personne-machine

L'interaction personne-machine (ou interaction homme-machine ou human-computer interaction en anglais) est un domain multi-disciplinaire très vaste. On verra dans ce contexte quelques aspects qui est en relation avec l'enseignement de la pensée computationnelle :

Activité de pseudo-codage

Par groupes de 3-4 personnes, choisissez un jeu très simple et essayez de le définir en pseudo-code, en vous inspirant de l'exemple du jeu du morpion dans la page Introduction à la programmation. Exemples de quelques jeux possibles :

  • Le pendu
  • Guess my number
  • Le jeu de la valise
  • ...

Postez vos instructions dans l'espace de partage de la formation (dont le lien a été fourni à part)

Pour plus d'idées sur des activités débranchées, voir :

Activités de prototypage

En utilisant du papier ou des applications de dessin à main libre sur tablette, nous allons effectuer des activités de prototypage rapide et low-fi (maquettes, esquisses, ...).

Créativité / Design Thinking

Choisissez un simple artefact informatique depuis la liste suivante (ou un autre de votre choix) et, en 5 minutes, essayez d'esquisser le plus de maquettes différentes possibles. Vous pouvez imaginer l'artefact pour un ou plusieurs dispositifs (e.g. desktop, smartphone, tablette, ...) :

  • Curriculum vitae
  • Page web personnelle
  • Application pour choisir une date pour un événement (e.g. Doodle)
  • Interface d'une lecteur de musique lorsqu'une chanson est jouée
  • Autre de votre choix

Rappel graphique disponible dans cette slide : https://mafritz.ch/slides/fr/co-interaction-personne-machine/#/20

Remémoration / Consolidation

Choisissez un artefact informatique depuis la liste suivante (ou autre de votre choix) et, en 5 minutes, essayez de reconstituer, sans le regarder, autant d'éléments que possible (e.g. boutons, labellisation, ...) :

  • Gestionnaire de fichiers de votre système d'exploitation
  • Client pour envoyer/recevoir du courriel
  • L'un des tab d'une application bureautique (Word, PowerPoint, ... ou équivalent LibreOffice)
  • Autre de votre choix

Rappel graphique disponible dans cette slide : https://mafritz.ch/slides/fr/co-interaction-personne-machine/#/21

Découverte / Réflexion

Choisissez l'une des activités suivantes (durée 20 minutes) qui sont basée sur la technique du story boarding ou l'interaction/séquence des maquettes :

  • Pensez à une application ou artefact informatique que vous utilisez souvent dans votre travail et essayez de la ré-concevoir ou l'améliorer en fonction de vos besoins
  • Imaginez une application ou artefact informatique qui est basé sur un principe computationnel que vous voulez enseigner à vos étudiantes et dessiner le workflow des états/interactions

Rappel graphique disponible dans cette slide : https://mafritz.ch/slides/fr/co-interaction-personne-machine/#/22

Logiciel de prototypage

Voici quelques logiciels pour créer des interfaces utilisateurs :

  • Figma : très puissant mais aussi assez complexe
  • Balsamiq : interfaces de type "sketch" avec possibilité d'ajouter de l'interactivité (en anglais)
  • Proto.io : assez intuitif (en anglais)
  • Interactivité avec PowerPoint : on peut à la limite même utiliser Power Point

Critères de choix/évaluation d'outils et activités

Weintrop et Grover (dans Grover 2020, pp. 99-102) identifient différents critères pour évaluer des environnements/outils/activités (résumé dans la suite avec le terme de dispositif pédagogique) liées à la programmation qu'on peut appliquer par extension à la pensée computationnelle. Nous proposons ici une adaptation mineur de leurs critères :

  • Low floor : barrière d'accès
    Emprunté par Papert, le critre du low floor détermine la possibilité d'accéder au dispositif pédagogique pour des novices. Par exemple, les environnements de type bloc de code sont censés baisser la barrière d'accès à la programmation comparé à des langages de type textuel.
  • High ceiling : potentialité d'expression
    Toujours emprunté par Papert, le concept de high ceiling représente le versant opposé du low floor : quels sont les potentialités (ou les limites) d'expression du dispositif pédagogique. Par exemple, les limites d'expression dans un dispositif pédagogique basé sur de la robotique simple (e.g., faire bouger un robot dans des simples directions) sont atteints plus rapidement par rapport à un langage de programmation comme JavaScript, dont le potentiel combinatoire élargi énormément la complexité des éléments qu'on peut créer.
  • Wide walls : diversification des productions
    À parité de complexité, un dispositif pédagogique peut être évalué en fonction de la diversité d'artefacts qu'il permet de créer. Par exemple Scratch permet de créer des jeux, mais également des animations, des histoires interactives, etc. D'autres environnements de type blocs que nous avons vu lors de la première séance permettent des utilisations plus ciblées (e.g. produire des objects 3D, jeux arcade, ...).
  • Dimension sociale
    Ce critère évalue à quel point le dispositif pédagogique est inséré dans un contexte sociale, comme par exemple une communauté de pratique existante, l'accès à des tutoriels ou ressources pédagogiques en dehors de celles données dans la formation, etc.
  • Intégration avec le monde réel, les enseignements futurs ou domaines professionnels
    Dans quelle mesure le dispositif pédagogique est en continuité ou contiguïté avec les technologies que les apprenant-es utilisent dans le quotidien ? Le dispositif s'insère dans un cursus progressif dans le même cycle ou dans les cycles suivants, ou encore dans des domaines professionnels ?

Ressources

Cette section propose une liste de ressource utilisées pendant la formation ou pour aller plus loin.

Utilisées pendant la formation

Les pages utilisées pendant la formation sont regroupées dans un livre que vous pouvez télécharger en format PDF ou imprimer à la demande à travers un service externe (voir Impression à la demande de Pediapress).

Pour aller plus loin

Vidéos / Podcasts

MOOC

Références académiques

  • Aho, A. V. (2012). Computation and computational thinking. Computer Journal, 55(7), 833‑835. https://doi.org/10.1093/comjnl/bxs074
  • Bundy, A. (2007). Computational Thinking is Pervasive. Journal of Scientific and Practical Computing, 1(2), 67‑69.
  • Carroll, J. (1997). Human–computer interaction : Psychology as a science of design. International Journal of Human-Computer Studies, 46(4), 501‑522.
  • Connolly, R. (2020). Why computing belongs within the social sciences. Communications of the ACM, 63(8), 54‑59. https://doi.org/10.1145/3383444
  • Denning, P. J. (2016). Remaining Trouble Spots With Computational Thinking. Cacm, 60(33), 33‑39. https://doi.org/10.1145/2998438
  • Denning, P. J., Comer, D. E., Gries, D., Mulder, M. C., Tucker, A., Turner, A. J., & Young, P. R. (1989). Computing as a discipline. Computer, 22(2), 63. https://doi.org/10.1109/2.19833
  • Denning, P. J., & Martell, C. H. (2015). Great Principles of Computing. MIT press.
  • Denning, P. J., & Tedre, M. (2019). Computational Thinking.
  • Fincher, S. A., & Robins, A. V. (Éds.). (2019). The Cambridge Handbook of Computing Education Research. Cambridge University Press.
  • Fritz, M. A., & Schneider, D. K. (2019a). Computational Thinking in Social Sciences [Poster]. P-8 «Renforcement des digital skills dans l’enseignement»: WORKSHOP 2019, Bern, Switzerland. https://tecfa.unige.ch/proj/ctss/docs/poster-bern-workshop-2019.pdf
  • Fritz, M. A., & Schneider, D. K. (2019b). Pensée computationnelle avec JavaScript : Le cours STIC I. Atelier@EIAH’19. Apprentissage de la pensée informatique de la maternelle à l’Université : retours d’expériences et passage à l’échelle. EIAH’19, Paris, France. https://www.researchgate.net/publication/333632634_Initiation_a_la_pensee_computationnelle_avec_JavaScript_le_Cours_STIC_I
  • Garrett, J. J. (2011). The Elements of User Experience (Second Edi). New Riders.
  • Grover, S., & Pea, R. (2013). Computational Thinking in K-12 : A Review of the State of the Field. Educational Researcher, 42(1), 38‑43. https://doi.org/10.3102/0013189X12463051
  • Guzdial, M. (2008). Paving the way for computational thinking. Communications of the ACM, 51(8), 25. https://doi.org/10.1145/1378704.1378713
  • Guzdial, M. (2015). Learner-Centered Design of Computing Education. Research on Computing for Everyone. Morgan & Claypool.
  • Kirschner, P. A., & De Bruyckere, P. (2017). The myths of the digital native and the multitasker. Teaching and Teacher Education, 67, 135‑142. https://doi.org/10.1016/j.tate.2017.06.001
  • Krug, S. (2014). Don’t make me think, revisited : A common sense approach to Web usability (Third edition). New Riders.
  • MacKenzie, I. S. (2013). Human-Computer Interaction : An Empirical Research perspective. Morgan Kaufmann.
  • Nogier, J.-F. (2020). UX Design & ergonomie des interfaces.
  • Norman, D. A. (2013). The design of everyday things (Revised and expanded edition). Basic Books.
  • Polya, G. (1947/2014). How to solve it : A new aspect of mathematical method. Princeton University Press.
  • Resnick, M. (2017). Lifelong Kindergarten. Cultivating Creativity through Projects, Passion, Peers, and Play. MIT press.
  • Rogers, Y., Sharp, H., & Preece, J. (2011). Interction Design : Beyond Human-Computer Interaction (3rd editio). John Wiley & Sons.
  • Sander, E. (2016). Comment Internet a changé notre façon de penser. Éditions Sciences Humaines. https://www.cairn.info/load_pdf.php?ID_ARTICLE=SH_DORTI_2016_02_0302&download=1
  • Saffer, D. (2014). Microinteractions : Designing with details (1. ed). O’Reilly.
  • Schneider, D. K. (2020, octobre 2). Computational Thinking and Making : Computational Making [Invited talk]. Connecting Technologies and Didactics - The IDEA Project Experience Center for Advanced Studies Research and Development, Cagliari, Italy. http://tecfa.unige.ch/tecfa/talks/schneide/crs4-2020/
  • Tedre, M., & Denning, P. J. (2016). The Long Quest for Computational Thinking. Koli Calling Conference on Computing Education Research, 120‑129. https://doi.org/10.1145/2999541.2999542
  • Tremblay, C., & Poellhuber, B. (2022). Analyse qualitative de référentiels de compétences du XXIe siècle, numériques et informationnelles : Tendances mondiales observées. Formation et profession, 30(2), 1. https://doi.org/10.18162/fp.2022.648
  • Wilson, C., & Guzdial, M. (2010). How to make progress in computing education. Communications of the ACM, 53(5), 35. https://doi.org/10.1145/1735223.1735235
  • Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33‑35. https://doi.org/10.1145/1118178.1118215
  • Wing, J. M. (2008). Computational thinking and thinking about computing. Philosophical transactions. Series A, Mathematical, physical, and engineering sciences, 366(1881), 3717‑3725. https://doi.org/10.1098/rsta.2008.0118
  • Wing, J. M. (2011). Research Notebook : Computational Thinking-What and Why? the Link. http://www.cs.cmu.edu/link/research-notebook-computational-thinking-what-and-why