nseigner lalgorithmique et la programmation au …

73
ENSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU COLLÈGE 1 Académie de Grenoble Printemps 2016 Journées de formation au numérique

Upload: others

Post on 18-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ENSEIGNER L’ALGORITHMIQUE ET LA

PROGRAMMATION AU COLLÈGE

1

Académie de Grenoble

Printemps 2016

Journées de formation au numérique

Page 2: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LA FORMATION DES PROFESSEURS

(MATHÉMATIQUES ; TECHNOLOGIE)

2

Page 3: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Présentiel (6h) :

le matin

•Présentation des programmes

•algorithmique débranchée

•Notions d’algorithmique,

illustrations (exemples en Scratch,

présentation de la carte mentale)

•Travail individuel sur scratch

L’après midi

•Travail individuel sur scratch

•Scratch typé techno

•Les autres logiciels/solutions

Page 4: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

INTRODUCTION

Dans le 1° degré aussi

Page 5: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ENSEIGNER L’ALGORITHMIQUE ET LA

PROGRAMMATION AU COLLÈGE

5

INSTITUTION

Académie de Grenoble

Printemps 2016

Journées de formation au numérique

Page 6: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

OBJECTIFS ET MODALITÉS

■ Objectifs généraux ■ Apporter les clés de décryptage d’un monde numérique en évolution constante

■ Pratiquer des langages informatiques

■ Mais ni former des experts en informatique, ni maîtriser les langages

informatiques

■ Ce qu’en dit le socle commun de connaissances, de

compétences et de culture ■ Domaine 1 : Comprendre, s’exprimer en utilisant les langages mathématiques,

scientifiques et informatiques

[L’élève] sait que des langages informatiques sont utilisés

pour programmer des outils numériques et réaliser des

traitements automatiques de données. Il connaît les

principes de base de l’algorithmique et de la conception

des programmes informatiques. Il les met en œuvre pour

créer des applications simples.

6

Page 7: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

OBJECTIFS ET MODALITÉS

■Objectifs généraux ■ Acquérir des méthodes de programmation

■ Développer des compétences

■ Mettre en place certaines modalités d’apprentissage

■ Des méthodes qui construisent la pensée algorithmique

■ la programmation événementielle : concevoir des séquences d’instructions

déclenchées par un événement (appui d’une touche, clic de souris, son reçu

par le micro, mais aussi interaction entre les « lutins » ou l’arrière-plan),

prévoir de l’interactivité avec l’utilisateur

■ s’initier à la programmation parallèle : déclenchement par le même

événement de deux ou plusieurs séquences d’instructions

■ appréhender la temporalité du déroulement d’un programme, avec un rôle

particulier de la variable informatique, la possibilité d’échanger des

informations entre objets pour scénariser un processus

7

Page 8: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

OBJECTIFS ET MODALITÉS

■Objectifs généraux ■ Acquérir des méthodes de programmation

■ Développer des compétences

■ Mettre en place certaines modalités d’apprentissage

■ Des compétences spécifiques

■ décomposition : analyser un problème compliqué, le découper en sous-

problèmes, en sous-tâches

■ reconnaissance de schémas : reconnaître des schémas, des configurations,

des invariants, des répétitions, mettre en évidence des interactions

■ généralisation et abstraction : repérer les enchaînements logiques et les

traduire en instructions conditionnelles, traduire les schémas récurrents en

boucles, concevoir des méthodes liées à des objets qui traduisent le

comportement attendu

■ conception d’algorithmes : écrire des solutions modulaires à un problème

donné, réutiliser des algorithmes déjà̀ programmés

8

Page 9: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

OBJECTIFS ET MODALITÉS

■Objectifs généraux ■ Acquérir des méthodes de programmation

■ Développer des compétences

■ Mettre en place certaines modalités d’apprentissage

■ Mettre en place certaines modalités d’apprentissage

■ une démarche de projet active et collaborative : établissement d’objectifs

partagés et répartition des tâches, communication entre élèves contributeurs

d'un même projet

■ une démarche de création: réalisation de productions collectives

(programmes, applications, animations, etc.), au cours desquelles les élèves

développent leur autonomie, leur créativité́ et leur imagination, mais aussi le

sens du travail collaboratif

■ une démarche interdisciplinaire : favoriser la mise en œuvre de diverses

activités de création numérique, en particulier dans le cadre des

enseignements complémentaires

9

Page 10: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

OBJECTIFS ET MODALITÉS

■Mettre les élèves en activité ■ pas un cours magistral, pas de chapitres Les boucles, puis Les

conditionnelles, etc.

■ se fixer des objectifs clairs et explicités au début de chaque séance

■ réserver l’essentiel du temps à une activité autonome des élèves

■ leur laisser une part importante d’initiative dans le déroulé d’une séquence

