Tenir en main les outils de création numérique > Introduction
INTRODUCTION : PROGRAMMER MAIS PAS SEULEMENT
Une développeuse ou un développeur va consacrer plus de temps à concevoir, architecturer, puis valider et tester, une solution qu'en faire la programmation proprement dite. Ou alors ce n'est pas un·e vrai·e professionnel·le. ;)
Apprendre à programmer est indispensable pour que notre cerveau se forge les bonnes représentations des notions informatiques, c'est une compétence extraordinaire pour créer des objets numériques. C'est aussi socialement indispensable pour que le monde numérique ne soit pas scindé en deux, entre ceux qui ont le pouvoir de le changer et ceux qui ne peuvent que le subir. Ainsi, savoir programmer permet par exemple de ne pas sous estimer ou surestimer un travail informatique que l'on pourrait sous-traiter, bref de ne pas se faire avoir par les gens dont c'est le métier.
Mais il faut aussi bien comprendre que tant au niveau de cette formation, qu'au niveau des activités avec les élèves, la programmation ne tiendra pas la plus grande place ; tandis que comprendre les grands systèmes numériques, créer des objets numériques en réfléchissant aux enjeux et aux usages est l'objectif principal. Nous avons d'ailleurs pu remarquer que toute la section scientifique, la section "S", ne requiert absolument pas de programmation.
- Une formation légère à Python mais très didactique en anglais qu'on peut voir en traduction française automatique.
- Une fiche de connaissance sur la programmation par Nicolas TOURREAU <
Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser. >, validée surCette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
SE METTRE À NIVEAU EN SCRATCH : MAIS POURQUOI ?
Si l'apprentissage d'un langage de programmation visuelle tel que Scratch n'est pas au programme de l'enseignement SNT, il y a cependant quelques bonnes raisons de savoir l'utiliser :
- Si nous sommes complètement débutant en programmation, voire peu enclin à aborder l'apprentissage de ces compétences, cela reste le meilleur support pour débuter en minimisant le poids de la technologie : on peut commencer à faire son premier programme en quelques minutes, puis investir quelques heures pour qu'apprendre à programmer ne soit plus un sujet, comme en témoigne cette collègue de primaire.
- Nos élèves sont maintenant initié·e·s à Scratch en primaire et au collège, souvent de manière scolaire en lien avec les mathématiques ou la technologie, tandis que c'est aussi un outil de programmation créative, qui permet à la fois de comprendre les notions de base de l'informatique «en faisant» et de développer sa créativité vis-à-vis des objets numériques.
- La programmation créative n'est pas limitée à Scratch : plusieurs interfaces de programmation offrent ce type de programmation visuelle, par exemple pour programmer des robots, ou des applications mobiles comme App Inventor.
COMMENT S'INITIER À SCRATCH...
...SELON SON NIVEAU ET LE TEMPS DONT ON DISPOSE ?
- Juste savoir ce que c'est ? Le mieux est de croiser quelqu'un qui connaît et de se faire montrer l'interface et comment faire tourner le chat, cela correspond à ce tutoriel qui permet de faire son premier programme en quelques minutes.
- Apprendre à se servir de l'outil en autonomie et s'initier à la programmation ? C'est ce que nous proposons dans le tutoriel proposé ci dessous. Nous recommandons en particulier ce parcours aux personnes qui connaissent déjà un peu l'informatique et veulent vite maîtriser l'outil, ou qui souhaitent utiliser cet outil dans des activités pluri-disciplinaires (par exemple faire une petite animation à montrer aux élèves).
- Utiliser Scratch pour s'initier à l'informatique ? Si, par exemple, la partie " S " de ce MOOC est trop lourde dans un premier temps, ou trop académique, tandis que vous voulez apprendre en faisant, alors suivez la formation de programmation créative : elle prend une 20taine d'heures pour une personne complètement débutante qui ferait tout le parcours, mais … ne faites pas tout ! Allez juste y prendre ce dont vous avez besoin !
AUTOFORMATION À SCRATCH
Tout le monde sait faire du Scratch maintenant … euh vous pas vraiment ? Pourtant le professeur de français profite de l’apprentissage du code pour faire réaliser des narrations interactives aux enfants afin de les rendre actifs par rapport à l’apprentissage de la rédaction, la professeure de mathématiques donne des exercices beaucoup plus attrayants, et au centre de loisirs votre fille a créé un jeu et votre fils une petite animation artistique. Bon il faudrait vous y mettre, mais … vous n’avez que peu de temps . Ça tombe bien la solution est de cliquer sur ce lien …
ÉVALUER SON INITIATION À LA PROGRAMMATION VISUELLE
QUESTION 1
Scratch est-il un langage de programmation ?
QUESTION 2
Quel déplacement va effectuer mon lutin quand j’appuierai sur le drapeau vert avec le programme Scratch ci-dessous ?
QUESTION 3
Dans le programme Scratch précédent, quels sont les 2 ingrédients des algorithmes qu’on a utilisés ?
QUESTION 4
Si vous exécutez le programme suivant (et que vous ne mentez pas...), que va faire le lutin Scratch ?
QUESTION 5
Une biologiste veut étudier la vitesse de reproduction des lapins. D’après elle, le nombre de lapins double à chaque génération. Elle va donc écrire un code Scratch pour simuler cette vitesse de reproduction des lapins. Elle crée un programme Scratch, dans lequel elle ajoute une variable “nombre de lapins”. D’après ses estimations, son code simule assez fidèlement le nombre de lapins total à chaque génération. Par exemple, pour estimer ce nombre après 3 générations, et avec 2 lapins au départ, son code est le suivant :
Que vaut la variable "nombre de lapins" à la fin de l’exécution de ce code ?
QUESTION 6
Vous connaissez peut-être les agents conversationnels (ou “chatbot”), ces programmes informatiques capables de dialoguer avec vous. Voici un bout de code du premier prototype de Class’Bot, le futur chatbot de Class’Code.
Avec ce programme, comment va réagir Class’Bot ?
QUESTION 7
Note: cette question "facultative" est un peu plus difficile.
Les Shadoks et les Gibis ont chacun construit une fusée. La fusée Gibi, très efficace, est propulsée par le code Scratch suivant (voir illustration) :
Ainsi, à chaque étape de la boucle, la fusée Gibi avance d’un pixel. La fusée Shadok elle… est très Shadok ! Elle est propulsée par le code Scratch suivant (voir illustration) :
On dirait que les Shadoks, fidèles à eux-mêmes, se sont compliqué la vie… Dans leur boucle ils font appel à un bloc d’instructions qu’ils ont nommé “pomper” (ils sont incorrigibles !). Si cette fonction “pomper” se contentait d’exécuter l’instruction AJOUTER A [niveau de pompe shadok] 1, alors les deux algorithmes auraient exactement les mêmes performances. Mais ce n’est pas le cas. À chaque fois que le bloc “pomper” est appelé, il lance une boucle qui fait monter la variable “niveau pompe shadok” depuis la valeur 0, jusqu’à la hauteur actuelle de la fusée. Bien entendu, le fait de pomper (donc faire évoluer la valeur de la variable “niveau pompe shadok”) ça prend du temps... Quand la fusée est à une hauteur de 2 ou 3 pixels ce n’est pas très grave car la boucle est répétée seulement 2 ou 3 fois. Mais qu’en est-il quand la hauteur de la fusée augmente :