Python

Programme Première NSI

Ce programme est conçu pour fournir une base solide en programmation et algorithmique tout en les introduisant à des concepts clés en informatique.

Partie 1 : Python et pratique

Introduction à la programmation

  • Variables et types de données (entiers, flottants, chaînes, booléens).
  • Instructions conditionnelles (if, elif, else).
  • Boucles (for, while).
  • Fonctions : définition, paramètres, retour de valeur.

Structures de données

  • Listes : création, manipulation, méthodes principales.
  • Tuples, dictionnaires et ensembles.
  • Manipulation de fichiers : ouverture, lecture, écriture.

Modularité

  • Création et utilisation de fonctions.
  • Organisation en modules et utilisation de bibliothèques standard.

Algorithmique

Bases de l’algorithmique

  • Notion d’algorithme et étapes de résolution d’un problème.
  • Représentation par pseudocode et schémas (arbres, graphes simples).
  • Boucles et structures itératives.

Résolution de problèmes classiques

  • Recherche séquentielle et dichotomique.
  • Tri par insertion et tri à bulles.
  • Optimisation (algorithmes gloutons, etc.).
  • Analyse et optimisation des performances (complexité algorithmique).

Récursivité

  • Introduction au concept de récursivité.
  • Résolution de problèmes simples avec des fonctions récursives.

Structures de données avancées

Tableaux et listes

  • Manipulation des éléments.
  • Parcours, insertion, suppression.

Piles et files

  • Notions fondamentales, utilisation en algorithmique.
  • Implémentation simple en Python.

Concepts avancés en Python

Introduction à la programmation orientée objet (POO)

  • Création de classes et d’objets.
  • Méthodes et attributs.
  • Encapsulation et constructeurs.

Utilisation de bibliothèques

  • Modules Python standard (math, random).
  • Initiation à des bibliothèques utiles (par exemple, time).
  • Exploitation des bibliothèques Python pour l’analyse de données (pandas, NumPy).
  • Génération de graphiques simples pour visualiser les données.
  • Manipulation de fichiers CSV.

Partie 2 : Théorie et culture générale

  1. Histoire de l'informatique

    • Étude des figures marquantes (Alan Turing, Ada Lovelace, etc.).
    • Découverte des événements clés : naissance de l’ordinateur, évolution d’Internet, etc.
    • Impact de l’informatique sur la société moderne.
  2. Représentation des données : types et valeurs de base

    • Représentation binaire et hexadécimal des nombres et des caractères.
    • Compréhension des systèmes d’encodage comme ASCII et Unicode.
    • Notions de bases sur les systèmes de numération.
    • Codage des données : texte, images, sons.
  3. Architectures matérielles et systèmes d'exploitation

    • Exploration des composants d’un ordinateur : processeur, mémoire, stockage, etc.
    • Introduction aux concepts de systèmes d’exploitation : gestion des ressources, multitâche.
    • Notions sur les réseaux : transmission des données, protocoles, adresses IP.
  4. Interactions entre l'homme et la machine sur le Web

    • Concepts des interfaces homme-machine (IHM) : ergonomie, accessibilité.
    • Fonctionnement des pages web : client-serveur, événements, JavaScript.
    • Analyse de l’importance de l’expérience utilisateur (UX).