Guide interactif de la programmation annuelle | 1re année de bac
C’est la capacité à exprimer et à interpréter des concepts, des faits et des opinions à l’oral et à l’écrit, en interagissant linguistiquement dans tous les contextes sociaux et culturels.
Cela implique d’utiliser différentes langues de manière appropriée et efficace pour l’apprentissage et la communication, en tirant parti de ses propres expériences pour faire des transferts entre elles.
C’est la capacité à appliquer le raisonnement mathématique et les méthodes de la science et de la technologie pour résoudre des problèmes dans des contextes variés de la vie réelle.
Cela implique l’usage sûr, critique et créatif des technologies de l’information et de la communication pour l’apprentissage, le travail et la participation à la société.
C’est la capacité à réfléchir sur soi-même, à gérer son propre apprentissage, à collaborer avec les autres de manière constructive et à faire face à l’incertitude.
C’est la capacité à agir en citoyens responsables et à participer pleinement à la vie civique et sociale, en s’appuyant sur les valeurs démocratiques.
C’est la capacité à transformer les idées en action, ce qui inclut la créativité, l’innovation et la capacité à planifier et à gérer des projets pour atteindre des objectifs.
Cela suppose d’apprécier l’importance de l’expression créative des idées, des expériences et des émotions à travers différents moyens et manifestations artistiques.
Réfléchit aux questions éthiques et aux droits humains et participe à des activités communautaires, en prenant conscience de l’importance de la participation citoyenne, de la coopération, de la cohésion sociale et du respect de la diversité pour la vie démocratique.
Son inclusion est justifiée par l’intérêt croissant pour la participation démocratique et les outils informatiques disponibles, qui relie la pensée civique à la logique informatique.
Comprend, interprète et analyse avec un sens critique des textes oraux, signés et écrits de différents types, formes et supports, en évaluant leur fiabilité, leur forme et leur contenu, pour construire des connaissances, se forger une opinion propre et participer à la vie sociale et culturelle.
Sélectionner et intégrer avec créativité divers moyens et supports, ainsi que des techniques plastiques, visuelles, audiovisuelles, sonores ou corporelles, pour concevoir et produire des projets artistiques et culturels durables.
Ce descripteur est clé avec l’avènement de l’IA générative. Il est inclus pour évaluer la capacité à créer une gamme de contenus (documentation, cartes conceptuelles, icônes, manuels) en utilisant ces nouveaux outils de manière efficace et créative.
Réalise des recherches d’information efficaces et sûres dans différents environnements numériques, en sélectionnant, en évaluant, en organisant et en stockant l’information et les données de manière critique et responsable pour les transformer en connaissance.
Communique, entre en relation et collabore de manière efficace, sûre et responsable dans des environnements et avec des outils numériques, en participant à des activités et des projets collectifs et en contribuant à la réalisation d’objectifs partagés.
Crée, modifie, intègre et retravaille des contenus numériques complexes dans différents formats pour exprimer des idées, des connaissances et des opinions, et pour diffuser sa production artistique et culturelle, en respectant la propriété intellectuelle et les droits d’auteur.
Identifie les risques et adopte des mesures préventives lorsqu’il utilise des technologies numériques pour protéger les appareils, les données personnelles, la santé et l’environnement, et pour prendre conscience de l’importance et de la nécessité d’un usage critique, légal, sûr, sain et durable de ces technologies.
Configurer et utiliser des appareils et des outils numériques, et résoudre des problèmes techniques simples, pour profiter des possibilités qu’offre la technologie numérique dans l’apprentissage tout au long de la vie et dans la vie quotidienne.
Analyse et évalue les défis et les opportunités de l’environnement proche et global, et présente des idées et des solutions innovantes et durables, en appliquant les principes de la gestion de projets et de la pensée de design, pour créer de la valeur pour les autres.
Mobilise des ressources personnelles, sociales et culturelles, y compris financières, pour mener à bien des idées et des projets, et pour prendre des décisions économiques et financières éthiques et responsables, en tenant compte de l’impact social et environnemental.
Même si ce n’est pas un descripteur direct de la matière, son inclusion se justifie car le traitement des données (Savoir C) et la gestion de projets (Savoir B) impliquent souvent d’analyser des défis et de prendre des décisions éclairées, fondées sur la faisabilité et la valeur qu’un projet logiciel peut apporter.
Utilise avec aisance, de manière appropriée et avec une correction acceptable une ou plusieurs langues, en plus de la ou des langues familiales, pour répondre à ses besoins de communication avec spontanéité et autonomie dans différentes situations et contextes des domaines personnel, social, éducatif et professionnel.
Bien que le programme ne rattache pas explicitement ce descripteur à une compétence spécifique de cette matière, son inclusion est jugée fondamentale. La grande majorité de la documentation technique, des forums et des ressources d’apprentissage en programmation sont en anglais. Développer l’autonomie dans l’usage d’une langue étrangère est un facteur clé du progrès réel des élèves.
Se connaît lui-même et favorise une croissance personnelle constante, en gérant le temps et l’information de manière efficace, et en s’adaptant aux changements pour faire face à l’incertitude et à la complexité.
S’adapte et gère l’incertitude, en apprenant de manière constructive de ses erreurs, pour faire face aux situations et aux défis de la vie quotidienne.
Collabore avec les autres de manière constructive, en faisant preuve de résilience, et gère l’apprentissage tout au long de la vie, en contribuant à son propre bien-être physique, mental et émotionnel ainsi qu’à celui des autres.
Gère son propre apprentissage, en identifiant ses points forts et ses points faibles, en fixant des objectifs et en planifiant les actions nécessaires pour les atteindre, et en évaluant ses progrès et ses résultats.
Conçoit et gère un projet de vie orienté vers l’avenir, en tenant compte de ses aspirations, de ses valeurs et de ses intérêts, et en prenant des décisions éclairées et responsables pour son développement personnel, social et professionnel.
Utilise des méthodes inductives et déductives propres au raisonnement mathématique dans des situations connues, et sélectionne et emploie différentes stratégies pour résoudre des problèmes, en analysant de manière critique les solutions et en reformulant la démarche si nécessaire.
Développe et utilise des modèles fondés sur les connaissances scientifiques pour analyser les phénomènes naturels et sociaux et pour prédire leur évolution, en tenant compte de leurs limites et de l’incertitude.
Conçoit et réalise des recherches, individuellement ou en équipe, en appliquant la méthode scientifique et la pensée informatique, pour poser des questions et des hypothèses, et les confronter par l’expérimentation ou l’observation.
Analyse et interprète des données, en utilisant des outils mathématiques et technologiques, pour en extraire des conclusions pertinentes, évaluer la fiabilité des sources et communiquer les résultats de manière claire et rigoureuse.
Entreprendre des actions fondées scientifiquement pour promouvoir la santé physique, mentale et sociale, et pour préserver l’environnement et les êtres vivants.
Analyser les problèmes de manière abstraite et informatique, en identifiant les données nécessaires et les processus appliqués, pour concevoir des algorithmes et des programmes qui les résolvent de manière efficace.
Développer des projets logiciels, individuellement ou en équipe, en appliquant des méthodologies de gestion de projet pour la planification, le suivi et la présentation du produit final.
Sélectionner et utiliser les types et les structures de données les plus adaptés au stockage et au traitement de l’information, en tenant compte de l’efficacité et de la complexité des opérations.
Organiser et stocker l’information de manière persistante et efficace, en utilisant des systèmes de gestion de bases de données et d’autres formats d’échange de données pour garantir son intégrité et sa sécurité.
Élaborer la documentation d’une application informatique et concevoir des interfaces conviviales et accessibles pour faciliter son utilisation et sa maintenance, en tenant compte de l’expérience de l’utilisateur.
Connaître et appliquer des concepts fondamentaux de différents domaines de l’informatique, comme l’intelligence artificielle ou le contrôle de versions, pour résoudre des problèmes et développer des projets.
Concevoir des solutions à des problèmes informatiques au moyen d’algorithmes, en appliquant de manière créative les éléments et les techniques de programmation, indépendamment du langage de programmation qui sera utilisé pour leur mise en œuvre.
Programmer des applications pour différents environnements, en appliquant les principes de la programmation et en adaptant les algorithmes à un langage de programmation spécifique.
Réaliser des programmes informatiques en tenant compte de leur efficacité, tant en coût de calcul qu’en modularité, cohésion et couplage.
Analyser et planifier le processus de développement des applications à partir des exigences établies dans l’énoncé.
Ce critère repose sur l’analyse du problème et les exigences de l’utilisateur, et sur la conception de logiciels avec des diagrammes, qui sont expliqués en deuxième année de bac.
Appliquer des stratégies d’amélioration continue applicables aux étapes du cycle de vie du projet.
Ce critère est étroitement lié aux méthodologies de programmation agiles (SCRUM, Kanban) et aux outils de contrôle de versions (git, GitHub), qui sont vus en deuxième année.
Utiliser ou apprendre des méthodologies d’ingénierie logicielle adaptées aux caractéristiques du produit à développer.
Ce critère s’étend à la deuxième année parce qu’il est directement lié à l’usage des méthodologies agiles et du TDD qui sont vues en deuxième année de bac.
Programmer des applications en sélectionnant les types et les structures de données les plus adaptés au contexte posé.
Intégrer des structures de données permettant de réaliser des programmes efficaces, en minimisant la consommation de ressources et le temps d’exécution.
Concevoir des bases de données qui garantissent l’intégrité et la cohérence des données pour répondre à une problématique posée.
Ce critère exige de connaître le modèle entité-association et la théorie de la normalisation ; comme celle-ci est marquée comme un savoir exclusif de la deuxième année de bac, ce critère relève surtout de la deuxième année.
Réaliser des opérations de base de manipulation de la base de données (création, consultation, mise à jour et suppression).
Travailler avec d’autres dépôts de données en effectuant les opérations adéquates pour répondre aux exigences du projet.
Appliquer des techniques de conception d’interaction selon des guides de style.
Étudier si les programmes créés sont utiles et utilisables pour leur public visé, en identifiant les lacunes et, selon le cas, en appliquant des améliorations d’utilité et d’utilisabilité.
Générer la documentation nécessaire pour que l’utilisateur final comprenne le fonctionnement, dans le but de lui fournir un guide qui l’aide à utiliser le programme ou l’application de manière simple, intuitive et satisfaisante.
Intégrer des concepts de certaines branches de l’informatique dans la réalisation de programmes et d’applications.
Étudier les applications actuelles pour connaître leur fonctionnement interne.
Suivre les versions du projet au moyen d’outils de contrôle de versions.
Utiliser des outils d’intelligence artificielle pour produire des contenus (y compris des documents pour étudier un sujet), pour programmer et pour apprendre, le tout avec un grand esprit critique.
Simuler des environnements avec un logiciel propre et/ou disponible et développer des jeux.
Il y a plus de séances programmées que de temps disponible dans le calendrier, pour deux raisons fondamentales :
Portfolio et auto-évaluation
(15 séances - éval. 1, 2, 3)
Création du portfolio du cours passé, du présent et fonctionnement du cours.
Apprentissage généralisé avec l’IA
(10 séances - éval. 1, 2, 3)
Usage critique des outils d’intelligence artificielle pour l’apprentissage.
Conception d’algorithmes et d’organigrammes
(15 séances - éval. 1, 2)
Évaluation de la pensée informatique et de la capacité à concevoir des solutions logiques avant la programmation.
Pratiques de programmation et structures de données
(20 séances - éval. 1, 2, 3)
Traduction des algorithmes en code réel, en sélectionnant et en mettant en œuvre des structures de données efficaces.
Travail : analyse du coût de calcul
(5 séances - éval. 1)
Analyse théorique et pratique de l’efficacité des algorithmes développés, en apprenant à mesurer et à optimiser la consommation de ressources.
Introduction à la console Linux
(6 séances - éval. 1, 2)
La console est utilisée de manière instrumentale pendant le cours pour atteindre d’autres objectifs. Le moment venu, un temps explicite est consacré à l’étude des commandes essentielles pour consolider ces connaissances et évaluer l’autonomie technique.
Méthodologie d’évaluation :
Projet de programmation : vainqueur de Condorcet
(5 séances - éval. 1, 2, 3)
Développement d’un programme qui lit les préférences de vote à partir d’un fichier JSON et détermine s’il existe un vainqueur de Condorcet.
Introduction à l’analyse des exigences
(3 séances - éval. 2)
Avant de commencer le projet de BDD, nous apprenons à définir ce dont nous avons réellement besoin pour éviter des erreurs à l’avenir.
Projet intégral de bases de données
(25 séances - éval. 2, 3)
Projet complet couvrant le cycle de vie des données, de la conception à la manipulation, à l’importation et à la présentation.
Matériel : comparaison des formats de données (JSON, XML) face à KDL v2.0
Pratique de qualité : UX, style et documentation
(10 séances - éval. 3)
Amélioration de la qualité du logiciel créé, en mettant l’accent sur l’expérience de l’utilisateur final et la maintenabilité du code.
Atelier pratique : contrôle de versions (Git)
(5 séances - éval. 3)
Introduction aux outils professionnels de contrôle de versions pour le suivi et la collaboration dans les projets logiciels.
Travail de recherche : branches de l’informatique
(10 séances - éval. 3)
Recherche autonome ou guidée par l’IA sur les concepts fondamentaux d’autres domaines de l’informatique et les applications actuelles.
Simulation d’environnements réels de programmation
(5 séances - éval. 1, 2, 3)
Introduction qui allie compétences de programmation et de création à l’usage critique et efficace d’outils d’intelligence artificielle.
(6 séances - éval. 3)
Carte conceptuelle interactive sur les huit distorsions qui faussent notre jugement à l’ère de l’IA (autorité, urgence, chiffres trompeurs, répétition, fluidité, délégation cognitive, raisonnement motivé et excès de confiance) et un protocole en quatre étapes pour s’en défendre. Elle comprend des cas réels, les études de référence, des invites pour vérifier les réponses de l’IA et un test.
Applications de la programmation
Un guide visuel pour mieux apprendre à étudier. Au lieu de simplement mémoriser, découvre comment commencer par analyser et hiérarchiser l’information pour rendre ton étude plus efficace.
Utile aux élèves et aux familles pour comprendre comment on apprend et comment on est évalué.
Fondements juridiques classés chronologiquement :