JavaScool:Cadrage : Différence entre versions

De Sciencinfolycee
Aller à : navigation, rechercher
m
m (Trois étapes dans l'apprentissage de l'informatique.)
Ligne 11 : Ligne 11 :
 
# [''fin de lycée-et au delà''] commence la ''Formation Scientifique'' dans le domaine : par exemple la théorie de l'information, de la compilation, traitement des données, etc.
 
# [''fin de lycée-et au delà''] commence la ''Formation Scientifique'' dans le domaine : par exemple la théorie de l'information, de la compilation, traitement des données, etc.
  
Sans oublier, à tous les niveaux, le développement de la réflexion et de la culture : comprendre d'où vient l'informatique, ce qu'elle change au niveau de notre société, etc..
+
Sans oublier, à tous les niveaux, le développement de la réflexion et de la culture : comprendre d'où vient l'informatique, ce qu'elle change au niveau de notre société, etc..
  
 
== Un levier: l'apprentissage de la programmation. ==
 
== Un levier: l'apprentissage de la programmation. ==

Version du 11 août 2010 à 21:37

Trois étapes dans l'apprentissage de l'informatique.

Il faut être clair : à l'ère numérique dans laquelle nous vivons, les fondements de l'informatique constituent un savoir indispensable comme peut l'être la lecture ou l'écriture, et tôt ou tard (et plutôt tantôt que trop tard !), c'est une discipline à part entière qu'il faut pouvoir enseigner à nos jeunes, probablement en trois étapes :

  1. [primaire-collège] Apprentissage de l'usage des outils : apprendre à utiliser les outils : édition, communication, (et un clavier !),... profiter des ressources de l'internet, etc.
  2. [collège-lycée] Apprentissage des méthodes par la pratique expérimentale : c'est à dire ici apprentissage des algorithmes et de la programmation.
    • Il est indispensable d'apprendre l' « algorithmique » (et les fondements théoriques qui y conduisent), c'est le levier pour pouvoir comprendre et maîtriser, voire adapter les logiciels que nous utilisons (et pas uniquement les subir !).
    • Il est impossible de s'approprier ce savoir sans une vraie pratique, une démarche expérimentale, il faut donc incarner cette algorithmique en faisant de la programmation.
  3. [fin de lycée-et au delà] commence la Formation Scientifique dans le domaine : par exemple la théorie de l'information, de la compilation, traitement des données, etc.

Sans oublier, à tous les niveaux, le développement de la réflexion et de la culture : comprendre d'où vient l'informatique, ce qu'elle change au niveau de notre société, etc..

Un levier: l'apprentissage de la programmation.

On peut dire, comme l'enseigne Gilles Dowek, que, au confluent des quatre clés de voûte de l'informatique (Algorithme, Langage, Information, Machine), il y a la programmation. Apprendre à programmer permet de devenir autonome et de découvrir expérimentalement les fondements des sciences de l'information de ce 3ème millénaire. Il s'agit bien d'apprendre un savoir faire : écrire un programme, pour réussir à conceptualiser ce que l'intelligence mécanique, la "machine" peut réaliser. Dans cette situation encore transitoire, l'usage des outils commence à être enseigné de manière structurée et systématique à travers les B2I et, à plus haut niveau, C2I. Mais l'enseignement des fondements de l'informatique, c'est à dire, pour ce qui est du lycée: l'apprentissage des méthodes par la pratique expérimentale, reste encore très parcelaire et se retrouve à ce jour incluse dans deux matières, comme détaillé ici. Une présentation vidéo accompagnée de ses supports complète cette petite analyse.

Informatique et programmation dans l'option Mesure Physique et Informatique (MPI) en sciences physique.

Bases: usages des logiciels et sensibilisation à l'informatique.

