Aller au contenu

Les programmes de NSI⚓︎

Le programme de première⚓︎

Le programme de la classe de première ( 4h/semaine) est organisé autour de huit rubriques :

  1. Histoire de l’informatique

    Cette rubrique transversale est abordée sous la forme de repères historiques dans chacune des sept autres.

    Image femmes info
    Image source: Corbis via Getty Images

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

    Entiers, flottants, caractères et chaînes de caractères. Vous allez découvrir comment toutes ces données sont stockées dans la mémoire de l'ordinateur, quelle taille elles occupent et comment convertir ces données entre plusieurs bases (binaire, hexadécimal, etc).

    1
    2
        >>> nombre_mystere = 0b101010
        >>> enigme = "Il y a 10 types de personnes: celles qui connaissent le binaire et les autres."
    
  3. Représentation des données : types construits

    Ici on apprend à utiliser des structures de données plus complexes comme les tuple qui collectent des valeurs de types différents dans des champs nommés et les list qui permettent un accès direct aux éléments.

    1
    2
        >>> notes = [18, 15, 16.5]
        >>> notes.append(17)
    
  4. Traitement de données en tables

    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. Vous apprendrez aussi à charger et à sauvegarder des données depuis et vers des fichiers.

    1
    2
    3
        Non,Anglais,Info,Maths
        Joe,17,18,16
        Zoé,15,17,19
    
  5. Interactions entre l’homme et la machine sur le Web

    Dans cette partie on vous met dans la peau d'un developpeur web. Vous allez apprendre à :

    • Coder un site web avec les langages HTML et CSS.

    • Ajouter de l'interactivité à vos pages web avec le langage Javascript.

    • Réaliser des sites web dynamiques (chat, blog, etc) avec le framework Python Flask.

    Image html-css-javascript

  6. Architectures matérielles et systèmes d’exploitation

    Dans cette partie seront vus :

    • Les circuits électroniques au cœur des machines informatiques.
    • Les réseaux qui permettent de transmettre l’information entre machines.
    • Les systèmes d’exploitation qui gèrent et optimisent l’ensemble des fonctions de la machine.

    Image archi 3 tiers

  7. Langages et programmation

    Variables, structures de contrôles, boucles, fonctions, etc. Ici on apprend à programmer avec le langage Python. Cette partie est réinvestie dans toutes les autres rubriques des programmes de première et de terminale.

    Image snake game

  8. Algorithmique

    Le concept de méthode algorithmique est introduit. Quelques algorithmes classiques sont étudiés (recherche séquentielle, recherche dichotomique, les k-NN, ...). Très utile pour la poursuite d'étude.

    Image algorithme.png
    Image source: Martin Saive cartoonbase.com

Le programme de terminale⚓︎

Le programme de la classe de terminale ( 6h/semaine) est organisé autour de six rubriques :

  1. Histoire de l’informatique

    Cette rubrique transversale est abordée sous la forme de repères historiques dans chacune des cinq autres.

  2. Structures de données

    On étudie ici les grands concepts de la programmation qui sont utilisés par les développeurs professionnels et les chercheurs :

    • Programmation objet.
    • Listes, piles, files et dictionnaires.
    • Arbres, arbres binaires et graphes.
    • Structures de données - interfaces.
  3. Bases de données

    Dans cette partie on apprend à travailler avec de grande quantitées de données :

    • Bases de données relationnelles.
    • Langage SQL.
  4. Architectures matérielles et systèmes d’exploitation

    Ici on approfondie ce que l'on a vu en première :

    • Gestion des processus et des ressources par le système d'exploitation.
    • Protocoles de routage dans les réseaux.
    • Sécurisation des communication sur Internet.
    • Composants intégrés d'un système sur puce.
  5. Langages et programmation

    Dans ce chapitre, on monte d'un cran dans l'apprentissage du langage Python vu en première :

    • Récursivité
    • Modularité
    • etc
  6. Algorithmique

    On progresse dans l'apprentissage des algorithmes classiques :

    • Algorithmes sur les arbres binaires de recherche.
    • Algorithmes sur les graphes.
    • Méthodes "diviser pour régner".
    • Programmation dynamique.
    • Recherche textuelle (Boyer-Moore).