■ prévoir une courte institutionnalisation des concepts, une récapitulation en fin

de chaque séance

■ Mettre en œuvre une pédagogie de projet ■ une première séance propose une activité, dont le professeur a déterminé les

objectifs de formation, les concepts nouveaux qui devront être installés

■ une deuxième séance permet à chaque élève de développer son programme

dans les directions qu’il aura choisies lui-même, grâce éventuellement à un

outillage du professeur

■ une troisième séance permet la finalisation des projets, une mise en commun

des concepts et techniques utilisés

■ une valorisation de chaque production, sans distinction de niveau d’expertise,

peut être envisagée 10

Page 11: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

OBJECTIFS ET MODALITÉS

■Mettre en œuvre la différenciation pédagogique

■ les nouveaux programmes sont des programmes de cycle

■ il s’agit d’opérationnaliser l’acquisition par chaque élève des attendus du socle

: amener chaque élève à la meilleure maîtrise possible de tous ces

attendus, dans un parcours de formation qui prend en compte ses acquis et

ses marges de progression

■ la différenciation ne saurait se réduire à de la remédiation !

■ accompagner chaque élève, en permettant aux meilleurs de construire des

méthodes expertes, en conduisant les élèves les plus en difficulté à une

maîtrise suffisante des attendus pour valider l’acquisition du socle

■ par exemple en prévoyant des « défis », en analysant les blocs ou les scripts

préparés par le professeur, en guidant l’élève dans la définition de son projet à

partir de l’activité commune, que ce soit pour l’enrichir ou en réduire les

objectifs

11

Page 12: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

PROGRAMMES CYCLE 3

■Programme du cycle 3 en maths: thème Espace et géométrie

■ Attendu : (se) repérer et (se) déplacer dans l'espace en utilisant ou en élaborant des représentations

Programmer les déplacements d’un robot ou ceux d’un personnage sur un écran – Travailler […] avec de nouvelles ressources comme les systèmes d’information géographique, des logiciels d’initiation à la programmation...

■ Attendu : reconnaître, nommer, décrire, reproduire, représenter, construire quelques solides et figures géométriques

Réaliser une figure simple ou une figure composée de figures simples à l’aide d’un logiciel

12

Page 13: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

13

Page 14: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

PROGRAMME DE CYCLE 3 : SCIENCES ET

TECHNOLOGIE

■En sciences et technologie, au cycle 3 : ■ Les élèves découvrent l’algorithme en utilisant des logiciels d’applications

visuelles et ludiques.

■ En CM1 CM2 […] L’usage des outils numériques est recommandé pour

favoriser la communication et la représentation des objets techniques.[…]

■ En sixième […] Les élèves sont progressivement mis en activité au sein d’une

structure informatique en réseau sollicitant le stockage des données

partagées.

■ Question : ne s’agit-il pas plutôt ici d’utilisation des outils numériques ?

14

Page 15: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

15

Page 16: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

16

Page 17: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

APPRENTISSAGES, CYCLE 3 – CYCLE 4

■Situations d’apprentissage en maths

■ au cycle 3 : travail débranché, ou en ligne (par ex. code.org), ou sur

tablette (avec ScratchJr), ou sur ordinateur (avec GeoTortue ou Scratch),

ou avec de petits robots

■ au cycle 4 : travail sur ordinateur, avec Scratch en maths

■Objectifs d’apprentissage

■ au cycle 3 :

s’initier, préparer le cycle 4 (on peut par exemple commencer à utiliser

Scratch en 6e)

renforcer l’acquisition du repérage dans le plan

utiliser un nouvel outil de production de figures

■ au cycle 4 :

on introduit des méthodes modernes de programmation (décrites ci-

dessus)

on favorise l’apprentissage dans des contextes ludiques, non liés à la

discipline (pour les maths)

on développe la pensée algorithmique et des compétences décrites plus

haut pour l’ensemble des apprentissages, et en particulier celui des

mathématiques

17

Page 18: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

AU LYCÉE

■L’algorithmique et la programmation au lycée en

mathématiques ■ L’algorithmique n'apparaît pas comme une partie du programme, au même

titre que l’analyse, la géométrie et les probabilités et statistiques

Les capacités attendues dans le domaine de l’algorithmique d’une part et du

raisonnement d’autre part, sont transversales et doivent être développées à l’intérieur

de chacune des trois parties. (Programme de seconde, BO du 23 juillet 2009)

■ L’algorithmique est vue comme une sous-partie des mathématiques

La démarche algorithmique est, depuis les origines, une composante essentielle de

l’activité mathématique[…] L’algorithmique a une place naturelle dans tous les champs

des mathématiques et les problèmes posés doivent être en relation avec les autres

parties du programme. (Programme de seconde, BO du 23 juillet 2009)

