WikiPrépaLivrets

CAPES informatique externe 2021, épreuve 2Sujet et rapport du jury

Capes externe section NSI - Sujet de la deuxième épreuve écrite de la session 2021

Pas encore noté

Téléchargements

  • Corrigé : pas encore disponible

Description

Sujet officiel CAPES externe en informatique, session 2021.

Ces sujets peuvent vous intéresser

Pas encore de corrigé pour ce sujet : voici des sujets proches corrigés.

Lecture du sujet en ligne

L'énoncé complet, avec les formules et les figures, sans ouvrir le PDF.
Afficher ou masquer la section
SESSION 2021
CAPES
CONCOURS EXTERNE
ET CAFEP CORRESPONDANTS
Section : NUMERIQUE ET SCIENCES INFORMATIQUES
SECONDE ÉPREUVE D'ADMISSIBILITÉ
Durée : 5 heures
L'usage de tout ouvrage de référence, de tout dictionnaire et de tout matériel électronique est rigoureusement interdit.
Si vous repérez ce qui vous semble être une erreur d'énoncé, vous devez le signaler très lisiblement sur votre copie, en proposer la correction et poursuivre l'épreuve en conséquence. De même, si cela vous conduit à formuler une ou plusieurs hypothèses, vous devez la (ou les) mentionner explicitement.
NB : Conformément au principe d'anonymat, votre copie ne doit comporter aucun signe distinctif, tel que nom, signature, origine, etc. Si le travail qui vous est demandé consiste notamment en la rédaction d'un projet ou d'une note, vous devrez impérativement vous abstenir de la signer ou de l'identifier.

INFORMATION AUX CANDIDATS

Vous trouverez ci-après les codes nécessaires vous permettant de compléter les rubriques figurant en en-tête de votre copie.
Ces codes doivent être reportés sur chacune des copies que vous remettrez.
  • -
    Concours externe du CAPES de l'enseignement public :
    Concours Section/option Epreuve Matière
    E|BE 6/2/O/OE 1|0|2 0|5|3|0
  • -
    Concours externe du CAFEP/CAPES de l'enseignement privé :
    Concours Section/option Epreuve Matière
    E|BF 6/2/0/01E 1|0|2 0|5|3|0
Préambule : Ce sujet comporte trois parties indépendantes. Pour toutes les questions pédagogiques, vous pourrez vous appuyer sur les programmes de SNT ainsi que de première et de terminale NSI dont des extraits choisis sont donnés en Annexe.

Partie 1 - Réseaux de communication

Les notions portant sur l'Internet et les réseaux de communication font partie des programmes de l'enseignement de SNT en seconde et de NSI en première et terminale. En tant qu'enseignant ou enseignante dans ces matières, vous devrez aborder et expliquer les différentes couches de la pile protocolaire TCP/IP. Dans cet exercice, vous allez explorer certaines de ces couches.

1 Généralités sur les réseaux

  • 1.L'Internet est basé sur une architecture en couches. Les différentes couches de cette architecture constituent la pile protocolaire utilisée par l'Internet. Expliquer pourquoi ce fonctionnement en couches a été retenu. Préciser les éventuels avantages et inconvénients d'un tel système.
  • 2.Que définit un protocole réseau?
  • 3.Expliquer ce qu'est le modèle client-serveur.
  • 4.Citer deux technologies de communication et donner un ordre de grandeur de leur capacité d'émission (appelé aussi débit d'émission) pour chacune d'entre elles.
  • 5.Vous trouverez un exemple de réseau dans le document 1. Associer à chacun des numéros légendés sur ce schéma l'un des termes suivants : Wi-Fi, Ethernet, Client, Serveur, Fibre optique, Routeur, Commutateur (aussi appelée Switch). Sur votre copie, vous pourrez ne reporter que les numéros et les termes correspondants. Il n'est pas nécessaire de reproduire le schéma.
  • 6.Le programme de première de la spécialité NSI demande de présenter "le rôle des différents constituants du réseau local de l'établissement" (document 5). Inventorier les principaux éléments susceptibles de constituer un réseau local et préciser leur(s) rôle(s).

