Outils pour utilisateurs

Outils du site


wiki:memoires:codage-pour-enfant:codage-pour-enfant

Le codage pour enfant

  • Porteuse du projet : Léa MAUFFREY
  • Date : 2019/2020
  • Contexte : Mémoire
  • Fichiers : […]
  • Liens : […]

Synthèse

[…]

Fiche technique

Introduction / présentation du sujet

Mon sujet de mémoire porte sur l’importance de l’apprentissage du codage et des nouvelles technologies aux enfants.

Aujourd’hui la technologie est omniprésente, mais reste un domaine compliqué et les objets ne sont pas modifiables, ce sont des objets fermés ce qui empêche d’en comprendre le fonctionnement et de se l’approprier. Les formes et fonctions de l’objet sont imposées par le fabriquant et le marché. On considère souvent notre génération et encore plus les nouvelles générations comme des « digital native » mais l'utilisation se limite la plus part du temps à la consommation plus qu'à la création de contenue numérique. D'après Mitch Resnick l'un des créateurs du logiciel Scratch c'est comme savoir lire mais pas écrire. L’objectif et à la fois de démystifier l’informatique, de s’autoriser la modification des objets informatiques. De donner aux enfants un moyen de reprendre le contrôle de leur environnement et de prendre en main un outil utile et d’en faire un usage créatif et ré-enchanter le numérique grâce au méthode d’apprentissage alternative.

Plusieurs réformes sur l'apprentissage du numérique à l'école sont mise en place mais c'est une matière entière à créer et cela pause des problèmes en terme de formation des professeurs et de l'utilisation d'outils pédagogiques.

Problématique

Existe-t-il des moyens plus efficaces d’enseigner par l’apprentissage du code ? L’apprentissage du code permet-il d’enseigner des compétences plus larges ? Comment mettre en œuvre des systèmes qui permettent de faciliter l'apprentissage du code ?

Etat de l'art

Propositions

Mon objectif est de créer des dispositifs servant de support à l'apprentissage du codage et de l'informatique par l'interdisciplinarité. Du point de vue du design, je cherche à trouver des moyens formels pour apprendre à coder tout en sensibilisant à la pensée informatique et au enjeux du numériques. Dans cette optique, l'apprentissage par l'interdisciplinarité permettrai non seulement de s'exercé dans une autre discipline en apprenant le code, mais aussi de commencé cette apprentissage sur des bases familières ou au moins plus engageantes.

  • Mise en place d'atelier de création numérique et d'initiation à Scratch avec des enfants de 9 à 13 ans

Réalisation : https://scratch.mit.edu/studios/25159112/

  • Création de dispositifs d'aide à l'apprentissage du langage CSS à l'aide de mini jeux créer sur processing.

C'est code permettent d'illustré les fonctionnalités de bases de CSS, la couleur pour le caméléon, la taille pour le poisson et la positions pour le scarabée. il est possible de faire varié les fonctionnalités grâce à des potentiomètre.

Code Processing

// librairie 
import processing.serial.*;
 
// variables
PImage img;
int s=80;//saturation
int v=100;//valeur
String capteur = "";
String css1 = " .caméléon {";
String css2 = " color : ";
String css3 = " }";

Serial myPort;  // Créer une serial class pour les data Arduino
float val;      // Data recu part Arduino
int[] serialInArray = new int[3];   
int serialCount = 0;
boolean firstContact = false;    

void setup() {
  size(700, 500);
  img = loadImage("caméléon.png");

  // initialisation du port série
  printArray(Serial.list());// liste de tous les ports séries disponibles
  String portName = Serial.list()[0]; // Afficher les donées arduino
  myPort = new Serial(this, portName, 9600);
}