■ Les objectifs de l’enseignement sont identiques en seconde générale et

technologique et dans le cycle terminal

■ L’introduction d’un enseignement de l’algorithmique et de la programmation au

collège pose la question d’une évolution de ce programme 18

Page 19: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

APPRENTISSAGES CYCLE 4 - LYCÉE

■Situations d’apprentissage en mathématiques ■ au cycle 4 : travail sur ordinateur, avec Scratch

■ au lycée : travail sur papier, utilisation de la calculatrice, pratique de divers

logiciels (souvent algobox (bon choix ?), plus rarement, python ou scilab)

■Objectifs d’apprentissage ■ au cycle 4 : contextes ludiques, non liés aux mathématiques

Effets secondaires positifs du développement de la pensée algorithmique pour

l’ensemble des apprentissages, y compris celui des mathématiques.

■ au lycée : contextes d’apprentissage liés à des notions du programme de

mathématiques

Permet d’éclairer certaines notions mathématiques, et de travailler la logique.

Il s’agit de familiariser les élèves avec les grands principes d’organisation d’un

algorithme (extrait du programme de seconde)

19

Page 20: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

COMPARAISON MATHS ET TECHNOLOGIE

■En maths et technologie, au cycle 4, une proximité

apparente ■ À première vue, une grande proximité, explicitement énoncée

En outre, un enseignement d’informatique, est dispensé à la fois dans le cadre

des mathématiques et de la technologie.

■ On retrouve un vocabulaire commun

o Notions d’algorithme et de programme

o Notion de variable informatique

o Déclenchement d’une action par un évènement, séquences

d’instructions, boucles, instructions conditionnelles

■Mais qui cache des philosophies différentes ■ En technologie, la programmation est envisagée dans le cadre d’objets

techniques, qu’il s’agit de comprendre, de modifier et de concevoir

■ L’algorithmique et la programmation sont envisagées dans le cadre plus

général de l’étude des systèmes informatiques

■ Il n’y a pas de langage fixé, mais au cas par cas, des instructions à entrer pour

un logiciel de CAO, pour programmer un robot…

20

Page 21: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

L’ALGORITHMIQUE AU DNB

Information disponible sur Eduscol

• Le deuxième jour : une nouvelle épreuve écrite de

3 heures portant sur les programmes de

mathématiques (2 heures) et de sciences

expérimentales et de technologie (1 heure)

● Un thème en fil rouge

● Des questions identifiées pour chaque discipline

● Un exercice de programmation informatique, en lien

avec les nouveaux programmes de mathématiques et

de technologie

21

Page 23: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Quel logiciel utiliser ? dans les programmes

officiels…

Dans

notre

académie

Page 24: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

24

Un exemple de sujet de brevet : http://eduscol.education.fr/cid98239/dnb-2017.html#lien3

L’algorithmique au DNB dès 2017

Page 25: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ALGORITHME

DÉCONNECTÉ

Avant de les manger, nous allons les trier et pas n’importe comment, il faut trouver l’astuce ..

Page 26: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

PROBLÈME POSÉ

COMMENT EXPLIQUER À LA MACHINE LA

TECHNIQUE DU TRI DES CRÊPES ?

Page 27: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ALGORITHME

DÉCONNECTÉ Avant de les manger, nous allons les trier et pas n’importe comment, il faut trouver

l’astu Le problème des crêpes est donc le suivant :

vous êtes livreur de crêpes et vous travaillez pour le

compte d'un crêpier renommé. Votre chef a cependant

une très mauvaise habitude, ses crêpes sont de taille

variable, et il les empile au fur et à mesure qu'elles

arrivent. Avant de les apporter à vos clients, vous devez

donc les trier, de la plus grande à la plus petite. Pour

cela, vous ne disposez que d'une simple spatule. En la

glissant entre deux crêpes, vous pouvez retourner le

haut de la pile ; c'est la seule opération que vous pouvez

faire pour réordonner votre tas de crêpes. ce ..

Page 28: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ALGORITHME

DÉCONNECTÉ Les contraintes

1ère étape : Manipulation Mélangez les planchettes et posez-les en tas devant un des élèves du groupe. Celui-ci doit les trier

en respectant

la règle du jeu. Les autres élèves surveillent en vérifiant qu'il ne se trompe pas.

Puis, changez de joueur.

2ème étape : Jouer à programmer

Le jeu est le même, mais cette fois-ci, il y a deux joueurs.

L'un des élèves du groupe sera l'ordinateur et un autre sera le

programmeur.

Tous les deux regardent le tas de crêpes.

Le programmeur dicte à l'élève-ordinateur les instructions qui vont

permettre de trier la pile de crêpes.

L'élève-ordinateur exécute mécaniquement les instructions proposées

par le programmeur.

