Epreuve de maturité
Généralités
L'épreuve de maturité du cours d'OCI se présente sous la forme d'un examen oral composé de 15 minutes de préparation et de 15 minutes de présentation, autour d'une table, du travail réalisé lors de la préparation.
Chaque candidat répond à deux questions relevant de la matière enseignée durant les deux années de cours et appartenant à des domaines différents qui sont énumérés ci-dessous. Plus précisément, l'une des questions porte sur l'implémentation, l'analyse d'un code en langage Python ou l'analyse d'un algorithme de tri ou de recherche alors que l'autre question porte sur un aspect du cours de 4ème année (modélisation d'une base de données, interrogation d'une base de données avec le langage SQL, réalisation d'une page Web avec HTML-CSS, analyse d'une application Web écrite avec le module CherryPy).
La documentation nécessaire à l'évaluation est mise à disposition par l'examinateur au format papier. Cette documentation est composée des références suivantes aux langages de programmation étudiés:
L'entier de l'examen est réalisé sans ordinateur.
Matière évaluée
La matière de l'épreuve de maturité recouvre le programme de 3ème et de 4ème années dont la liste ci-dessous rappelle les têtes de chapitres. Les objectifs de chaque chapitre peuvent être consultés directement sur le site du cours.
Programmation en Python
- Notions élémentaires
Variable, affectation, type de données, conversion, opérateurs, expression
- Contrôle du flux
Structures conditionnelle, de répétition et de rupture de séquence, gestion d'erreurs, instruction composée, opérateur logique
- Fonctions
Fonction, procédure, argument, paramètre, lambda, module, variables locale et globale, processus récursifs et itératifs
- Structures composites
Types simple et composé, séquence, tableau associatif, chaîne de caractères, liste, tuple, dictionnaire, module random
- Fichiers
Stockage, chemin d'accès relatif et absolu, objet-fichier, ouverture, lecture, écriture, encodage
- Programmation orientée objet
Classe, objet, attribut, méthode, instanciation, constructeur, encapsulation, héritage, polymorphisme
- Interfaces graphiques
Widget, événement, gestionnaire, canevas, animation, module tkinter
Algorithmique
- Algorithmes de tri
Performances, tris élémentaires, tri par fusion, tri rapide
- Algorithmes de recherche
Performances, recherche séquentielle, recherche dichotomique
- Arbres binaires de recherche
Structure d'arbre, opérations sur les arbres, arbres AVL
Bases de données
- Principes de base
Base de données, table, champ, enregistrement, anomalie
- Modélisation
Entité, association, spécialisation, modèle EA, schéma relationnel, clés primaire et étrangère, intégrité référentielle
- Langage SQL
Requête, création de table, insertion, suppression, modification et recherche de données, fonctions et opérateurs, tri et regroupement de données, agrégation, sélection conditionnelle, jointure
- Interface de programmation
API, curseur, connexion, recherche, récupération et lecture de données
Internet et réseaux
- HTML
Serveur Web, navigateur, balise, attribut, lien hypertexte, type bloc et en-ligne
- CSS
Feuille de style, cascade, règle, propriété, code RGB, flux, positionnement flottant, absolu, fixe et relatif
- Application Web
Page dynamique, URL, formulaire, création automatisée de pages Web
- Réseaux
Réseau informatique, topologie, carte réseau, adresses physique et logique, concentrateur, commutateur, routeur, pare-feu, protocole de communication, modèle en couches, encapsulation
Exemple d'examen
Vous trouverez ici un exemple d'examen oral. Afin d'optimiser le temps de l'examen, il est conseillé de préparer en détail le problème 1 durant les 15 minutes de préparation et de le présenter en 5 minutes sous la caméra puis de passer les 10 dernières minutes de l'examen sur l'analyse du problème 2.