L'enseignement dispensé dans cette option transdisciplinaire est un enseignement de sciences expérimentales, dont le texte de cadrage a près de 10 ans. Cet enseignement veut être «attractif et valorisant pour susciter des orientations vers les sections scientifiques et technologiques». Il ne comporte pas, à la base, de programmation puisque ce qui concerne l'enseignement de l'informatique semble limité:
  • Aux usages de logiciels: («utilisation d'un tableur/grapheur; utilisation de logiciels d'acquisition de traitement données et de simulation, ex: lissage d'une courbe, ajustement par une fonction mathématique; utilisation d'interfaces, de centrales de mesures,d'appareils de mesures liés à l'ordinateur ayant ou non une mémoire numérique; recherche documentaire sur Internet, etc. ; réalisation d'un rapport d'activité en utilisant [..] un traitement de texte»).
  • A la découverte "passive" de certains éléments clés:
    • des sciences du numérique («systèmes de numération, converssion analogique/numérique et numérique/analogique, résolution d'une mesure, fréquence d'échantillonnage»);
    • de culture scientifique et technique («éléments d'histoire de la numération [du calcul], éléments de l'histoire de l'informatique, l'architecture d'un ordinateur») ;
les éléments entre («..») citant le programme officiel, de manière exhaustive pour ce qui est de l'informatique.

Une partie thématique pour l'apprentissage de la programmation.

Au delà de ces bases une «partie thématique (environ 18 heures)» est laissée à la liberté de l'enseignant «en fonction des spécificités locales et de l'intérêt des élèves». C'est dans cette partie thématique que le programme propose «d'utiliser quelques notions de programmation (algorithme élémentaire : analyse d'un problème simple, instruction conditionnelle alternative ; langage de programmation ..)» ou liée aux objets numériques («portes logiques, montrer le principe de l'additionneur, de mettre en œuvre un actionneur»). Si l'on tient compte du fait que ce texte de cadrage se veut ouvert dans ces objectifs, résolument tourné vers ce dont les futurs ingénieurs ou scientifiques auront vraiment besoin, il faut donc y lire un appel à faire découvrir les sciences du numérique aux élèves, ce qui inclut la programmation.

Algorithmique et programmation en mathématiques (depuis la rentrée 2009).

«

Objectifs pour le lycée.

La démarche algorithmique est, depuis les origines, une composante essentielle de l’activité mathématique. Au collège, les élèves ont rencontré des algorithmes (algorithmes opératoires, algorithme des différences, algorithme d’Euclide, algorithmes de construction en géométrie). Ce qui est proposé dans le programme est une formalisation en langage naturel propre à donner lieu à traduction sur une calculatrice ou à l’aide d’un logiciel. Il s’agit de familiariser les élèves avec les grands principes d’organisation d’un algorithme : gestion des entrées-sorties, affectation d’une valeur et mise en forme d’un calcul, en opérant essentiellement sur des nombres entiers.
Dans le cadre de cette activité algorithmique, les élèves sont entraînés :
  • à décrire certains algorithmes en langage naturel ou dans un langage symbolique ;
  • à en réaliser quelques uns à l’aide d’un tableur ou d’un petit programme réalisé sur une calculatrice ou avec un logiciel adapté ;
  • à interpréter des algorithmes plus complexes.
Aucun langage, aucun logiciel n’est imposé.
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 (fonctions, géométrie, statistiques et probabilité, logique) mais aussi avec les autres disciplines ou la vie courante.
À l’occasion de l’écriture d’algorithmes et de petits programmes, il convient de donner aux élèves de bonnes habitudes de rigueur et de les entraîner aux pratiques systématiques de vérification et de contrôle.

Contenu du programme.

  • Instructions élémentaires (affectation, calcul, entrée, sortie). Les élèves, dans le cadre d’une résolution de problèmes, doivent être capables :
    • d’écrire une formule permettant un calcul ;
    • d’écrire un programme calculant et donnant la valeur d’une fonction ;ainsi que les instructions d’entrées et sorties nécessaires au traitement.
  • Boucle et itérateur, instruction conditionnelle Les élèves, dans le cadre d’une résolution de problèmes, doivent être capables :
    • de programmer un calcul itératif, le nombre d’itérations étant donné ;
    • de programmer une instruction conditionnelle, un calcul itératif, avec une fin de boucle conditionnelle.

Présence d'exemples de mise en œuvre de l'algorithmique dans chacune des trois parties du programme.

  • [Etude des] Fonctions Même si les logiciels traceurs de courbes permettent d’obtenir rapidement la représentation graphique d’une fonction définie par une formule algébrique, il est intéressant, notamment pour les fonctions définies par morceaux, de faire écrire aux élèves un algorithme de tracé de courbe.
  • [En] Géométrie Le cadre de la géométrie repérée offre la possibilité de traduire numériquement des propriétés géométriques et permet de résoudre certains problèmes par la mise en oeuvre d’algorithmes simples.
  • Statistiques et probabilités
    • Utiliser un logiciel (par exemple, un tableur) ou une calculatrice pour étudier une série statistique (moyenne, dispersion).
    • À l’occasion de la mise en place d’une simulation, on peut : utiliser les fonctions logiques d’un tableur ou d’une calculatrice, mettre en place des instructions conditionnelles dans un algorithme.
    • La répétition d’expériences aléatoires peut donner lieu à l’écriture d’algorithmes (marches aléatoires).
 »

De quelques perspectives pédagogies.

Sans aucune autre prétention que de collecter ici quelques clés pédagogiques mises en relief par des professeurs du secondaire ayant déjà pratiqué l'enseignement de l'informatique lors d'enseignements optionnels, nous pouvons noter les points suivants.

L'informatique se prête à une pédagogie participative.

Elle est de ces matières qui se prêtent bien à un enseignement par mini-projets, orienté vers le travail en binôme ou petit groupe. A une pratique où cours magistral et travaux-pratiques expérimental sont indissociables. On apprend ensemble savoir et pratique.
Apprendre à programmer un petit logiciel, c'est donner à l'élève des clés, mais aussi la liberté de s'approprier ces clés et de les mettre en pratique de manière diverse (il y a plusieurs possibles dans la manière de mettre en oeuvre la solution).
L'informatique favorise ainsi l'apprentissage par l'utilisation, ce qui correspond bien à l'esprit humain. Très précisément ici, il s'agit de découvrir un algorithme en le programmant en observant son fonctionnement, avant d'en abstraire la notion sous-jacente.

Quand le professeur apprend avec l'élève.

Dans cette période transitoire, l'informatique se prête à une expérience pédagogie des plus intéressantes pour l'élève (et enrichissante pour l'enseignant). Le Professeur de Mathématiques ou de Sciences Physiques se lève devant sa classe et dit : « je ne sais (que peu ou) pas encore programmer moi-même, mais je sais comment vous apprendre à le faire, et comment apprendre avec vous ». Cette position pédagogique a été vécue plusieurs fois en 2007-2009 avec un succès complet et récurrent : élèves responsabilisés, co-apprentissage coopératif entre élèves, professeur partageant une démarche de recherche au delà de la simple transmission de savoir, plaisir partagé de la réussite, etc. Que personne ne se trompe : il ne s'agit pas de "niveler les rôles" ! Le professeur reste le référent, détenteur non pas d'un simple lot de connaissances, mais de quelque chose de plus profond : une démarche méthodologique.
En pratique, les "profs" que nous connaissons ont joué ce rôle très simplement, de manière (au sens propre du terme) magistrale (... et aussi au sens figuré, de fait Fichier:Smiley-cool.png), en tout cas avec la même discipline que tout autre cours. Les élèves ont profondément apprécié cette démarche, sans être dérouté par son aspect singulier. L'une d'elle en tirera cette belle conclusion « Oh, il est possible de tout apprendre alors ! ». C'était pour le Professeur, un des plus beaux remerciements.
L'ensemble des documents de ce site sont justement à disposition pour relever ce défi.

L'informatique conduit à un apprentissage de la rigueur.

Cet apprentissage s'effectue par un mécanisme spécifique : celui des essais-erreurs avec une machine « neutre ». La programmation ne donnera un résultat que si tout est correct, mais donnera indéfiniment une chance de corriger, de reprendre, de re-tester.
La machine est donc un outil qui permet d'apprendre de manière incrémentale, sans jamais porter de jugement de valeur. On a vu quelque élève un peu "rebelle" regagner de l'intérêt pour cette approche nouvelle et y réussir mieux qu'en moyenne. Hélas, il faut être lucide : l'apprentissage de l'infomatique n'est pas simple, et les concepts ne sont pas simplistes : tel élève qui aurait de profondes lacunes en matière d'abstraction ne pourra qu'aprendre à reproduire le savoir et la pratique, sans forcément accéder aux concepts sous-jacents. Mais ce sera déjà un succès, à la fois pour l'aider à maîtriser le mode numérique et pour lui-même y gagner en rigueur.
Pour ce qui est de la rigueur, les lycéennees qui ont déjà profité de cet apprentissage, ont permis de vérifier cette règle attendue, à savoir que la rigueur se conjugue bien souvent au féminin. L'idée que l'informatique ne serait pas pour les filles ne les a jamais effleurée, qu'elle ne nous effleure pas non plus.

L'informatique est une science abstraite ... incarnée.

L'informatique fait entrevoir l'intérêt des sciences théoriques, car on peut « toucher » (opérer avec, visualiser...) des objets abstraits, si l'informatique est mathématiques, alors il s'agit de mathématiques « incarnées ».
L'informatique est un levier pour les sciences, car elle permet de mieux comprendre des notions universelles (par exemple la notion d'information) ou fondamentales (par exemple le calcul «mécaniste » par opposition à d'autres formes de raisonnement). Elle offre aussi la découverte de notions nouvelles (par exemple: suites aléatoires, fonctions récursives, ...) omniprésentes en ingéniérie. Nous en offrons quelques aspects ici.