3ème étape : Programmer à l'aveugle

La consigne est la même que la précédente, mais cette fois-ci, le programmeur ne regarde plus le

tas de crêpes.

Il doit donner ses instructions sans voir les crêpes, pas même au début du jeu.

4ème étape : Écriture de l'algorithme

Le groupe essaie maintenant d'écrire une séquence d'instructions qui sera à appliquer pour

résoudre le

problème. On appelle cette séquence d'instructions un algorithme.

Page 29: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ALGORITHME

DÉCONNECTÉ En français

amener la plus grande crêpe en haut de la

pile en retournant l’ensemble (avec celles

dessus)

est ce que la face orange est dessous ?

oui retourner toute la pile

non retourner la crêpe sur elle même

retourner la totalité de la pile

recommencer en ignorant les crêpes rangées

Page 30: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

ALGORITHME

DÉCONNECTÉ Algorithme (plus rigoureux)

tant que toutes les crêpes ne sont pas rangées

sélectionner la crêpe la plus grande non

rangée ou dans le mauvais sens en partant du

bas

retourner l’ensemble sur lui même

si la face de dessus est orange alors

retourner la crêpe sur elle même

fin de si

retourner la totalité de la pile moins les crêpes

déjà rangées

fin de tant que

Page 31: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

L’ALGORITHME

Page 32: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

3

2

Pour écrire n'importe quel programme,

il « suffit » de connaître très peu

d’instructions !

Page 33: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

3

3

Seulement quatre instructions…

Séquence

Variable

Condition

Boucle

Page 34: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 35: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 36: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 37: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 38: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 39: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 40: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 41: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 42: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 43: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 44: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 45: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 46: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES STRUCTURES /

SCRATCH

Page 47: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CONCEPTION D’UNE

L’ACTIVITÉ PÉDAGOGIQUE

Page 48: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CONCEPTION D’UNE

ACTIVITÉ

Page 49: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CONCEPTION D’UNE

ACTIVITÉ

Page 50: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CONCEPTION D’UNE

ACTIVITÉ

Page 51: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CONCEPTION D’UNE

ACTIVITÉ

Page 52: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CONCEPTION D’UNE

ACTIVITÉ

Page 53: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

COMMENT ÉVALUER ?

Page 54: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

EVALUER ?

Page 55: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

EVALUER ?

Page 56: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

CAPACITÉS

Page 57: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LE SUJET ZÉRO DU DNB

Page 58: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LE SUJET ZÉRO DU DNB

Page 59: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LE SUJET ZÉRO DU DNB

Page 60: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LE SUJET ZÉRO DU DNB

Page 61: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LE SUJET ZÉRO DU DNB

Page 62: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Et en dehors de Scratch…

Page 63: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

• Code.org

– Entièrement en ligne

– Nombreuses activités ludiques

– Programmation par blocs comme Scratch

– Rien à préparer, lancer les élèves sur les activités "La

reine des neiges", "Minecraft" ou "Starwars"...

Et en dehors de Scratch…

Page 64: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

• Blockly-games

– Entièrement en ligne également

– Dans le même esprit que Code.org

– Nombreuses activités ludiques

– Programmation par blocs type Blockly

– Bonne approche pour Blockly pour Arduino ou Picaxe

– Rien à préparer, lancer les élèves sur les activités

proposées (certaines demandent un peu de réflexion !).

Et en dehors de Scratch…

Page 66: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Et en dehors de Scratch…

•App Inventor => Création d’applications sur

Android

–partie "Pilotage d'un système à distance" et "Interface

Homme-Machine" du programme

–téléphone ou une tablette sous Android

–Utilisant des blocks similaires à ceux de Scratch, Il est

assez facile de s'y mettre...

Page 67: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Quel matériel ?

• Création d’applications avec un langage proche de Scratch.

• Objet connecté familier pour les élèves

• Programmes utilisables pour piloter des applications en WiFi et en Bluetooth

• Connectable à un mini réseau local pour participer à l’acquisition de

compétences liées au réseau.

Page 68: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Quel matériel ?

• Son prix est modeste (80€ environ).

• interface de programmation basée sur Scratch

• Son châssis est lui aussi robuste et permet d’adapter des éléments

complémentaires

• Pilotable en Bluetooth par une tablette programmée avec App Inventor

Page 69: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Quel matériel ?

• Pilotage des systèmes domotiques et robotiques déjà présents dans nos salles

ou qui pourront être créés en projet

• Réaliser des investigations sur les phénomènes physiques associés aux

capteurs proposés.

Page 70: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

Quel matériel ?

Page 72: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES ACTIVITÉS

SCRATCH

Page 73: NSEIGNER LALGORITHMIQUE ET LA PROGRAMMATION AU …

LES ACTIVITÉS

SCRATCH