Programmes et documents officiels – ISN

Programme

Le programme est construit autour de quatre parties : représentation de l’information, algorithmique, langages et programmation, architectures matérielles. Les séquences pédagogiques ont vocation à être construites en combinant des savoirs et capacités extraits des quatre parties du programme.
Organisation : les éléments du programme sont présentés à l’aide d’un tableau en trois colonnes : savoirs, capacités, observations.

Représentation de l’information

Dans un contexte informatique, l’information est représentée par des suites de symboles. La numérisation est l’opération qui associe à un objet réel du monde physique une description à l’aide d’un ensemble d’informations exploitables par un ordinateur ou, plus généralement, une machine numérique. A cause de l’échantillonnage sous-jacent, la numérisation induit des effets importants sur la qualité de l’information numérique. Elle entraîne des conditions spécifiques de création, de stockage, de traitement et de circulation de l’information.
Les capacités de traitement et de stockage des ordinateurs croissent de façon continue depuis leur apparition. Il est donc crucial d’organiser ces flux d’informations en local sur une machine ou de façon distribuée sur un réseau.
L’intégration croissante du numérique dans les activités humaines et la numérisation de l’information suscitent des transformations culturelles, socio-économiques, juridiques et politiques profondes qui font apparaître de nouvelles opportunités, de nouveaux risques et de nouvelles contraintes qu’il convient d’étudier.

 

SAVOIRS CAPACITÉS OBSERVATIONS
Numérisation L’ordinateur manipule uniquement des valeurs numériques. L’élève comprend qu’une étape de numérisation des paramètres associés aux objets du monde physique est donc indispensable. Coder un nombre, un caractère au travers d’un code standard, un texte sous forme d’une liste de valeurs numériques. Il est ici utile de faire référence à des notions technologiques introduites à propos des architectures matérielles. Les images et les sons peuvent être choisis comme contexte applicatif et sont manipulés via des logiciels de traitement ou de synthèse.
Représentation binaire Un ordinateur est une machine qui manipule des valeurs numériques représentées sous forme binaire. Manipuler à l’aide d’opérations élémentaires les trois unités de base : bit, octet, mot. On met en évidence, sous forme de questionnement, la présence du numérique dans la vie personnelle et professionnelle, au travers d’exemples.
Formats Les données numériques sont agencées de manière à en faciliter le stockage et le traitement. L’organisation des données numériques respecte des formats qui sont soit des standards de fait, soit des normes. Identifier quelques formats de documents, d’images, de données sonores. Choisir un format approprié par rapport à un usage ou un besoin, à une qualité, à des limites. Le choix d’un format approprié pose le problème de l’interopérabilité qui est le fait d’assurer un usage sans restriction des mêmes données sur un système différent. Le choix de l’algorithme de traitement des données dépend en particulier du format de ces données, et vice versa.
Taille de l’information Les données numériques occupent de la place. Il faut évaluer leur taille en vue de leur stockage, de leur traitement, de leur transmission. Estimer la taille des données. Connaître les ordres de grandeur courants (périphériques usuels de stockage, bibliothèque, corpus littéraire, débits des connexions…) L’apparition de l’informatique a permis de traiter des données de taille beaucoup plus importante que ce qui pouvait être fait auparavant.

Algorithmique

Un algorithme se définit comme une méthode opérationnelle permettant de résoudre, en un nombre fini d’étapes clairement spécifiées, toutes les instances d’un problème donné. Cette méthode peut être exécutée par une machine ou par une personne.
Les élèves ont déjà appris au collège à écrire, mettre au point et exécuter un programme. Les programmes de mathématiques des classes de seconde et première développent une pratique de l’algorithmique sur laquelle il convient également de s’appuyer.
A partir du développement d’algorithmes, l’élève s’initie à la notion de complexité algorithmique. Ces algorithmes sont exprimés dans un langage de programmation et exécutés sur une machine ou bien définis de manière informelle.

 

SAVOIRS CAPACITÉS OBSERVATIONS
Algorithmes de référence
– recherche dichotomique ;
– addition de deux entiers exprimés en binaire ;
– tri par sélection ;
– tri par fusion ;
– recherche d’un chemin dans un graphe par un parcours en largeur ou en profondeur.
Comprendre un algorithme et expliquer ce qu’il fait. Modifier un algorithme existant pour obtenir un résultat différent. Concevoir un algorithme. Programmer un algorithme. S’interroger sur l’efficacité d’un algorithme. On présente simultanément les notions d’algorithme et de programme, puis on les distingue. L’objectif est une compréhension de ces algorithmes et la capacité à les mettre en œuvre. Les situations produisant une erreur (division par zéro, dépassement de capacité) sont mises en évidence. On présente les complexités logarithmique, linéaire et quadratique sur les exemples de la recherche dichotomique, de l’addition de deux entiers et du tri par sélection.
Traitement d’image Programmation d’algorithmes simples sur les images bitmap. Modifier format, taille, contraste ou luminance d’images numériques. Détecter des informations spécifiques. L’objectif est d’appliquer effectivement des programmes simples à des images. On peut aussi étudier le floutage, la rotation, la recherche de contour, etc.

Langages et programmation