2 Couche transport

  • 7.Quel est l'objectif d'un protocole de transport?
  • 8.Expliquer le principe général de fonctionnement du protocole de transport TCP.
  • 9.Comparer le protocole de transport UDP et le protocole de transport TCP. Donner les avantages et les inconvénients de chacun de ces protocoles.
  • 10.Donner un exemple d'application reposant sur le protocole de transport UDP et un exemple d'application reposant sur le protocole de transport TCP.
  • 11.Le protocole de transport TCP est au programme de SNT (document 2). Proposer une activité débranchée permettant de faire comprendre aux élèves les notions de fiabilité d'une transmission et d'absence de garantie temporelle caractérisant le protocole TCP. L'activité proposée devra mettre en évidence les problèmes induits par cette absence de garantie temporelle.

3 Couche réseau

  • 12.Quel est l'objectif d'un protocole de la couche réseau?

3.1 Adressage IP

  • 13.Décrire une activité que vous proposez à vos élèves de seconde en SNT pour expliquer le but d'une adresse IP et comment elle est organisée.
  • 14.Expliquer le rôle du protocole DHCP.

3.2 Routage

Protocoles de routage
  • 15.Le routage est au programme de la spécialité NSI terminale (document 7). Proposer un plan de cours sur ce sujet en 10 lignes maximum, puis décrire une activité que vous réaliserez avec vos élèves.
  • 16.Expliquer le principe du protocole OSPF. Quel algorithme de parcours est utilisé par ce protocole? Illustrer le fonctionnement de cet algorithme sur un schéma réseau que vous choisirez.
La recherche d'un plus court chemin sur un graphe est une problématique sous-jacente à celle du routage de données. Dans la section suivante, on s'intéresse à l'enseignement de notions relatives aux graphes (programme de la classe de SNT, document 3) et à leur parcours (programme de la classe de terminale NSI, document 10).
Utilisation des graphes
  • 17.Proposer un exercice destiné à des élèves de seconde permettant de travailler les notions de rayon, diamètre et centre d'un graphe. Vous rédigerez une correction de cet exercice.
  • 18.Le document 9 est un exercice proposé à des élèves de terminale en spécialité NSI.
    • (a)Proposer une correction et un barème de cet exercice en justifiant votre barème.
    • (b)Relever les erreurs éventuelles de la copie donnée dans le document 11.
    • (c)Proposer des améliorations à cet exercice afin, notamment, de le rendre plus accessible pour un élève ayant un niveau "moyen" en spécialité NSI de terminale.

4 Étude du fonctionnement général et des performances d'un réseau

Cette partie concerne le programme de première de la spécialité NSI, donné dans le document 5 .
  • 19.Dans ce programme, il est demandé de "simuler ou mettre en œuvre un réseau". Proposer une séquence pédagogique où les élèves auront à mettre en œuvre un réseau à l'aide d'un logiciel de simulation. Vous préciserez le logiciel que vous comptez utiliser. Proposer un schéma du réseau qui serait simulé et décrire les activités que vous proposeriez sur ce scénario réseau.
  • 20.Discuter les avantages et les inconvénients de la simulation pour étudier le fonctionnement ou les performances d'un réseau.
  • 21.Le programme demande de "mettre en évidence l'intérêt du découpage des données en paquets et de leur encapsulation". Citer les facteurs qui ont un impact sur le temps de transfert d'un message de la source à la destination. À partir de ces facteurs, expliquer l'intérêt d'un découpage des données à transmettre en paquets. À quoi peut conduire un découpage excessif (à savoir en un très grand nombre de paquets) ?

Partie 2 - Le Web

Cette partie porte sur le World Wide Web qui sera abrégé en Web dans la suite de l'énoncé.

5 Généralités, langages et URL

Le Web fait partie du programme de SNT comme indiqué dans le document 4.
  • 22.Donner une définition du Web.
  • 23.À quelle date et par qui le Web a-t-il été "inventé" ?
  • 24.Proposer une séquence pédagogique permettant d'introduire le HTML et le CSS en classe de SNT.
  • 25.À la suite de votre enseignement sur HTML et CSS, vous comptez évaluer vos élèves via un QCM. Proposer un QCM comportant 3 questions ayant chacune 4 choix possibles et un seul choix correct. On justifiera le choix des questions et des réponses proposées, en précisant la réponse juste.
  • 26.Expliquer la structure générale d'une URL.

