Programmation informatique en 4 étapes

Au niveau secondaire, les concepts et pratiques de base en informatique (CS) sont enseignés dans des cours généralement au sein du cluster de carrières en technologies de l’information (TI) sous l’égide de l’enseignement professionnel et technique (CTE). Cependant, les concepts et les pratiques de CS sont également de plus en plus intégrés dans les universitaires et les cours au choix (et sont influencés par l’art et le design).

Quelle que soit la discipline, la création d’artefacts de calcul est l’une des pratiques de base que les étudiants doivent constamment expérimenter pour devenir de meilleurs résolveurs de problèmes. Les artefacts informatiques peuvent inclure des images, des vidéos, des présentations, des fichiers audio et des programmes informatiques.

Une pratique précise et cohérente en programmation informatique (CP) aidera les élèves à développer des connaissances transversales en tandem avec les concepts et les pratiques académiques et CS. Comme le CP est le processus de rédaction d’un programme du début à la fin, les étudiants reçoivent une exposition dans la fusion des pratiques 3-6 du Cadre informatique de la maternelle à la 12e année.

Alors, comment réussir à engager les élèves en CP? Voici comment nous pouvons le faire en quatre étapes majeures.

 quatre étapes

Étape 1: Identifier le problème

Lorsque les élèves sont nouveaux au CP, nous commençons généralement à leur apprendre à programmer et à coder à l’aide de tutoriels. Bien qu’il n’y ait rien de mal à cela, nous ne voulons pas les garder là-bas.

Habituellement, l’auteur d’un tutoriel a déjà identifié à la fois le problème et la solution du programme. La meilleure façon pour les enfants d’apprendre est d’écrire leurs propres problèmes et solutions et de créer leurs propres programmes. Sinon, ils se concentreront davantage sur l’apprentissage du code de fonctions spécifiques dans un langage particulier, ce qui n’est généralement pas différent de la mémorisation par cœur, qui devrait être remplacée par le développement de la mémoire de travail.

Identifier (ou définir) le problème est la partie la plus critique du processus du CP, car les élèves devront élaborer un plan concret pour ce que leur programme complet fera. Ce processus consiste à identifier à la fois les entrées connues (ou données données) et ce qui doit être obtenu via les sorties (le résultat). Bien que le CP ne soit pas un processus simple, une pratique cohérente et précise renforcera la confiance des élèves au fil du temps en articulant les détails sur le type d’entrée, de traitement et de sortie souhaités pour leurs programmes. Pour aider les étudiants à se lancer dans la programmation, lisez cette excellente introduction à une leçon sur la création et le partage d’applications en Code.org .

Étape 2 : Trouver une solution

Pour trouver ou planifier la solution au problème identifié à l’étape 1, les étudiants peuvent créer un organigramme ou écrire un pseudocode. Les programmeurs expérimentés peuvent et utiliseront l’une ou l’autre de ces méthodes pour transmettre le développement de programmes aux clients, aux enseignants, etc.

Un organigramme est une solution étape par étape à un problème qui utilise une représentation picturale de la direction du programme et se compose de flèches, de cases et d’autres symboles qui représentent des actions (c.-à-d., entrée / sortie, processus, etc.). Le pseudocode est similaire à l’anglais et est utilisé pour transmettre la solution avec plus de précision qu’en anglais ordinaire — mais avec moins de minutie requise par un langage de programmation formel.

Le processus de solution permet au programmeur de se concentrer sur le flux logique du programme sans avoir à adhérer à la syntaxe réelle utilisée par le langage de programmation pour le projet. Découvrez cette leçon de Technovation amusante pour aider vos élèves à planifier leur code.

Étape 3: Coder

Le codage est souvent confondu avec la programmation, mais le codage n’est qu’une partie du processus de programmation. Les bons codeurs peuvent créer des instructions à partir des solutions (discutées à l’étape 2) et les écrire dans du code pour que l’ordinateur les comprenne. C’est là que les compétences de conception algorithmique de la pensée computationnelle entrent en jeu.

