Objectifs de la spécialité NSI
Bienvenue dans la spécialité Numérique et Sciences Informatiques (NSI) ! Au cours de cette année, vous allez développer des compétences en informatique, en apprenant à la fois la théorie et la pratique. L’objectif est de vous donner une meilleure compréhension des systèmes numériques et de vous apprendre à résoudre des problèmes de manière méthodique.
Dans cette spécialité, nous allons :
- Explorer différents langages et méthodes de programmation.
- Découvrir comment fonctionnent les ordinateurs et les systèmes d’exploitation.
- Manipuler des bases de données et comprendre leur rôle dans le stockage d’informations.
- Comprendre comment les réseaux, comme Internet, permettent aux machines de communiquer.
- Apprendre à penser de manière algorithmique et à manipuler des structures de données.
Partie 1 : Python et pratique
Langages et programmation
- Découverte de Python et des paradigmes de programmation.
- Utilisation de bibliothèques standard et modules spécifiques pour le développement.
- Programmation modulaire : fonctions, structures conditionnelles, boucles, gestion des erreurs.
- Tests unitaires et bonnes pratiques de codage.
Algorithmique
- Écriture d'algorithmes en Python pour des tâches concrètes.
- Étude des algorithmes classiques :
- Tri (tri par insertion, tri rapide, etc.).
- Recherche (recherche séquentielle, recherche dichotomique).
- Optimisation (algorithmes gloutons, etc.).
- Analyse et optimisation des performances (complexité algorithmique).
Traitement de données en tables
- Manipulation de fichiers CSV et d’autres formats de données.
- Exploitation des bibliothèques Python pour l’analyse de données (pandas, NumPy).
- Génération de graphiques simples pour visualiser les données.
Représentation des données : types construits
- Pratique des structures de données en Python : listes, dictionnaires, p-uplets.
- Implémentation de structures comme les tableaux ou les matrices.
Partie 2 : Théorie et culture générale
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.
Représentation des données : types et valeurs de base
- Représentation binaire des nombres et des caractères.
- Compréhension des systèmes d’encodage comme ASCII et Unicode/UTF8.
- Notions de bases sur les systèmes de numération.
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.
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).