6 HTTP et HTTPS

  • 27.À quoi sert le protocole HTTP?
  • 28.Expliquer le rôle des méthodes GET et POST du protocole HTTP.
  • 29.Proposer une séquence pédagogique permettant d'aborder le protocole HTTP avec des élèves de la spécialité NSI de première (document 6).
  • 30.La sécurisation des communications est au programme de terminale NSI (document 7). Expliquer les principes :
    • -du chiffrement symétrique,
    • -du chiffrement asymétrique,
    • -du protocole HTTPS (on s'intéressera uniquement à la partie "sécurité" de ce protocole).
  • 31.Vous désirez mettre en place une activité permettant d'illustrer le principe de chiffrement symétrique auprès de vos élèves de spécialité terminale NSI. Décrire l'activité que vous allez réaliser et motiver les choix que vous avez faits.

7 Moteur de recherche

L'étude des moteurs de recherche est au programme de SNT (document 4).
  • 32.À quoi sert un moteur de recherche?
  • 33.Expliquer le principe général de fonctionnement de l'algorithme "PageRank" qui est à la base du moteur de recherche de Google.
  • 34.Vous demandez à trois élèves de seconde de réaliser un exposé sur les moteurs recherches. Proposer une grille d'évaluation pour cet exposé.

Partie 3 - Développement d'applications

Une partie de l'enseignement de NSI est consacrée à l'élaboration de projets conduits par les élèves, comme cela est précisé dans le document 8. On s'intéresse, dans la suite, à deux projets proposés par deux groupes d'élèves de terminale NSI.

8 Logiciel d'emprunt de livres

Un groupe d'élève souhaite réaliser un logiciel d'emprunt de livres. Le cahier des charges établi est le suivant :
  • -Les informations relatives aux utilisateurs et aux livres disponibles à l'emprunt doivent être structurées dans une base de données.
  • -Le modèle conceptuel de données retenu est celui fourni dans le document 13.
  • -Le logiciel en lui-même doit être muni d'une interface graphique.
  • 35.Justifier le choix d'une structure de base de données dans le cadre de ce projet.
  • 36.Proposer un langage permettant d'implémenter une interface graphique. Recommanderiez-vous l'usage d'une bibliothèque de ce langage à cette fin ? Si oui, laquelle ?
  • 37.Un élève du groupe choisit de se consacrer à la structuration de la base de donnée et implémente les trois tables fournies dans le document 14. De quoi cet élève n'a-t-il pas tenu compte? Corriger sa proposition.
  • 38.Présenter le concept de clé étrangère tel que vous le feriez à des élèves de terminale NSI.
  • 39.Proposer trois situations que les élèves de ce groupe pourront rencontrer lors de la réalisation de leur projet qui amènent à réaliser :
    • (a)Une requête de sélection de données sur la table "livres".
    • (b)Une requête d'insertion de données sur la table "livres".
    • (c)Une requête de mise à jour de données portant sur une jointure des tables "livres" et "emprunts".
Fournir également ces requêtes en langage SQL.
  • 40.Proposer une grille d'évaluation pour ce projet.

9 Jeu du morpion

Un autre groupe d'élèves souhaite réaliser un jeu de morpion. C'est un jeu entre deux joueurs dans lequel chaque joueur ou joueuse inscrit, l'un après l'autre, son symbole sur une grille. Le premier joueur ou la première joueuse qui parvient à aligner trois de ses symboles horizontalement, verticalement ou en diagonale gagne le jeu. Le cahier des charges établi avec les élèves est le suivant :
  • -Le jeu doit être muni d'une interface graphique qui doit être programmée en langage Python.
  • -Le jeu est conçu de telle sorte que le joueur se confronte à l'ordinateur qui jouerait de manière optimale, en se reposant sur l'algorithme min-max décrit dans le document 15.
  • 41.Proposer une activité qui vous permettrait de présenter aux élèves d'une classe de terminale NSI les concepts d'arbre binaire, de parcours en profondeur et en largeur de cet arbre. On pourra se référer à l'extrait du programme fourni dans le document 12.
  • 42.Expliquer le fonctionnement de l'algorithme min-max comme vous le feriez auprès des élèves du groupe ayant choisi ce projet.
  • 43.Préciser pourquoi il répond à la problématique d'un jeu optimal de la part de l'ordinateur, et pourquoi il se fait en temps de calcul raisonnable dans le cas du jeu de morpion.
  • 44.Proposer trois tests permettant de vérifier le bon fonctionnement de l'application réalisée par les élèves au cours de ce projet.
  • 45.Proposer une grille d'évaluation pour ce projet.

Annexes exercice 1

Document 1 - Schéma réseau
Contenus Capacités attendues
Protocole TCP/IP : paquets, routage des paquets Distinguer le rôle des protocoles IP et TCP. Caractériser les principes du routage et ses limites. Distinguer la fiabilité de transmission et l'absence de garantie temporelle.
Adresses symboliques et serveurs DNS Sur des exemples réels, retrouver une adresse IP à partir d'une adresse symbolique et inversement.
Réseaux pair-à-pair Décrire l'intérêt des réseaux pair-à-pair ainsi que les usages illicites qu'on peut en faire.
Indépendance d'internet par rapport au réseau physique Caractériser quelques types de réseaux physiques : obsolètes ou actuels, rapides ou lents, filaires ou non. Caractériser l'ordre de grandeur du trafic de données sur internet et son évolution.
Document 2 - Extrait programme de SNT (thème "Internet")
Contenus Capacités attendues
Réseaux sociaux existants Distinguer plusieurs réseaux sociaux selon leurs caractéristiques, y compris un ordre de grandeur de leurs nombres d'abonnés. Paramétrer des abonnements pour assurer la confidentialité de données personnelles.
Modèle économique des réseaux sociaux Identifier les sources de revenus des entreprises de réseautage social.
Rayon, diamètre et centre d'un graphe Déterminer ces caractéristiques sur des graphes simples.
Notion de « petit monde » Expérience de Milgram Décrire comment l'information présentée par les réseaux sociaux est conditionnée par le choix préalable de ses amis.
Harcèlement numérique Connaître les dispositions de l'article 222-33-2-2 du code pénal.
Document 3 - Extrait programme de SNT (thème "Les réseaux sociaux")
Contenus Capacités attendues
Repères historiques Définir les étapes du développement du Web.
Hypertexte Maîtriser les renvois d'un texte à différents contenus.
Langages HTML et CSS Distinguer ce qui relève du contenu d'une page et de son style de présentation. Étudier et modifier une page HTML simple.
URL Décomposer l'URL d'une page. Reconnaître les pages sécurisées.
Requête HTTP Décomposer le contenu d'une requête HTTP et identifier les paramètres passés.
Modèle client/serveur Inspecter le code d'une page hébergée par un serveur et distinguer ce qui est exécuté par le client et par le serveur.
Moteurs de recherche : principes et usages Mener une analyse critique des résultats fournis par un moteur de recherche. Comprendre que toute requête laisse des traces.
Paramètres de sécurité d'un navigateur Maîtriser les réglages les plus importants concernant la gestion des cookies, la sécurité et la confidentialité d'un navigateur.
Document 4 - Extrait programme de SNT (thème "Le Web")
Contenus Capacités attendues Commentaires
Modèle d'architecture séquentielle (von Neumann)
Distinguer les rôles et les caractéristiques des différents constituants d'une machine.
Dérouler l'exécution d'une séquence d'instructions simples du type langage machine.
La présentation se limite aux concepts généraux.
On distingue les architectures monoprocesseur et les architectures multiprocesseur.
Des activités débranchées sont proposées.
Les circuits combinatoires réalisent des fonctions booléennes.
Transmission de données dans un réseau Protocoles de communication Architecture d'un réseau
Mettre en évidence l'intérêt du découpage des données en paquets et de leur encapsulation.
Dérouler le fonctionnement d'un protocole simple de récupération de perte de paquets (bit alterné).
Simuler ou mettre en œuvre un réseau.
Le protocole peut être expliqué et simulé en mode débranché.
Le lien est fait avec ce qui a été vu en classe de seconde sur le protocole TCP/IP.
Le rôle des différents constituants du réseau local de l'établissement est présenté.
Document 5 - Extrait du programme de première de la spécialité NSI (thème "Architectures matérielles et systèmes d'exploitation")
Contenus Capacités attendues Commentaires
Modalités de l'interaction entre l'homme et la machine
Événements
Identifier les différents composants graphiques permettant d'interagir avec une application Web.
Identifier les événements que les fonctions associées aux différents composants graphiques sont capables de traiter.
Il s'agit d'examiner le code HTML d'une page comprenant des composants graphiques et de distinguer ce qui relève de la description des composants graphiques en HTML de leur comportement (réaction aux événements) programmé par exemple en JavaScript.
Interaction avec l'utilisateur dans une page Web Analyser et modifier les méthodes exécutées lors d'un clic sur un bouton d'une page Web.
Interaction clientserveur.
Requêtes HTTP, réponses du serveur
Distinguer ce qui est exécuté sur le client ou sur le serveur et dans quel ordre.
Distinguer ce qui est mémorisé dans le client et retransmis au serveur.
Reconnaître quand et pourquoi la transmission est chiffrée.
Il s'agit de faire le lien avec ce qui a été vu en classe de seconde et d'expliquer comment on peut passer des paramètres à un site grâce au protocole HTTP.
Formulaire d'une page Web
Analyser le fonctionnement d'un formulaire simple.
Distinguer les transmissions de paramètres par les requêtes POST ou GET.
Discuter les deux types de requêtes selon le type des valeurs à transmettre et/ou leur confidentialité.
Document 6 - Extrait du programme de première de la spécialité NSI (thème "Interactions entre l'homme et la machine sur le Web")
Contenus Capacités attendues Commentaires
Composants intégrés d'un système sur puce. Identifier les principaux composants sur un schéma de circuit et les avantages de leur intégration en termes de vitesse et de consommation. Le circuit d'un téléphone peut être pris comme un exemple : microprocesseurs, mémoires locales, interfaces radio et filaires, gestion d'énergie, contrôleurs vidéo, accélérateur graphique, réseaux sur puce, etc.
Gestion des processus et des ressources par un système d'exploitation.
Décrire la création d'un processus, l'ordonnancement de plusieurs processus par le système.
Mettre en évidence le risque de l'interblocage (deadlock).
À l'aide d'outils standard, il s'agit d'observer les processus actifs ou en attente sur une machine.
Une présentation débranchée de l'interblocage peut être proposée.
Protocoles de routage. Identifier, suivant le protocole de routage utilisé, la route empruntée par un paquet.
En mode débranché, les tables de routage étant données, on se réfère au nombre de sauts (protocole RIP) ou au coût des routes (protocole OSPF).
Le lien avec les algorithmes de recherche de chemin sur un graphe est mis en évidence.
Sécurisation des communications.
Décrire les principes de chiffrement symétrique (clef partagée) et asymétrique (avec clef privée/clef publique).
Décrire l'échange d'une clef symétrique en utilisant un protocole asymétrique pour sécuriser une communication HTTPS.
Les protocoles symétriques et asymétriques peuvent être illustrés en mode débranché, éventuellement avec description d'un chiffrement particulier.
La négociation de la méthode chiffrement du protocole SSL (Secure Sockets Layer) n'est pas abordée.
Document 7 - Extrait programme de terminale NSI (thème "Architectures matérielles, systèmes d'exploitation et réseaux")

Démarche de projet

Un enseignement d'informatique ne saurait se réduire à une présentation de concepts ou de méthodes sans permettre aux élèves de se les approprier en développant des projets.
Un quart au moins de l'horaire total de la spécialité est réservé à la conception et à l'élaboration de projets conduits par les élèves.
Les projets réalisés par les élèves, sous la conduite du professeur, constituent un apprentissage fondamental tant pour l'appropriation des concepts informatiques que pour l'acquisition de compétences. En classe de première comme en classe terminale, ils peuvent porter sur des problématiques issues d'autres disciplines et ont essentiellement pour but d'imaginer des solutions répondant à un problème ; dans la mesure du possible, il convient de laisser le choix du thème du projet aux élèves. Il peut s'agir d'un approfondissement théorique des concepts étudiés en commun, d'une application à d'autres disciplines telle qu'une simulation d'expérience, d'exploitation de modules liés à l'intelligence artificielle et en particulier à l'apprentissage automatique, d'un travail sur des données socioéconomiques, du développement d'un logiciel de lexicographie, d'un projet autour d'un objet connecté ou d'un robot, de la conception d'une bibliothèque implémentant une structure de données complexe, d'un problème de traitement d'image ou de son, d'une application mobile, par exemple de réalité virtuelle ou augmentée, du développement d'un site Web associé à l'utilisation d'une base de données, de la réalisation d'un interpréteur d'un mini-langage, de la recherche d'itinéraire sur une carte (algorithme A*), d'un programme de jeu de stratégie, etc.
La conduite d'un projet inclut des points d'étape pour faire un bilan avec le professeur, valider des éléments, contrôler l'avancement du projet ou en adapter les objectifs, voire le redéfinir partiellement, afin de maintenir la motivation des élèves.
Les professeurs veillent à ce que les projets restent d'une ambition raisonnable afin de leur permettre d'aboutir.

Document 8 - Extrait programme de terminale NSI

Exercice III (5 points)

Soit le graphe suivant :
  • 1.Donnez une implémentation de ce graphe en langage Python.
  • 2.En partant du sommet A, donnez la liste des sommets parcourus dans le cas d'un parcours « en profondeur d'abord » (attention à l'ordre des sommets).
  • 3.En partant du sommet A, donnez la liste des sommets parcourus dans le cas d'un parcours « en largeur d'abord » (attention à l'ordre des sommets).
  • 4.Écrivez l'algorithme permettant de réaliser un parcours « en largeur d'abord»
Document 9 - Exercice proposé à des élèves de terminale en spécialité NSI
Contenus Capacités attendues Commentaires
Algorithmes sur les arbres binaires et sur les arbres binaires de recherche.
Calculer la taille et la hauteur d'un arbre.
Parcourir un arbre de différentes façons (ordres infixe, préfixe ou suffixe ; ordre en largeur d'abord).
Rechercher une clé dans un arbre de recherche, insérer une clé.
Une structure de données récursive adaptée est utilisée.
L'exemple des arbres permet d'illustrer la programmation par classe.
La recherche dans un arbre de recherche équilibré est de coût logarithmique.
Algorithmes sur les graphes.
Parcourir un graphe en profondeur d'abord, en largeur d'abord.
Repérer la présence d'un cycle dans un graphe.
Chercher un chemin dans un graphe.
Le parcours d'un labyrinthe et le routage dans Internet sont des exemples d'algorithme sur les graphes.
L'exemple des graphes permet d'illustrer l'utilisation des classes en programmation.
Exercice III
  • 1)On pert utiliser un dictionnaire pour implémenter be gaphe en python.
    g = {^′ A^′ : [^′ F^′ B^′], B^′ : [^′ E^′, D^′], ^′ C^′ : [^′ E^′, ^′ G^′],; ^′ : [^′ G^′], ^′ E^′ : [^′]}
  • 2)Pancours en profondem d'abord:
    A → F → E → C → G → D → B
  • 3)Parcovrs en largen d'abord
    A → B → E → F → D → G → C
VARIABLE
  • G:graphe
  • S: noeud oligine
  • u:mored
  • v: nocud
p pile (initialement vide)
DEBUT
S.coleur ← noir
piler (s,p)
tant que p non vide:
uer depler (Q)
poir shaque sommet v adjà u :
si vicaleur n'ent pus noir:
v. coleun ← noir
Fin si piler ( v, p )
fin pou
fin turt que
Document 11 - Extrait d'une copie d'élève

Structures de données

L'écriture sur des exemples simples de plusieurs implémentations d'une même structure de données permet de faire émerger les notions d'interface et d'implémentation, ou encore de structure de données abstraite.
Le paradigme de la programmation objet peut être utilisé pour réaliser des implémentations effectives des structures de données, même si ce n'est pas la seule façon de procéder.
Le lien est établi avec la notion de modularité qui figure dans la rubrique «langages et programmation » en mettant en évidence l'intérêt d'utiliser des bibliothèques ou des API (Application Programming Interface).
Contenus Capacités attendues Commentaires
Structures de données, interface et implémentation. Spécifier une structure de données par son interface. Distinguer interface et implémentation. Écrire plusieurs implémentations d'une même structure de données. L'abstraction des structures de données est introduite après plusieurs implémentations d'une structure simple comme la file (avec un tableau ou avec deux piles).
Vocabulaire de la programmation objet : classes, attributs, méthodes, objets. Écrire la définition d'une classe. Accéder aux attributs et méthodes d'une classe. On n'aborde pas ici tous les aspects de la programmation objet comme le polymorphisme et l'héritage.
Listes, piles, files : structures linéaires. Dictionnaires, index et clé. Distinguer des structures par le jeu des méthodes qui les caractérisent. Choisir une structure de données adaptée à la situation à modéliser. Distinguer la recherche d'une valeur dans une liste et dans un dictionnaire. On distingue les modes FIFO (first in first out) et LIFO (last in first out) des piles et des files.
Arbres : structures hiérarchiques. Arbres binaires : nœuds, racines, feuilles, sous-arbres gauches, sous-arbres droits. Identifier des situations nécessitant une structure de données arborescente. Évaluer quelques mesures des arbres binaires (taille, encadrement de la hauteur, etc.). On fait le lien avec la rubrique « algorithmique ».
Graphes : structures relationnelles. Sommets, arcs, arêtes, graphes orientés ou non orientés. Modéliser des situations sous forme de graphes. Écrire les implémentations correspondantes d'un graphe : matrice d'adjacence, liste de successeurs/de prédécesseurs. Passer d'une représentation à une autre. On s'appuie sur des exemples comme le réseau routier, le réseau électrique, Internet, les réseaux sociaux. Le choix de la représentation dépend du traitement qu'on veut mettre en place : on fait le lien avec la rubrique « algorithmique ».
Document 12 - Extrait du programme de terminale de la spécialité NSI (thème "Structures de données")
Document 13 - Modèle conceptuel de données retenu
livres emprunts eleves
id titre auteur ann_publi debut fin id nom prenom classe
Document 14 - Tables implémentées par un élève
Lorsque l'IA doit jouer dans une situation de jeu donnée, son action est déterminée par le choix d'une nouvelle situation, prise au hasard, parmi toutes les situations de jeu atteignables dont l'évaluation par la fonction min-max, fournie ci-dessous est maximale. Dans cette fonction, on considérera que :
  • -La fonction évaluer retourne un entier 1 = gagnant, 0 = match nul ou -1 = perdant selon que la situation de fin de jeu fournie en argument est favorable, ne départage pas ou est défavorable au joueur fourni en argument.
  • -La fonction coefficient retourne un entier 1 = IA ou -1 = humain, selon le joueur fourni en argument.
  • -La fonction situations-atteignables retourne, pour une situation de jeu fournie en argument, l'ensemble des situations pouvant être atteintes au tour de jeu suivant.
  • -Les fonctions min et max retournent les minimum et maximum des ensembles de valeurs qui leur sont fournies en argument.
fonction min-max(situation, joueur)
    si situation est finale
        retourner évaluer(situation, joueur) × coefficient(joueur)
    sinon
        situationsSuivantes ← situations-atteignables(situation)
        si joueur = IA
            retourner max{min-max(suivante, humain) pour suivante € situationsSuivantes}
        sinon
            retourner min{min-max(suivante, IA) pour suivante € situationsSuivantes}
        fin si
    fin si
fin fonction
Document 15 - Principe général du fonctionnement de l'algorithme du min-max

Pas de description pour le moment