Micro:Bit

Quels outils pour enseigner avec ?

Présentations

Animateurs d’atelier

Qui ?

Bruno Bourgine

Quoi ?

Professeurs de Mathématiques et Sciences Physiques en Lycée Professionnel

Où ?

LP Mistral (Marseille 8e)

IREM : groupes enseignement de l’informatique et innovation et expérimentation en LP

Déroulement de cet atelier

(théorique)

  1. Est-ce qu’on présente l’engin ?
  2. Faut-il simuler ?
  3. Programmer en ligne où hors ligne ?
  4. Programmer avec des blocs, du python ou les deux ?
  5. Gérer le travail des élèves ?

Est-ce qu’on présente l’engin ?

oui, mais succintement

Les cartes disponibles

Techniquement parlant

  • processeur : 64 MHz Arm Cortex-M4 , 512 KB flash, 128 KB RAM

  • fonctionnalités incluses : température, BLE, capteur accélération, capteur magnétique.

  • extensions : très nombreuses (capteurs, robots)

  • code : exécuter à partir d’un fichier .HEX ou directement en microPython

Les champs d’applications

  • Public : du collège aux lycées (général, technique, professionnel)

  • Disciplines : informatique, mathématiques, technologie, sciences-physiques, svt …

Pléthores …

  • de ressources pédagogiques
  • de projets
  • d’interfaces de programmations

Faut-il simuler ?

Intérêts :

  • pour développer, tester, corriger plus rapidement
  • lorsqu’il n’y a pas assez (ou pas du tout) de micro:bit à disposition

Inconvénient :

  • risque de s’égarer (couper les haut-parleurs !)

Les interfaces avec simulateurs : Microsoft MakeCode

Les interfaces avec simulateurs : vittascience

Les interfaces avec simulateurs :create with code

Les interfaces avec simulateurs :Visual Studio

Pour les téméraires : Visual Studio (MS) + extension Device Simulator Express

Programmer en ligne où hors ligne ?

En ligne :

  • rien à installer
  • les outils sont uniformes

  • dépendant du réseau
  • dépendant de la plateforme
  • risque accru de perte du travail


Les navigateur Chromium (ou Chrome) et Opéra permettent le flashage direct de la carte (protocole WebUsb).

Hors ligne :

  • sûr
  • rapide

  • installation peut être compliqué (dépendances python)
  • gestion des mises à jour (dépendances python)


Les deux ?

Certaines interfaces sont disponibles dans les deux configurations :

  • MakeCode : application disponible pour Windows, mais se charge aussi dans le cache du navigateur (pas de simulateur hors ligne),
  • Scratch : interaction avec la carte plutôt que programmation.

Programmer avec des blocs, du python ou les deux ?

Choisir en toute confiance …

Programmation en bloc

Pour : cycle 4, CAP, transition (2nde)

  • Le cas Scratch : pour interagir avec un code (parfait pour les jeux).
  • MakeCode : le plus accessible et intuitif, de très nombreuses extensions. fiche récapitulative des principaux blocs (pas à jour)
  • VittaScience : français, de nombreux capteurs de toutes sortes.
  • Edublock : le texte des blocs reprend la syntaxe python.

Remarque : on peut définir de vraies fonctions avec MakeCode, VittaScience ou EduBlock.

Programmation 100% python

Avant de programmer : lire la doc officielle (in english), où bien cette fiche IREM (in french).

Son cousin, hors ligne : Mu

De nombreux atouts : libre, simple, convivial, complet (REPL, fichiers, traceur, console)

Programmation bloc et python

sur MakeCode, VittaScience, EduBlock



Semble idéal pour la transition …


… à condition d’en connaître les limites.

Problème n°1 : les allers-retours

(Edublock, VittaScience)

Fonctionne très bien dans le sens BLOC -> PYTHON

Mais pas du tout dans l’autre : les modifications faites dans le script Python ne sera pas implémenté dans le code en blocs.

  • risque de pertes de code
  • source de confusion

Problème n°2 : le faux Python

(MakeCode)

Un exemple de code classique:

from microbit import *

display.scroll("Hello")
while True:
  if button_a.was_pressed():
    display.show(Image.HAPPY)

Le même code avec MakeCode

def on_button_pressed_a():
    basic.show_icon(IconNames.HAPPY)

input.on_button_pressed(Button.A, on_button_pressed_a)

basic.show_string("Hello")

Problème n°2 : le faux Python

  • On ne retrouve pas les méthodes de la bibliothèque officielle.
  • On n’importe pas de modules.
  • On n’écrit pas de boucle ‘while True’ spécifique au microcontrôleur.
  • On appelle beaucoup de fonctions
  • On écrit du Javascript déguisé en Python.

Gérer le travail des élèves ?

Quelques solutions intéressantes

Microbit Classroom

microbit classroom

Vous reprendrez bien une petite fiche ?

Le mieux c’est encore d’essayer : microbit.org/join

Microbit Classroom

  • facile à prendre en main
  • pas de compte (prof ou élève) à créer
  • sauvegarde du travail : bien respecter la procédure
  • version bêta … qques comportements inattendus sont possibles

VittaScience Classroom

vittascience.com/classroom

Pour tester : https://fr.vittascience.com/classroom/login?link=gu67i

VittaScience Classroom

  • Moins intuitif que microbit classroom
  • Nécessiter de se créer un compte
  • Pas d’interaction en direct
  • Suivi plus pointu, évaluation ?
  • Version bêta : rdv dans un mois

Conclusion

  • MakeCode : pour découvrir, faire du bloc, partager facilement.
  • VittaScience : pour la transition bloc/Python, les projets plus élaborés, créer et partatger des collections d’activités.
  • Mu : pour faire du Python

Quelques fiches ressources : github.com/iremlp/brochure-IREM—microbit