La programmation est l’expression d’un algorithme dans un langage exécutable par une machine et joue un rôle central dans le développement des systèmes et produits informatiques.
L’apprentissage de la programmation vise d’une part, à savoir programmer un algorithme décrit en langue naturelle et d’autre part, à comprendre un programme et exprimer en langue naturelle l’algorithme sous-jacent.
On commence par rappeler les éléments de base de tout langage de programmation (affectation, séquence, test et boucle) tels qu’ils ont été présentés au collège et en mathématiques en classe de seconde et consolidés en classe de première. La notion de fonction permet d’éviter des redondances, de structurer les programmes et d’organiser leur conception. Enfin, on met en évidence la qualité des programmes en les testant sur différents jeux de données.
On compare la programmation séquentielle et la programmation parallèle, en s’appuyant sur la programmation déjà développée au cycle 4 du collège.
On insiste sur la clarté et la documentation qui facilitent la reprise du code par d’autres programmeurs. On montre enfin l’universalité de la notion de langage au-delà de la programmation.
L’enseignant choisit un langage de programmation selon les critères suivants : simplicité d’utilisation, liberté d’installation, présence d’outils associés, existence d’une communauté d’utilisateurs et de bibliothèques facilitant le développement, la richesse et la qualité de la documentation.

SAVOIRS CAPACITÉS OBSERVATIONS
Types de données
– nombre entier ;
– virgule flottante ;
– booléen ;
– caractère ;
– tableau ;
– chaîne de caractères.
Choisir un type de donnée en fonction d’un problème à résoudre. On adapte la présentation de ces notions en fonction du langage de programmation retenu.
Fonctions
– notion de fonction ;
– portée des variables et passage d’arguments ;
– définition récursive de fonctions.
Concevoir l’entête (ou l’interface) d’une fonction, puis la fonction elle-même. On adapte la présentation de ces notions en fonction du langage de programmation retenu.
Programmation séquentielle versus parallèle
– affectation, séquences, tests, boucles ;
– exécution parallèle de processus.
Ecrire un programme séquentiel. Ecrire un programme parallèle simple. En s’appuyant sur le travail mené au cycle 4, on met en évidence le fait que la majorité des programmes est composée de processus qui s’exécutent en parallèle et on initie aux notions correspondantes.
Correction d’un programme
– test ;
– instrumentation ;
– situations d’erreur ou bugs.
Mettre un programme au point en le testant, en l’instrumentant. Utiliser un outil de mise au point. On évoque les risques issus des programmes incorrects et des bugs qui en résultent, aux conséquences parfois graves.
Langages de description Présentation des langages HTML et CSS et du principe de séparation du contenu et de la mise en forme. Créer et analyser une page web. On met en évidence la diversité des langages utilisés en informatique : langages de programmation, de description, de requêtes, de spécification… On met en valeur le double usage du langage, lisible par un humain et interprétable par une machine.

Architectures matérielles

Exprimer un algorithme dans un langage de programmation a pour but de le rendre exécutable par une machine numérique. La découverte de l’architecture de ces machines constitue une étape essentielle d’une initiation à l’informatique. De plus, mieux comprendre cette organisation est nécessaire pour programmer de manière efficace, en tenant compte des capacités et limitations des machines numériques.
La présentation commence avec celle des machines, puis se poursuit avec leur connexion en réseau, où le transport des informations repose sur des méthodes de routage, en remobilisant ainsi les acquis du programme de technologie du cycle 4.
Finalement, l’étude d’un système en interaction avec le monde physique, par exemple un minirobot, peut permettre, en fonction de l’équipement disponible dans l’établissement, de découvrir les mécanismes de pilotage et de communication dans l’exécution de tâches complexes.

Architecture des ordinateurs

SAVOIRS CAPACITÉS OBSERVATIONS
Jeu d’instructions Instructions simples (chargement, stockage, opérations arithmétiques et logiques, saut conditionnel). Les circuits combinatoires réalisent des fonctions booléennes. Savoir dérouler l’exécution d’une séquence d’instructions simples de type langage machine. On propose des activités sous forme d’exercices sur papier sans utiliser d’ordinateur.

Réseaux

SAVOIRS CAPACITÉS OBSERVATIONS
Adressage sur un réseau Mécanismes d’adressage pour identifier des machines distantes. Décrire une situation d’adressage sur un type de réseau particulier. On introduit ces notions en comparant différents types d’adressages existants (téléphone, courrier postal).
Routage Mécanismes induits par la communication sur un réseau dont la structure est de type graphe. Notions de paquets, de chemins, de routage. Décrire le chemin suivi par l’information sur un exemple de routage. On peut prendre l’exemple du routage des courriels. On explique la différence entre les réseaux de type arborescent et de type graphe.
Structuration en couches des protocoles de réseau
– notion de protocole ;
– description des couches physique, liaison, réseau, transport et applications.
Identifier des protocoles et les rattacher à une couche, sur des exemples simples. On peut, au choix, s’appuyer sur le modèle TCP/IP ou le modèle OSI. On introduit ces notions en présentant divers protocoles, par exemple : ethernet, Wi-Fi ; IP, TCP ; http, ftp, smtp. On évitera tout excès de technicité.

Initiation à la robotique

SAVOIRS CAPACITÉS OBSERVATIONS
Découverte d’un système robotique et de sa programmation Identifier les différents composants du système utilisé, comprendre leurs rôles respectifs et le programmer dans un langage de haut niveau. On propose des activités adaptées aux équipements et logiciels disponibles dans l’établissement.

 

Évaluation

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *