Aller au contenu

Compléments au programme des épreuves 1 et 2 d’admissibilité

Architecture

  • Circuits combinatoires/séquentiels, machine de Mealy, machine de Moore.
  • Description et fonctionnement d’une machine de von Neumann (introduction à la programmation assembleur : instructions de calcul, instructions de branchement, accès à la mémoire et aux registres, instructions système).
  • Exécution d’un appel de fonction, concept de pile.
  • Hiérarchie mémoire.
  • Typologie des machines parallèles (classification de Flynn, classification de Raina, machines multi-coeurs, supercalculateurs).
  • Représentation des nombres à virgule flottante. Problèmes de précision des calculs flottants et de dépassement de capacité. Notion de mode d’arrondi.

Bases de données

  • Création, suppression, modification de tables au travers du langage de requêtes SQL.
  • Opérateurs de l’algèbre relationnelle et leurs propriétés : application à l’optimisation de requêtes.

Calculabilité, complexité

  • Modèle de calcul. Machines de Turing : définition, principales variantes (ruban biinfini vs infini, machine à plusieurs rubans). La machine de Turing est le modèle de calcul retenu pour l’étude des notions qui suivent.
  • Calculabilité : universalité, décidabilité, indécidabilité. Problème de l’arrêt.
  • Complexité : complexité en temps et en espace, classe P. Acceptation par certificat, classe NP. Réduction polynomiale. NP-complétude. Théorème de Cook.
    La notion de machine de Turing non déterministe n’est pas exigible aux épreuves 1, 2 et 3.a de l’écrit, ni aux épreuves orales.

Chaîne de compilation

  • Analyse lexicale, analyse syntaxique (principes de l’analyse descendante).
  • Analyse sémantique élémentaire (arbre de syntaxe abstraite, environnement, analyse de portée, typage).
  • Génération de code vers une machine à pile.

Génie logiciel

  • Assertions, jeux de tests, tests en boîte blanche/noire.
  • Notion de test fonctionnel appliqué aux tests unitaires, comportementaux et d’intégration.
  • Notion de test non-fonctionnel : tests de performances, tests d’intrusions.

Informatique et société

  • Points clés du RGPD.
  • Impact environnemental du numérique. Notion d’écoconception.
  • Enjeux d’éthique du numérique et valeurs sous-jacentes.
  • Cybersécurité : notions de vulnérabilité, menace, attaque ; chiffrement symétrique et asymétrique.

Intelligence artificielle

  • Mesures de similarité pour l’apprentissage machine.
  • Données d’entraînement et données de test, choix des descripteurs.
  • Enjeux d’éthique (biais d’apprentissage, transparence).

Programmation

  • Programmation objet : objets, classes, héritage, polymorphisme de sous-typage.
  • Programmation fonctionnelle : ordre supérieur, structures immuables, polymorphisme paramétrique.

Réseaux

  • Caractéristiques des réseaux et performances associées :
    • réseaux d’accès, réseaux de coeur ;
    • topologies de réseaux : point à point, à diffusion ;
    • performances : débit de transmission, délai, taux de perte.
  • Modélisation en couches : OSI, TCP/IP, encapsulation.
  • Transmission :
    • Adressage : adresses MAC, IPv4, IPv6 ;
    • Routage : principes ; système de nom de domaine (DNS) ; routage à vecteur de distance (algorithme de Bellman-Ford), routage par état de liens (algorithme de Dijkstra) ;
    • Solutions de transport : principes ; TCP, UDP.
  • Programmation réseau : API Socket en Python et en C, à l’aide d’un aide-mémoire fourni.

Systèmes d’exploitation

  • Séquence de démarrage : de l’initialisation aux processus utilisateur.
  • Abstractions fournies par le système : accès au matériel, répartition équitable des ressources, accès aux fichiers (dont open, read, write et close).
  • Liens entre système d’exploitation et applications : adressage physique et virtuel, notion de pagination, MMU, interruptions, appels systèmes, gestion des processus (dont fork, wait, waitpid), gestion du temps (ticks et implémentation du temps partagé).
  • Isolation et interaction entre les processus : espace mémoire d’une application, communication entre applications (pipe, mmap).
  • Concurrence : modèles de cohérence (forte, faible, PRAM et au relâchement) et d’équité. Construction des mutex et sémaphores à partir des instructions atomiques test and set. Schéma lecteurs rédacteurs.