Compétence 3.4
Programmation

Description

Utiliser la programmation pour répondre à un besoin. Automatiser certaines tâches informatiques pour gagner du temps. Analyser des problèmes et les résoudre à l’aide d’un ou plusieurs langages de programmation.

Savoirs, Savoir-faire et Attitudes 2.2

  • Les programmes informatiques sont constitués d’instructions écrites selon des règles strictes dans un langage de programmation spécifique.
  • Les langages de programmation utilisent des structures telles que des séquences, des boucles et des conditions pour exécuter des instructions. En utilisant ces structures et en regroupant des instructions similaires, il est possible de créer de nouvelles instructions qui peuvent être utilisées dans d’autres parties du programme (ex. : l’utilisation de fonctions et de méthodes).
  • Les programmes sont exécutés par des dispositifs ou des systèmes informatiques capables d'interpréter et d'exécuter automatiquement des instructions.
  • Les programmes informatiques produisent des données de sortie en fonction des données d’entrée. Par exemple, l’application « Calculatrice » produira 8 comme donnée de sortie si les données d’entrée sont 3+5 ; elle produira 15 comme donnée sortie si les données d’entrée sont 7+8. Il est généralement admis que des entrées différentes produisent des sorties différentes.
  • Un programme utilise un système informatique pour stocker et manipuler les données nécessaires à la production de données de sortie, mais il peut parfois avoir un comportement inattendu (ex. : un bug, une défaillance, une fuite de données).
  • La structure d’un programme est basée sur un algorithme, c’est-à-dire une série d'instructions précises visant à produire une instruction de sortie à partir d'une instruction d’entrée.
  • Les algorithmes, et par conséquent les programmes, sont conçus pour aider à résoudre des problèmes réels. Lorsqu’un algorithme est utilisé, l’utilisateur fournit des données d’entrée qui représentent les informations connues sur le problème. L’algorithme utilise ensuite ces données pour produire des données de sortie pertinentes pour solutionner le problème. II existe différentes manières de résoudre un même problème en utilisant des algorithmes différents.
  • L'exécution d’un programme nécessite du temps et des ressources matérielles (ex. : la mémoire, le processeur) pour traiter les données d'entrée et produire des données de sortie. Le temps et l'espace utilisés par le programme dépendent de la taille des données d'entrée et/ou de la complexité du problème.
  • Certains problèmes ne peuvent pas être résolus précisément dans un délai raisonnable en utilisant des algorithmes. Par exemple, les prévisions météorologiques sont difficiles à résoudre avec précision en raison de la complexité des systèmes météorologiques. Des solutions approximatives sont souvent utilisées pour résoudre ce type de problème.
  • Utiliser un langage de programmation visuel permettant de créer des programmes en combinant des blocs de commandes dans un environnement graphique (ex. : Scratch).
  • Détecter et résoudre les problèmes dans une séquence d’instructions d’un programme. Par exemple, détecter et corriger des erreurs ou analyser les raisons pour lesquelles le temps d’exécution ou les résultats obtenus ne sont pas ceux attendus.
  • Identifier les données d’entrée et de sortie dans des programmes simples.
  • Reconnaître l’ordre d’exécution des instructions et la manière dont les données sont traitées dans un programme.
  • Accepter que certains algorithmes ne sont pas parfaits et ont des limites dans leurs capacités à résoudre un problème.
  • Prendre en compte l’éthique comme un aspect fondamental dans le développement ou le déploiement de systèmes d’IA dans de nombreux domaines (ex. : l’intervention et la surveillance humaine, la transparence, la non-discrimination, l'accessibilité, la prévention des préjugés et l'équité). IA

Scénarios d'usage

Ces exemples peuvent servir de base à l'élaboration d'objectifs d'apprentissage, de contenus de formation et d'évaluations à destination de bénéficiaires.

Scénario lié à l'emploi
La création d’un module de formation court (un tutoriel) pour former le personnel interne à une nouvelle procédure à appliquer dans l'organisation

Niveau ciblé : Niveau 4 (Intermédiaire)

Le bénéficiaire sera capable d’/de :
  • Utiliser un langage de programmation (ex. : Ruby, Python) pour développer un jeu éducatif visant à introduire la nouvelle procédure dans l’organisation.
  • Déboguer le code du jeu éducatif pour corriger les bugs éventuels.

Scénario lié à l'apprentissage
La préparation d’une présentation sur un sujet spécifique destinée aux autres apprenants

Niveau ciblé : Niveau 4 (Intermédiaire)

Le bénéficiaire sera capable d’/de :
  • Utiliser une interface de programmation simple (ex. : Scratch Jr.) pour développer une application pour smartphone, qui vise à présenter son travail à ses pairs.
  • Déboguer le code de l’application pour corriger les bugs éventuels.

Exemples concrets

Des exemples concrets de la vie privée et professionnelle (issus du document "Comprendre DigComp 2.1") qui visent à illustrer la compétence :

Exemples de la vie privée
  • Améliorer un site internet en utilisant le langage Javascript ;
  • Utiliser un tableur pour gérer son budget personnel en utilisant des fonctions (ex. : SOMME, SI);
  • Participer à une initiation au langage de programmation Scratch avec ses enfants.

Exemples de la vie professionnelle
  • Participer au développement d’un freeware ;
  • Créer une base de données pour gérer les stocks de son entreprise ;
  • Automatiser un processus d’inscription (complétion d’un formulaire, e-mail de confirmation, ajout dans une base de données) ;
  • Comprendre ce que signifie : printf("Hello World").