Unité Pr1 - Introductionà la programmation

Objectif global de l'unité

Les élèves devraient être capables deconcevoir, programmer et tester des algorithmes simples pour desproblèmes correspondant à des tâchesélémentaires. (Le terme algorithme doit êtrecompris dans son sens le plus large).

Contexte

A ce niveau, la programmation n'est pas un sujet technique; engros, elle signifie que vous allez passer d'une tâche que "vousêtes capable de faire vous-même" (de faire) à unedescription de cette tâche qui pourra "êtreeffectuée par d'autres" (faire faire). Ceci implique unedescription détaillée de cette tâche sous formed'une procédure qui puisse être exécutéede manière précise et répétitive par uneautre personne ou par un dispositif.

C'est cette "automatisation" de la tâche qui constitue laprogrammation, (ou plus précisément la programmationprocédurale ou impérative) - et c'est l'un des traitsessentiels de l'informatique. Ce mode de pensée algorithmiqueet cette manière d'aborder et de résoudre unproblème sont indispensables lorsque l'on utilise des outilscomplexes et sophistiqués comme un tableur, un gestionnaire debase de données, un système d'exploitation oumême un traitement de textes.

La programmation constitue un moyen rapide, spécifique etadapté pour que les élèves acquièrent del'expérience dans la résolution de problèmes.L'objectif n'est pas de former des "mini-programmeurs", maisplutôt de mettre les élèves en contact avec lemode de pensée propre à la programmation. Dèslors, la syntaxe ou les autres caractéristiques techniques detel langage de programmation deviennent anecdotiques et ne doiventêtre abordées que lorsque cela s'avèrenécessaire. Les enseignants devraient souligner les aspectsméthodologiques de la résolution de problèmes;la programmation est seulement un moyen pour atteindre un fin, ellene constitue pas une fin en soi.

Résumé du contenu de l'unité

L'unité comprend trois activités principales: laconception d'un algorithme correspondant à une tâche(résolution algorithmique de problèmes), la traductionde l'algorithme ainsi conçu en un programme (programmation),et la mise en oeuvre de ce programme (implémentation). Cestrois activités se succéderont toujours en étantintimement liées. Bien que les descriptions suivantes traitentchaque activité séparément, l'ordre deprésentation ne doit pas nécessairement êtrel'ordre dans lequel ces activités seront enseignées.

1. Conception d'un algorithme correspondantà une tâche (Résolution algorithmique deproblèmes)

Objectifs

Les élèves devraient être capables de:

  1. décrire et préciser la tâche à faire faire;
  2. concevoir un algorithme correct et efficace qui permette l'exécution de la tâche précisée, sur base d'une méthodologie simple et classique.

Contenu

Les élèves doivent expérimenter et identifierles étapes rencontrées dans le processus derésolution de problème, et cela en imaginant desstratégies de solution à des problèmesélémentaires tirés de la vie quotidienne. Voiciquelques exemples de problèmes adaptés : lasimulation de jets de dés ou de pièces de monnaies, descalculs tels que ceux nécessités par les formulesd'aire et de volumes ou les intérêts de prêts etde dépôts bancaires, les mouvements de la tortue dans unplan.

Des environnements possibles pour la pratique de la programmationsont par exemple: le Logo-Tortue, Basic, Pascal, ou un environnementde contrôle d'un dispositif physique (par exemple un robot).

Lorsque les élèves auront acquis une certainemaîtrise, ils devraient apprendre à scinder lestâches à automatiser en sous-tâches auxquelles ilsdonneront des noms adaptés et parlants.

2. Traduction de l'algorithme en unprogramme (Programmation)

Objectifs

Les élèves devraient être capables de:

  1. traduire leurs algorithmes élémentaires en programmes, en utilisant un langage procédural;
  2. produire un programme lisible, compréhensible et interactif.

Contenu

Les enseignants devraient choisir des problèmes simples quine mettent en oeuvre que les opérations d'entrée(lecture), de sortie (affichage) et d'affectation d'un langage deprogrammation. Dès que possible, les élèvesdevraient déterminer le type et le rôle des diversesvariables nécessaires et leur choisir des noms corrects etsignificatifs, qui représentent bien les fonctions de cesdiverses variables au sein du programme.

3. Mise en oeuvre du programmeréalisé (Implémentation)

Objectifs

Les élèves devraient être capables:

  1. d'utiliser un environnement de programmation donné pour entrer, éditer, compiler, corriger [déboguer], mettre au point et faire exécuter les programmes qu'ils ont conçus et rédigés;
  2. de fournir une description écrite utile et significative des comportements interne et externe de leur programme.

Contenu

Les élèves devraient stocker des programmes surdisque et les récupérer, pour des utilisations et desmodifications ultérieures. Ils devraient apprendre àfaire la différence entre des erreurs de syntaxe et deserreurs d'exécution; et identifier les causes potentielles dechaque type d'erreur. Ils devraient tester leurs programmes avec desjeux de données imposés ou imaginés par eux,afin d'en déterminer la correction et les limites; ilsdevraient apprendre à obtenir à la fois des sortiesimprimées de leurs programmes et l'impression des textes deces derniers.

Les enseignants devraient s'assurer qu'une documentation claire etadéquate accompagne chaque programme afin que d'autrespuissent en comprendre le fonctionnement et y apporterd'éventuelles modifications.

Ressources

Ressources minimales indispensables:

Liens avec d'autres unités

Cette unité, ainsi que l'unité suivantePr2, constituent une préparationessentielle aux modules destinés au degrésupérieur de l'enseignement général etprofessionnel.

Retour Annexe 1

Retour Sommaire