Les `hackthon~nsi` s'appuient sur les programmes de première et terminale NSI.
TERMINALE |
1. Histoire de l’informatique |
t-1.1 | Événements clés de l’histoire de l’informatique. |
2. Structures de données |
t-2.1 | Structures de données, interface et implémentation. |
t-2.2 | Vocabulaire de la programmation objet: classes, attributs, méthodes, objets. |
t-2.3 | Listes, piles, files: structures linéaires. Dictionnaires, index et clé. |
t-2.4 | Arbres: structures hiérarchiques. Arbres binaires: nœuds, racines, feuilles, sous-arbres gauches, sous-arbres droits. |
t-2.5 | Graphes: structures relationnelles. Sommets, arcs, arêtes, graphes orientés ou non orientés. |
3. Bases de données |
t-3.1 | Modèle relationnel: relation, attribut, domaine, clef primaire, clef étrangère, schéma relationnel. |
t-3.2 | Base de données relationnelle. |
t-3.3 | Système de gestion de bases de données relationnelles. |
t-3.4 | Langage SQL: requêtes d’interrogation et de mise à jour d’une base de données. |
4. Architectures matérielles, systèmes d’exploitation et réseaux |
t-4.1 | Composants intégrés d’un système sur puce. |
t-4.2 | Gestion des processus et des ressources par un système d’exploitation. |
t-4.3 | Protocoles de routage (les liens avec les graphes ne sont plus dans le programme limitatif). |
t-4.4 | Sécurisation des communications. |
5. Langages et programmation |
t-5.1 | Notion de programme en tant que donnée. Calculabilité, décidabilité. |
t-5.2 | Récursivité. |
t-5.3 | Modularité. |
t-5.4 | Paradigmes de programmation. |
t-5.5 | Mise au point des programmes. Gestion des bugs. |
6. Algorithmique |
t-6.1 | Algorithmes sur les arbres binaires et sur les arbres binaires de recherche. |
t-6.2 | Algorithmes sur les graphes. |
t-6.3 | Méthode «diviser pour régner». |
t-6.4 | Programmation dynamique. |
t-6.5 | Recherche textuelle. |
PREMIÈRE |
1. Histoire de l’informatique |
p-1.1 | Événements clés de l’histoire de l’informatique. |
2. Représentation des données: types et valeurs de base |
p-2.1 | Écriture d'un entier positif dans une base b>=2. |
p-2.2 | Représentation binaire d'un entier relatif. |
p-2.3 | Représentation approximative des nombres réels: notion de nombre flottant. |
p-2.4 | Valeurs booléennes: 0, 1. Opérateurs booléens: and, or, not. Expressions booléennes. |
p-2.5 | Représentation d'un texte en machine. Exemples des encodages ASCII, ISO-8859-1, Unicode. |
3. Représentation des données: types construits |
p-3.1 | p-uplets, p-uplets nommés. |
p-3.2 | Tableau indexé, tableau donné en compréhension. |
p-3.3 | Dictionnaires par clés et valeurs. |
4. Traitement de données en tables |
p-4.1 | Indexation de tables. |
p-4.2 | Recherche dans une table. |
p-4.3 | Tri d’une table. |
p-4.4 | Fusion de tables. |
5. Interactions entre l’homme et la machine sur le Web |
p-5.1 | Modalités de l'interaction entre l'homme et la machine. Événements. |
p-5.2 | Interaction avec l'utilisateur dans une page Web. |
p-5.3 | Interaction client-serveur. Requêtes HTTP, réponses du serveur. |
p-5.4 | Formulaire d’une page Web. |
6. Architectures matérielles et systèmes d’exploitation |
p-6.1 | Modèle d’architecture séquentielle (von Neumann). |
p-6.2 | Transmission de données dans un réseau. Protocoles de communication. Architecture d'un réseau. |
p-6.3 | Systèmes d'exploitation. |
p-6.4 | Périphériques d'entrée et de sortie. Interface Homme- Machine (IHM). |
7. Langages et programmation |
p-7.1 | Constructions élémentaires. |
p-7.2 | Diversité et unité des langages de programmation. |
p-7.3 | Spécification. |
p-7.4 | Mise au point de programmes. |
p-7.5 | Utilisation de bibliothèques. |
8. Algorithmique |
p-8.1 | Parcours séquentiel d'un tableau. |
p-8.2 | Tris par insertion, par sélection. |
p-8.3 | Algorithme des k plus proches voisins. |
p-8.4 | Recherche dichotomique dans un tableau trié. |
p-8.5 | Algorithmes gloutons. |