Épreuve Orale d'Informatique Fondamentale et Programmation Modalités et Déroulement Session 2022

  1. Agrégation Informatique, Session 2022  
    Épreuve Orale d'Informatique Fondamentale et Programmation 

    Modalités et Déroulement 

    I - Introduction 

    L'épreuve d'informatique couvre le programme d'algorithmique et programmation sous Python, les structures de données, complexité et preuve d'algorithmes, théorie des langages et compilation, théorie des automates et langages, logique et preuve. 

    L'épreuve orale d'Informatique demande au candidat une parfaite maîtrise théorique et pratique de tout le programme, une habileté à programmer rapidement, efficacement et aussi une très bonne pédagogie. L'objectif est de présenter une leçon avec un plan de développement bien structuré accompagnée de démonstration (en Python) de certains aspects pratiques de la leçon. 

    A cet effet, Le candidat dispose d'une bibliothèque et peut utiliser ses propres références, si elles sont autorisées et déposées à l'avance à la bibliothèque. En plus du développement théorique du contenu, le candidat est amené à faire une illustration pratique. 

    II - Programme 

    Le programme de cette épreuve comprend les thèmes cités dans les programmes des épreuves écrites et celles citées ci-dessous : 

    Algorithmique de base et programmation sous Python 

    1.1.1 Rappels des principes élémentaires d'Algorithmique et de programmation sous Python 

    1.1.2 Structures de données élémentaires (listes, tables de hachage, arbres.) 

    1.1.3 Techniques de conception et de programmation (récursivité, diviser pour régner, programmation dynamique.) 

    1.1.4 Différents algorithmes de tri et de recherches (tri par tas, tri rapide, tri par dénombrement. . .) 

    I.13 Complexité et Preuve d'algorithmes. 

    Algorithmique fondamentale 

    1.2.1 Étude et représentation des graphes. 1.2.2 Algorithmes pour les graphes. 

    1.2.3 Algorithmique distribuée. 

    1.2.4 Algorithmique probabiliste. 

    Théorie des langages et compilation 

    1.5.1 Concepts de base de la théorie des langages (mot, alphabet, grammaire.). 1.5.2 Langages formels. 

    1.5.3 Expressions régulières. 

    1.5.4 Compilation (Analyse lexicale et sémantique, . . .) 

    Théorie des automates et langages 

    I1.1.1 Rappels : alphabets, mots, grammaire, langages formels. 11.1.2 Automate finis déterministes. 

    11.1.3 Automates finis non-déterministes. 

    I1.1.4 Langages réguliers et automates. 

    1Y.1.5 Langages algébriques. 

    Logique et preuve : 

    11.2.1 Calculabilité et décidabilité. 

    11.2.2 Logique propositionnelle. 11.2.3 Logique du premier ordre. 

    III- Déroulement de l'épreuve d'Informatique Fondamentale et Programmation 

    Le déroulement de l'épreuve se fait suivant les modalités publiées dans la circulaire ministérielle N101X21 du 04 Décembre 2021 qui stipule notamment : 

    • Durée de la préparation : quatre (4) heures 

    Entretien oral d'une (1) heure (dont 4Omn d'exposé) 

    Coefficient : cinq (5) 

    L'épreuve comporte la présentation d'une leçon choisie par le candidat, lors de la séance de tirage au sort, parmi une liste de leçons proposée par le Jury. Le candidat y est amené à établir un plan de la leçon proposée, à montrer sa maîtrise technique du sujet, à en montrer une application dans une séquence pédagogique. Cette séquence pédagogique doit faire usage d'une illustration à l'aide de l'ordinateur. 

    3.1 - Modalités pratiques 

    • Tirage du texte (sujet) : lors du tirage, le candidat choisit au hasard la date, l'heure de son passage et deux titres de leçons (sans en connaitre le contenu) dont il aura à traiter un. Les deux titres sont alors mis par le Jury dans une enveloppe scellée comportant le nom du candidat, la date de son passage et la signature du candidat. L'enveloppe reste sous la protection du Jury jusqu'à l'heure de l'épreuve. 

    • Début de la Préparation : juste avant le commencement de sa préparation, le candidat reçoit par le responsable du Jury le pli scellé contenant les deux titres de leçons. Le candidat ouvre le pli, choisit le sujet qu'il développera parmi les deux sujets proposés, celui où il se sent le plus à même de mettre en valeur ses connaissances et fournit au responsable le titre de la leçon à traiter. 

    • Préparation : Pour cela, le candidat dispose de documents fournis par le jury et disponibles à la bibliothèque du centre d'examen. Il peut également utiliser ses propres ouvrages non annotés qui doivent recevoir l'autorisation préalable du jury. Il dispose également d'un ordinateur fourni par le jury lequel est muni des logiciels nécessaires. L'infrastructure utilisée aussi bien pour la préparation que pour l'exposé consiste en : 

    • Le système d'exploitation Ubuntu 18.04 64-bit ou 32 bits. 

    • Anaconda 3 version 2019-03 ou plus. 

    • Python version 3.7. 

    • Les IDEs Python: Pyzo version 4.7.3 et Spyder version 3. 

    • Jupyter Notebook y inclut le module Rise. 

    • Navigateur Web 

    • L'accès au lecteur DVD ainsi qu'aux ports sera bloqué 

    Le Jury fournit aussi au candidat des feuilles blanches, de brouillon et une clef USB vierge. Il est interdit d'introduire tout autre support. Les candidats sont censés être familiers avec les logiciels et ordinateurs. 

    • Précautions : Les candidats procèdent sous leur responsabilité à la sauvegarde des résultats qu'ils souhaitent garder durant l'épreuve afin de se prémunir contre les pannes matérielles et logicielles. Ils doivent se conformer aux indications du jury qui pourra conseiller des sauvegardes supplémentaires par des méthodes adaptées pour accroître la fiabilité. 

    • Les candidats peuvent présenter au jury, en plus du fichier numérique, une ou deux pages contenant des développements, démonstrations ou autres 

    • Passage : 1 h d'oral devant un jury formé d'au moins 3 examinateurs. L'épreuve se termine par un entretien avec le jury au cours duquel celui-ci peut éventuellement poser des questions sur tout le programme des deux années de formation. Le candidat dispose de 40 mn pour présenter au jury un plan d'étude détaillé du sujet qu'il a choisi. L'épreuve d'une durée totale de 60 minutes, s'organise selon les modalités suivantes : 

    • Une présentation du plan de la leçon éventuellement suivie d'une brève discussion d'au maximum 05 minutes, 

    • Un développement de 20 minutes maximum pour présenter les aspects théoriques de la leçon, 

    • Le jury dispose de 10 mn de questions et de discussions concernant cette première partie, 

    • Un développement de 15 minutes maximum pour les éventuelles illustrations pratiques ou programmes à présenter, 

    • Le jury dispose de 10 mn de questions et de discussions concernant cette deuxième partie, 

    Au total, le jury dispose de 20 mn de questions et peut éventuellement proposer un ou plusieurs développements. Le jury intervient à son gré au cours de l'épreuve et conduit le dialogue avec le candidat. 

    • Le jury intervient à son gré au cours de l'exposé du candidat et conduit le dialogue avec le candidat. Cependant, et afin de ne pas déstabiliser le candidat, le jury s'abstiendra d'intervenir pendant les dix premières minutes de la leçon. 

    • Recommandations spéciales : À la fin de l'épreuve, tous les supports écrits utilisés par 
      le candidat sont détruits et tous les supports informatiques utilisés sont remis au jury. 

    • Interdictions : Sont interdits les téléphones portables ou tout système communicant, les documents personnels. 

    Seuls les livres disponibles à la bibliothèque sont autorisés. 

    Les candidats auront à amener un stylo et leur CNI uniquement. 

    Il est interdit aux candidats de communiquer entre eux durant les épreuves ; ceci concerne également toutes les formes de communications utilisant les ordinateurs, leurs logiciels, les réseaux et supports informatiques. 

    ShapeIl est aussi interdit aux candidats de communiquer avec des tiers par tout procédé de télécommunication, de consultation de données à distance. 

    3.2 - Critères d'évaluation 

    • Connaissances, contenu informatique : 

    • Reconnaître les éléments du programme qui pourraient être utiles dans la leçon, 

    • Être capable d'énoncer avec précision et rigueur les définitions et les résultats en relation avec la leçon, 

    • Savoir élaborer une démonstration des résultats présentés dans la leçon. 

    • Programmation : Maîtrise de la programmation en Python. 

    • Illustration informatique Incitation à utiliser les routines des logiciels fournis, commenter les résultats en lien avec la leçon. 

    • Qualités pédagogiques : Organisation (gestion du temps, tableau, ordinateur...), Annoncer un plan, Présenter une stratégie d'illustration numérique (même si "ça ne marche pas"). 

    • Pertinence des réponses aux questions des examinateurs. 

    3. - Liste des leçons proposées par le jury 

     

  2. Algorithmes d'analyse hors contexte. 
  • Algorithmes de recherche et structures de données associées. 
  • Algorithmes gloutons : problèmes d'optimisation. 
  • Algorithmes Multithread. 
  • Algorithmes pour les graphes. Exemples et applications. 
  • Algorithmique du texte, recherche de motifs : exemples et applications. 
  • Analyse des algorithmes : complexité. Exemples. 
  • Analyse lexicale et syntaxique. Application à la compilation. 
  • Automate minimal. Algorithmes pour le calcul de l'automate minimal. 
  • Automate pour la recherche d'un motif dans un texte. Algorithme de Knuth MorrisPratt ; étude et complexité. 
  • Automates finis Non déterministes, automates avec transitions vides, algorithmes de construction d'un automate déterministe équivalent. 
  • Calculabilité : équivalence des modèles de calcul. 
  • Calculabilité : Fonctions récursives. 
  • Classes et algorithmes probabilistes. 
  • Combinatoire des mots. 
  • Complexité algorithmique. Considérations de base sur le temps. 
  • Complexité algorithmique. NP-complétude. 
  • Compression de données : exemples et applications. 
  • Décidabilité, indécidabilité. Calculabilité. 
  • Diviser pour régner : exemples et applications. 
  • Équations ensemblistes. 
  • Exemples d'algorithmes de tri et réseaux de tri. Complexité. 
  • Exemples de preuves de programmes : correction et terminaison. 
  • Expressions régulières : Propriétés et méthodes de calcul, expressions régulières à partir d'un automate fini. 
  • Grammaires hors contexte et Automates à pile. 
  • Grammaires LL(k) et LR(k). 
  • Graphes et connexité : Algorithmes pour les composantes connexes et fortement connexes. 
  • Hiérarchie de Chomsky. 
  • Langages et grammaires hors contexte. 
  • Langages rationnels et automates finis. 
  • Langages rationnels. Exemples et applications. 
  • Logique du premier ordre : Syntaxe et sémantique. 
  • Logique du premier ordre : Systèmes formels, Formes normales, Systèmes de preuve. 
  • Logique propositionnelle : syntaxe et sémantique - satisfaisabilité et applications. 
  • Logique propositionnelle : syntaxe et sémantique, Formules du calcul propositionnel : représentation, formes normales, satis-faisabilité. Applications. 
  • Logique propositionnelle : systèmes formels de preuve. 
  • Logique propositionnelle : Formes normales et clausales, calcul de résolution. 
  • Modèles de calcul : lambda-calcul. 
  • Modèles de calcul : machines de Turing. 
  • Programmation Dynamique : exemple et applications. 
  • Propriétés des langages hors contexte (formes normales I lemme de l'étoile/ Propriétés de clôture). 
  • Sémantique des langages de programmation. 
  • Structure de données. Exemples et applications. 
  • Systèmes de preuve en logique du premier ordre. 
  • Théories en logique du premier ordre : Complétude et décidabilité. 
  •  

    Commentaires