L’enseignement de spécialité de numérique et sciences informatiques du cycle terminal de la voie générale vise l’appropriation des fondements de l’informatique pour préparer les élèves à une poursuite d’études dans l’enseignement supérieur, en les formant à la pratique d’une démarche scientifique et en développant leur appétence pour des activités de recherche.
L’objectif de cet enseignement, non professionnalisant, est l’appropriation des concepts et des méthodes qui fondent l’informatique, dans ses dimensions scientifiques et techniques.
Cet enseignement s’appuie sur l’universalité de quatre concepts fondamentaux et la variété de leurs interactions :
> Les données, qui représentent sous une forme numérique unifiée des informations très diverses : textes, images, sons, mesures physiques, sommes d’argent, etc.
> Les algorithmes, qui spécifient de façon abstraite et précise des traitements à
effectuer sur les données à partir d’opérations élémentaires.
> Les langages, qui permettent de traduire les algorithmes abstraits en programmes
textuels ou graphiques de façon à ce qu’ils soient exécutables par les machines.
> Les machines, et leurs systèmes d’exploitation, qui permettent d’exécuter des
programmes en enchaînant un grand nombre d’instructions simples, assurant la
persistance des données par leur stockage, et de gérer les communications. On y
inclut les objets connectés et les réseaux.
À ces concepts s’ajoute un élément transversal : les interfaces qui permettent la
communication avec les humains, la collecte des données et la commande des systèmes.
Cet enseignement prolonge les enseignements d’informatique dispensés à l’école primaire, au collège en mathématiques et en technologie et, en seconde, l’enseignement commun de sciences numériques et technologie. Il s’appuie aussi sur l’algorithmique pratiquée en mathématiques en seconde.
Il permet de développer des compétences :
> analyser et modéliser un problème en termes de flux et de traitement d’informations ;
> décomposer un problème en sous-problèmes, reconnaître des situations déjà
analysées et réutiliser des solutions ;
> concevoir des solutions algorithmiques ;
> traduire un algorithme dans un langage de programmation, en spécifier les interfaces et les interactions, comprendre et réutiliser des codes sources existants, développer des processus de mise au point et de validation de programmes ;
> mobiliser les concepts et les technologies utiles pour assurer les fonctions
d’acquisition, de mémorisation, de traitement et de diffusion des informations développer des capacités d’abstraction et de généralisation.