Cela aide lorsque vous considérez votre problème comme un problème mathématique, non pas parce que vous faites toujours beaucoup de mathématiques pendant la programmation, mais parce que le processus de pensée est le même. En mathématiques, nous utilisons souvent des ensembles d’instructions algorithmiques que nous suivons dans une séquence d’étapes pour atteindre un objectif. Ce processus est assimilé à la fois à un organigramme et à un code bien détaillés (dans un langage de programmation spécifique).

La pratique du codage aidera les élèves à comprendre que le codage n’est pas compliqué lorsqu’ils apprennent à penser logiquement et par étapes. Faire commencer les élèves par l’écriture de programmes simples leur apprendra comment donner des instructions aux ordinateurs, comment les ordinateurs fonctionnent réellement et que les bons codeurs ne sont pas vagues et ne sautent pas d’étapes. Ils comprendront également que le code qu’ils écrivent est traité (traduit) par un compilateur en langage machine pour exécution.

Pour les enfants débutants en codage, je recommande de commencer par un langage de programmation visuel (VPL), qui permet aux enfants de décrire leurs algorithmes à l’aide d’illustrations et permet aux codeurs de décrire le processus en des termes qui ont du sens pour eux.

Voici quelques VPLs populaires:

  • Scratch, ScratchJr
  • Blockly
  • Ardublock (langage de programmation par blocs pour Arduino)
  • ROBOLAB (langage de programmation pour LEGO Robotics)
  • ROBOTC (graphique pour VEX Robotics)
  • LabVIEW (National Instruments)

Bien qu’il existe plusieurs façons d’initier les élèves au codage, je recommande fortement à toute votre école de participer à une heure de code et d’apprendre aux enfants à coder dans le cadre d’un défi de conception STEM / STEAM.

Étape 4: Test it

Le test en CP est un processus critique utilisé pour déterminer la qualité d’un programme et trouver des bogues (problèmes). En tant que stagiaire au collège, j’ai d’abord été initié au test et au débogage des contrôles ActiveX dans le langage de programmation Visual Basic. Bien que les tests aient différents niveaux et détermineront si les programmes fonctionnent ou non, travailler à trouver des bogues pour que les développeurs de logiciels corrigent était très puissant pour m’aider à comprendre la qualité des programmes que j’utilisais tous les jours et aussi l’importance de les mettre à jour régulièrement.

Exiger des étudiants qu’ils présentent leur travail publiquement est une excellente technique pour les engager et leur inculquer l’importance du processus de test pour discuter et présenter un travail de CS de haute qualité. Encore une fois, l’App Lab (à l’étape 1) est une excellente leçon et un projet pour aider les enfants à apprendre le CP du début aux tests.

CP pour différents niveaux scolaires

La programmation informatique peut être enseignée à tous les niveaux scolaires. Voici quelques outils à utiliser avec différents âges et niveaux d’apprenants.

Grades 3-8: Kit de code littleBits. Le kit de code est équipé de blocs de construction électroniques et d’une application avec des tutoriels de codage, et constitue un excellent échafaudage pour enseigner aux étudiants les concepts de codage, de lumière, de son et de mouvement dans le contexte d’un défi de conception ou d’une invention.

Ce que je trouve le plus puissant dans le kit de code, c’est l’application, car elle aide les utilisateurs à se familiariser avec les principes de codage de base. Un bon codeur, peu importe la langue ou l’expérience de codage, devra comprendre les bases — comme les entrées / sorties, les boucles, les fonctions, les variables et aussi la logique. Le succès est toujours lié au développement de la maîtrise de soi interne des fondamentaux. Comme le Dr Stephen R. Covey, auteur des 7 Habitudes des Personnes très efficaces, a dit un jour: « Mettez les choses en premier. »

La trousse de code fonctionne également en conjonction avec toutes les ressources éducatives dont un éducateur aurait besoin, y compris les plans de leçon, les documents à l’intention des élèves et l’alignement sur les normes scientifiques de la prochaine génération. De nombreuses ressources ont été testées et développées par la cohorte d’éducateurs en chef de littleBits de 2017 et, en tant que membre fier, j’ai eu la chance de travailler et d’apprendre avec un groupe d’éducateurs aussi talentueux!

Grades 6-8: robotique. Il est assez facile de lancer les enfants dans la programmation. Dans mon rôle précédent en tant que spécialiste du programme d’études, nous utilisions le robot Lego Mindstorms comme intro. Ce sont les mesures que nous avons prises pour aider les enfants à comprendre les concepts clés, ainsi que la programmation:

  1. Construisez leurs robots. Pratiquement tous les enfants ont adoré cette partie.
  2. Apprenez les bases. En explorant des tutoriels, ils ont appris sur les moteurs, les capteurs, les engrenages et d’autres composants.
  3. Apprenez à programmer. La brique avait six missions intégrées, ce qui permettait aux élèves de voir comment faire bouger le robot avec des moteurs et répondre au toucher ou au mouvement avec des capteurs. Comme ils se sont habitués aux programmes intégrés, ils ont commencé à créer leurs propres programmes, en utilisant des blocs de programmation ROBOLAB.
  4. Connectez-vous au CS et à la TIGE. Nous avons constaté que cela a grandement aidé à élucider les concepts et la pratique de la reconnaissance de formes et de la conception algorithmique. Et puis, bien sûr, des leçons de CS et de STEM, qui comprenaient le codage, la force et le mouvement, la conception et la technologie. Nous avons également constaté que le kit VEX IQ était idéal à des fins similaires et nous avons utilisé à la fois VEX et Lego, en fonction des différents événements compétitifs auxquels nos élèves ont participé.

Grades 8-12: robotique avancée. Pour les lycéens qui ont déjà pratiqué le codage à l’aide d’un VPL et qui maîtrisent ou maîtrisent les principes fondamentaux de la programmation, l’étape suivante consiste à les faire coder dans un langage de programmation recherché par l’industrie comme JavaScript, Python, Pearl ou C ++. Heureusement, la programmation d’un robot comme le VEX EDR donne aux lycéens une introduction à cette précieuse expérience d’apprentissage. Les étudiants programmant le VEX EDR apprennent à utiliser le langage de programmation basé sur ROBOTC C et peuvent voir les effets du code qu’ils écrivent en temps réel en résolvant des problèmes en utilisant le processus de conception technique.

J’ai récemment commencé à apprendre à programmer le VEX EDR lorsque j’ai participé à un cours de conception technique avec l’International Technology and Engineering Educator’s Association. C’est là que j’ai rencontré et que j’ai été associé à Tim Oltman — le professeur de l’année au lycée Martha Layne Collins. Lui et son collègue enseignant Shane Ware ont une expérience considérable pour enseigner aux enfants à programmer des robots pour divers événements compétitifs de robotique VEX et ont remporté de nombreux prix au Kentucky.

J’ai demandé à Tim ses réflexions sur la façon dont les enseignants devraient procéder lorsque les enfants passent de la programmation dans un programme VPL à un programme basé sur C comme pour VEX, et il a dit: « D’abord, établissez des relations avec vos élèves, puis apprenez avec eux. Laissez-les voir que vous essayez d’échouer, et ils apprécieront de vous débattre tout au long du processus avec vous. Finalement, ils vous dépasseront et deviendront les enseignants. »

Jorge Valenzuela est entraîneur pédagogique et assistant d’enseignement diplômé à l’Université Old Dominion. Il est également le coach principal de Lifelong Learning Defined, Inc., une faculté nationale du Buck Institute for Education, un entraîneur national de l’efficacité des enseignants avec l’International Technology and Engineering Educators Association (ITEEA) et une partie du programme d’éducateurs principaux pour littleBits. Vous pouvez vous connecter avec Jorge sur Twitter @JorgeDoesPBL pour continuer la conversation.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.