Numérique et Sciences Informatiques

Objectif du programme de spécialité NSI Numérique et Sciences Informatiques en Première

Le programme officiel de la spécialité numérique et sciences informatiques en Première décrit les objectifs de cette matière de la manière suivante :

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, assurent 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.

Compétences associées au programme de la spécialité NSI Numérique et Sciences Informatiques en Première

L’enseignement de la spécialité numérique et sciences informatiques permet de développer les compétences suivantes :

  • 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.

À ces compétences principales s’ajoutent des compétences transversales, qui seront utiles à l’élève dans toutes les disciplines :

  • Faire preuve d’autonomie, d’initiative et de créativité.
  • Présenter un problème ou sa solution, développer une argumentation dans le cadre d’un débat.
  • Coopérer au sein d’une équipe dans le cadre d’un projet.
  • Rechercher de l’information, partager des ressources.
  • Faire un usage responsable et critique de l’informatique.

Organisation du programme de Numérique et Sciences informatiques de Première

L’enseignement de spécialité numérique et sciences informatiques en Première se décompose en 8 rubriques, qui ne représentent pas forcément un plan de cours. C’est au professeur de déterminer la meilleure manière d’aborder toutes les problématiques du cours.

  • Rubrique 1 : Histoire de l’informatique
  • Rubrique 2 : Représentation des données : types et valeurs de base
  • Rubrique 3 : Représentation des données : types construits
  • Rubrique 4 : Traitement de données en tables
  • Rubrique 5 : Interactions entre l’homme et la machine sur le Web
  • Rubrique 6 : Architectures matérielles et systèmes d’exploitation
  • Rubrique 7 : Langages et programmation
  • Rubrique 8 : Algorithmique

Histoire de l’informatique

Cette rubrique transversale se décline dans chacune des sept autres. Elle aborde des événements clés de l’histoire de l’informatique.

Représentation des données : types et valeurs de base

Toute machine informatique manipule une représentation des données dont l’unité minimale est le bit 0/1, ce qui permet d’unifier logique et calcul. Cette partie s’intéresse au codage des données.

Représentation des données : types construits

Cette partie permet de présenter tour à tour les p-uplets (tuples), les enregistrements qui collectent des valeurs de types différents dans des champs nommés et les tableaux qui permettent un accès calculé direct aux éléments.

Traitement de données en tables

Les données organisées en table correspondent à une liste de p-uplets nommés qui partagent les mêmes descripteurs. La mobilisation de ce type de structure de données permet de préparer les élèves à aborder la notion de base de données qui ne sera présentée qu’en classe terminale

Interactions entre l’homme et la machine sur le Web

La compréhension du dialogue client-serveur déjà abordé en classe de seconde est consolidée, sur des exemples simples, en identifiant les requêtes du client, les calculs puis les réponses du serveur traitées par le client.

Architectures matérielles et systèmes d’exploitation

Exprimer un algorithme dans un langage de programmation a pour but de le rendre exécutable par une machine dans un contexte donné. La découverte de l’architecture des machines et de leur système d’exploitation constitue une étape importante.

Langages et programmation

Les langages de programmation Turing-complets sont caractérisés par un corpus de «constructions élémentaires». Sans introduire cette terminologie, il s’agit de montrer qu’il existe de nombreux langages de programmation, différents par leur style, ainsi que des langages formalisés de description ou de requêtes qui ne sont pas des langages de programmation.

Algorithmique

Le concept de méthode algorithmique est introduit ; de nouveaux exemples seront vus en terminale. Quelques algorithmes classiques sont étudiés. L’étude de leurs coûts respectifs prend tout son sens dans le cas de données nombreuses, qui peuvent être préférentiellement des données ouvertes.