void draw() {

  noStroke();
  colorMode(HSB, 360, 100, 100);
  fill(val, s, v); // donnée à la teinte la valeur du capteur arduino
  rect(0, 0, 500, 500);
  image(img, 0, 0, 500, 500);
  println(val);
  fill(#cccccc);
  rect(500, 0, 200, 500);
  fill(#ffffff);
  text(css1, 520, 50);
  text(css2, 530, 65);
  text(val, 575, 65); //écrire la valeur du capteur arduino 
  text(css3, 520, 80);
}

void serialEvent(Serial myPort) {

  int inByte = myPort.read();
  if (firstContact == false) {
    if (inByte == 'A') { 
      myPort.clear();         
      firstContact = true;    
      myPort.write('A');       
    } 
  } 
   else {
    serialInArray[serialCount] = inByte;
    serialCount++;

    if (serialCount > 2 ) {
      val = serialInArray[0];

      // afficher les données arduino dans la console
      println(val);
      myPort.write('A');
      serialCount = 0;
    }

  }
}

Code Arduino

  http://www.arduino.cc/en/Tutorial/SerialCallResponse
*/

int firstSensor = 0;    // first analog sensor
int secondSensor = 0;   // second analog sensor
int thirdSensor = 0;    // digital sensor
int inByte = 0;         // incoming serial byte

void setup() {
  // start serial port at 9600 bps:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  pinMode(2, INPUT);   // digital sensor is on digital pin 2
  establishContact();  // send a byte to establish contact until receiver responds
}

void loop() {
  // if we get a valid byte, read analog ins:
  if (Serial.available() > 0) {
    // get incoming byte:
    inByte = Serial.read();
    // read first analog input, divide by 4 to make the range 0-255:
    firstSensor = analogRead(A0) / 4;
    // delay 10ms to let the ADC recover:
    delay(10);
    // read second analog input, divide by 4 to make the range 0-255:
    secondSensor = analogRead(1) / 4;
    // read switch, map it to 0 or 255L
    thirdSensor = map(digitalRead(2), 0, 1, 0, 255);
    // send sensor values:
    Serial.write(firstSensor);
    Serial.write(secondSensor);
    Serial.write(thirdSensor);
  }
}

void establishContact() {
  while (Serial.available() <= 0) {
    Serial.print('A');   // send a capital A
    delay(300);
  }
}
  • Création de dispositifs d'aide à l'apprentissage du langage HTML en réalité augmenté.

Ce dispositif se compose d'un jeu de carte avec sur chacune d'elles les principales classe du langage HTML. La réalité augmenté fait apparaître sur chacune des cartes une matriochka qui lui est associé. Grâce aux matriochkas, il est possible de reconstituer une arborescence et donc comprendre la structure d'un code HTML.

  • Création d'une histoire interactive.

Pour chaque page, on a une illustration et un code associé.

// variables globales
PImage img0,img;
char letter;
String words = "";

void setup() {
  size(1200, 1920);
  // texte
  textSize(36);
  fill(#000000); // noir
  //charger le chat
  //dessin du chat 
  img0 = loadImage("ChatM.png");
}

void draw() {
  background(#ffffff); 

  // dessiner le chat
  image(img0, 450, 640,300,320);

  // dessin du texte
  fill(#26617f); // bleu
  text(words, 100, 100, 1200, 1000);
  textSize(150);
  // dessin du motif superposé au chat
  superposerMotif();

  // effacer tout si on appuye sur ENTER
  if (key == ENTER) {
    fill(255);
    rect(0, 0, width, height);
    //réinitialiser la chaine de caractères
    words ="";
    // dessiner le chat
    image(img0, 450, 640,300,320);
  }
}

void keyTyped() {
  // The variable "key" always contains the value 
  // of the most recent key pressed.
  if ((key >= 'A' && key <= 'z') || key == ' ') {
    letter = key;
    words = words + key;
    // Write the letter to the console
    println(key);
  }
}

void superposerMotif() {
  
  if (words.equals("soleil")) {
    img = loadImage("SoleilM_1.png");
    image(img, 140, 270, 920, 920);
  }
  if (words.equals("nuage")) {
    img = loadImage("NuageM.png");
    image(img, -300, -100, 1900, 1920);
  }
  if (words.equals("vent")) {
    img = loadImage("VentM.png");
    image(img, -460, -600, 2500, 3000);
  }

  if (words.equals("souris")) {
    img = loadImage("SourisM.png");
    image(img, 0, 0, 1200, 1920);
  }

  if (words.equals("chat")) {
    img = loadImage("Chat2M.png");
    image(img, 448, 638,305,325);
  }
}

Pour mon macro-projet j'envisage de créer un dispositif narratif. L'idéale serai d'avoir une histoire dont on peut modifier le contenu en codant.

Fiche arts, techniques & civilisations

Fiche de lecture

[…]

Rapport de stage

[…]

Entretien

[…]

Lexique

[…]

Bibliographie

Références

wiki/memoires/codage-pour-enfant/codage-pour-enfant.txt · Dernière modification: 2020/01/31 10:06 (modification externe)