FR | DE

Liste des compétences

Année de programme
Informatique INF.1 1. Algorithmique et programmation

Comparer des algorithmes simples, prendre conscience de la différence d’efficacité des algorithmes pour résoudre un même problème et des limites de l’algorithmique pour certains problèmes.

Ressources : connaissances, aptitudes et attitudes
  • Savoir définir et identifier différents critères pour comparer des algorithmes (nombre d’étapes / opérations, temps d’exécution, ressources utilisées).

(2ème)
  • Comprendre la notion de complexité d'un algorithme (croissance lente - linéaire vs rapide - quadratique), savoir l'identifier graphiquement (courbes comparatives simples - une ligne droite vs une parabole) et l'appliquer à des problèmes classiques (algorithmes de tri, algorithmes de recherche).

(2ème)
  • Savoir expliquer les limites de certains algorithmes : problèmes trop grands pour être résolus exhaustivement (problème du sac à dos, problème du voyageur).

(2ème)
Situations
  • A partir d'exemples visuels de tri des cartes, les élèves appliquent différentes méthodes pour trier.

    Une fois la méthode (l'algorithme) définie, les élèves l'applique à une suite de nombres qui doit être triée.

    Pour aborder la notion de complexité, les élèves peuvent comparer le nombres d'opérations nécessaires pour chacune méthode de tri.

    Cette activité peut être téléchargée (en allemand) à l'adresse https://www.swisseduc.ch/informatik/theoretische_informatik/sortieren/index.html.

(2ème)
Informatique INF.1.1 1. Algorithmique et programmation 1. Bases théoriques

Définir ce qu’est un algorithme, représenter un algorithme de différentes manières et interpréter des algorithmes simples.

Ressources : connaissances, aptitudes et attitudes
  • Savoir représenter un algorithme de manières différentes (pseudocode, ordinogramme) et en analyser le fonctionnement en utilisant différentes approches (pas à pas, tableau d’états).

(1ère)
Situations
  • Les élèves réfléchissent aux algorithmes qu'ils utilisent dans la vie de tous les jours (recette de cuisine, faire un trajet, mode d'emploi de montage) et décrivent ces différents algorithmes. A partir des propositions des élèves, faire réfléchir aux différentes caractéristiques (importance ou non de l'ordre des tâches, répétitions de certaines tâches) et proposer différentes méthodes de représentation de l'algorithme à l'aide d'exemples qu'ils pourront appliquer à leurs propositions.

(1ère)
Informatique INF.1.2 1. Algorithmique et programmation 2. Algorithmique et résolution de problèmes

Savoir utiliser les principales méthodes de résolution de problèmes et résoudre des problèmes à l’aide d’algorithmes.

Ressources : connaissances, aptitudes et attitudes
  • Comprendre et savoir utiliser différentes méthodes de résolution de problèmes (spécification du problème, décomposition en sous-problèmes, amélioration par itération, passage du simple au complexe, abstraction, vérification et validation).

(1ère, 2ème)
Situations
  • Dans le cadre d'un cours de robotique, les élèves doivent déplacer un robot afin qu'il suive une ligne en utilisant des capteurs infrarouges.

    Dans un processus itératif, les élèves améliorent leur programme en adaptant différents paramètres, par exemple la vitesse de déplacement ou l'angle dont le robot tourne lorsqu'il ne détecte plus la ligne.

    Les élèves peuvent également échanger leurs robots afin de se rendre compte que de mêmes capteurs peuvent fournir des résultats différents (mesures de distance légèrement différentes).

(2ème)
  • En se basant sur un algorithme mathématique simple (par exemple la résolution d'une équation du second degré) ou sur un jeu simple (deviner un nombre), les élèves apprennent à découper un problème en sous-problèmes et identifient les procédures nécessaires à la résolution de l'algorithme.

    Par exemple, dans le cadre de la résolution d'une équation du second degré, les élèves pourraient imaginer 4 procédures :

    • Demander les coefficients à l'utilisateur ;

    • Calculer le discriminant ;

    • Calculer les solutions de l'équation ;

    • Afficher le résultat.

(1ère)
Informatique INF.1.3 1. Algorithmique et programmation 3. Programmation

Se servir des éléments essentiels d’un langage de programmation, utiliser les types de données appropriés pour des problèmes simples

Ressources : connaissances, aptitudes et attitudes
  • Savoir définir et utiliser instruction, expression, séquence, structures de contrôle, imbrication, constante, variable, procédure et commentaire.

(1ère)
  • Savoir définir et utiliser les types de variables simples (nombre, booléen, texte).

(1ère)
  • Savoir définir et utiliser des fonctions.

(2ème)
  • Savoir définir et utiliser les types de variables avancés (tableau, liste).

(2ème)
  • Savoir appliquer ces différents concepts de programmation pour implémenter des solutions informatiques à des problèmes donnés.

(1ère, 2ème)
Situations
  • Dans une approche "lire avant d'écrire", les élèves acquièrent les différents notions de programmation en étant confrontés à de nombreux exemples de programmes qu'ils doivent analyser, commenter, adapter légèrement afin de se construire une bibliothèque de cas pratiques d'écriture d'un programme. Avec le temps, ils deviennent alors eux-mêmes capables d'écrire, dans un premier temps de manière guidées, des programmes pour résoudre un problème donné.

    L'utilisation de la méthode PRIMM (Predict, Run, Investigate, Modify, Make), par exemple, permet de "concevoir des situations d’enseignement dans lesquelles les élèves s’engagent de manière progressive dans leur compréhension du code."

(1ère, 2ème)
  • Les élèves doivent implémenter un système de gestion d'utilisateurs.

    Il mettent en pratique l'approche de découpage du problème en sous-problème (ajouter un utilisateur, supprimer un utilisateur, modifier le mot de passe d'un utilisateur, connecter / déconnecter un utilisateur).

    Les données sont stockées dans une base de donnée et les élèves apprennent également à utiliser une API pour interroger la base de donnée.

(2ème)
Informatique INF.1.3 1. Algorithmique et programmation 3. Programmation

Diagnostiquer et corriger une erreur.

Ressources : connaissances, aptitudes et attitudes
  • Savoir utiliser différentes méthodes pour identifier les erreurs dans un programme et les corriger (interprétation des messages d'erreurs, ajout d'éléments simples dans le programme pour identifier l'endroit et les conditions d'arrêt, exécution pas à pas à l'aide d'un outil de visualisation).

(1ère, 2ème)
  • Connaître et savoir identifier les différents types d'erreurs en programmation (syntaxiques, sémantiques et exécution).

(1ère, 2ème)
Situations
  • Les élèves doivent analyser un programme qui contient des erreurs afin de les identifier et de les corriger.

(1ère, 2ème)