FR | DE

Liste des compétences

Année de programme
Informatique Approfondissement IMI.9.1 9. Algorithmique, structures de données et programmation 1. Algorithmique et structures de données

Les élèves comprennent le fonctionnement d'algorithmes classiques ainsi que les notions de base permettant de comparer leur efficacité et sont capables d'en expliquer le cheminement sur des cas simples.

Ressources : connaissances, aptitudes et attitudes
  • Les élèves connaissent le principe de fonctionnement de plusieurs algorithmes classiques avancés (par ex. recherche - recherche linéaire, recherche dichotomique, tri - tri à bulles, tri fusion, tri rapide et recherche de chemin - Dijkstra, A*), ainsi que la notion de complexité algorithmique et les bases de la notation grand O (temporelle et spatiale).

(3ème, 4ème)
  • Les élèves sont capables de dérouler pas à pas un algorithme classique sur un exemple simple, d'en expliquer le cheminement, et d'évaluer et de comparer l'efficacité de différents algorithmes à l'aide de la notation grand O.

(3ème, 4ème)
  • Les élèves font preuve de rigueur et de méthode dans l'analyse du fonctionnement et de l'efficacité d'un algorithme, et manifestent de la curiosité pour comprendre pourquoi certaines approches sont plus efficaces que d'autres selon le contexte.

(3ème, 4ème)
Situations
  • Les élèves reçoivent un plan simplifié (graphe de villes ou de salles reliées par des chemins) et doivent dérouler à la main l'algorithme de Dijkstra pour trouver le plus court chemin entre deux points, en notant à chaque étape les distances mises à jour. Ils comparent ensuite ce cheminement avec une recherche exhaustive de tous les chemins possibles, pour observer concrètement le gain d'efficacité apporté par l'algorithme.

(3ème, 4ème)
  • À partir d'un jeu de cartes à trier, les élèves appliquent physiquement différentes méthodes de tri (tri à bulles, tri fusion) sur une même suite de nombres ou de cartes, en comptant le nombre d'opérations nécessaires pour chaque méthode. Ils comparent ensuite leurs résultats pour visualiser concrètement pourquoi certains algorithmes sont plus efficaces que d'autres selon la taille des données.

(3ème, 4ème)
Informatique Approfondissement IMI.9.1 9. Algorithmique, structures de données et programmation 1. Algorithmique et structures de données

Les élèves connaissent les caractéristiques et les cas d'utilisation de différents types de structures de données avancées et savent les utiliser dans des cas simples. Ils sont capables de faire des liens avec des exemples concrets.

Ressources : connaissances, aptitudes et attitudes
  • Les élèves connaissent les caractéristiques, les propriétés et les principales opérations des structures de données avancées (par ex. linéaires (piles, files), hiérarchiques (arbres) et relationnelles (graphes)), ainsi que des exemples concrets de situations où chacune est utilisée.

(3ème, 4ème)
  • Les élèves sont capables d'utiliser une structure de données adaptée pour résoudre un problème simple, et d'établir un lien entre une structure de données et une situation concrète (par exemple un graphe pour modéliser un système de navigation).

(3ème, 4ème)
  • Les élèves font preuve de discernement dans le choix d'une structure de données adaptée à un problème donné, et manifestent de la curiosité à reconnaître ces structures dans des systèmes ou outils qu'ils utilisent au quotidien.

(3ème, 4ème)
Situations
  • À l'aide d'un outil de visualisation en ligne (par ex. visualgo.net), les élèves manipulent un graphe représentant un système de navigation GPS simplifié (villes reliées par des routes) et un arbre représentant une arborescence de fichiers, puis implémentent dans un langage simple (Python) une petite structure de pile ou de file pour résoudre un problème concret (par ex. vérifier si une suite de parenthèses est bien équilibrée à l'aide d'une pile).

(3ème, 4ème)
  • Les élèves reçoivent trois situations concrètes de leur quotidien (l'historique de navigation d'un navigateur, la file d'attente d'une imprimante, l'arborescence des dossiers de leur ordinateur) et doivent identifier quelle structure de données (pile, file, arbre) correspond à chacune, en justifiant leur choix par les opérations caractéristiques de la structure (dernier arrivé/premier sorti, premier arrivé/premier sorti, hiérarchie parent-enfant).

(3ème, 4ème)
Informatique Approfondissement IMI.9.2 9. Algorithmique, structures de données et programmation 2. Programmation

Les élèves sont capables de décrire les caractéristiques de différents paradigmes de programmation, d'identifier le paradigme le plus adapté à un contexte ou un outil donné, et de manipuler du code illustrant certains de ces paradigmes.

Ressources : connaissances, aptitudes et attitudes
  • Les élèves connaissent les caractéristiques principales de différents paradigmes de programmation (impératif, déclaratif, orienté objets, fonctionnel, événementiel), ainsi que des exemples d'outils ou de langages représentatifs de chacun.

    Remarque : Une application plus poussée de certains paradigmes pourra être abordée dans d'autres modules, par ex. science des données ou applications web.

(3ème, 4ème)
  • Les élèves sont capables d'identifier le paradigme le plus adapté à un contexte ou un outil donné, et de manipuler du code illustrant certains de ces paradigmes.

(3ème, 4ème)
  • Les élèves font preuve de curiosité et d'ouverture face à la diversité des façons de penser un problème informatique, et développent leur capacité à choisir quelle approche convient le mieux à une situation donnée.

(3ème, 4ème)
Situations
  • Face à trois situations concrètes (créer une interface qui réagit à un clic de souris, interroger une base de données de films, décrire les étapes d'une recette de cuisine sous forme de programme), les élèves doivent identifier quel paradigme de programmation (événementiel, déclaratif, impératif) est le plus adapté à chaque situation, puis rédiger ou compléter un court extrait de code illustrant leur choix.

(3ème, 4ème)
  • Les élèves reçoivent quatre courts extraits de code résolvant le même problème simple (par ex. calculer la somme des nombres pairs d'une liste) mais écrits selon des paradigmes différents (impératif en Python, déclaratif en SQL, fonctionnel avec map/filter, orienté objets avec une classe dédiée). Ils doivent identifier le paradigme de chaque extrait, en expliquer les caractéristiques, puis modifier légèrement l'un des extraits pour l'adapter à un nouveau cas.

(3ème, 4ème)