Cette certification s'adresse aux personnes recherchant à attester un niveau de programmation en langage Python : développeurs informatiques souhaitant attester une compétence complémentaire à leur métier, et aux autres métiers souhaitant attester une compétence transversale : analyste de données, biostatisticien, cartographe, océanologue, trader, chercheur ...
Compétences attestées
C1 - Maitriser la syntaxe et la sémantique de Python afin d'écrire des programmes fonctionnels
C2 - Connaître les types de données fondamentaux (nombre, chaine de caractères, tuple, liste et dictionnaire) et les méthodes associées afin de ne pas ré-écrire des fonctionnalités déjà fournies par Python
C3 - Choisir le bon type en fonction de l'information à manipuler et du traitement à réaliser afin de traiter efficacement et de manière claire des grands volumes de données
C4 - Connaître les fonctions intégrées de Python (sort, len, abs, chr, ord ...) afin d'accéder aux fonctionnalités associées
C5 - Maitriser les structures de contrôle conditionnelles et répétitives afin d'automatiser un traitement de données
C6 - Utiliser l'imbrication des différentes structures de contrôle en vue d'appliquer un traitement à un jeu de données
C7 - Créer des fonctions spécifiques utilisant les fonctions et les classes élémentaires génériques fournies par le langage
C8 - Importer des modules existants et exploiter les fonctions et classes incluses
C9 - Créer son propre module Python afin d'écrire du code ré-utilisable depuis un autre programme
C10 - Créer son propre paquet Python afin de structurer plusieurs modules dans une hiérarchie de répertoires et d'espaces de noms
C11 - Connaitre le principe des espaces de noms (global, local, pré-défini) afin de comprendre la portée des variables et de segmenter la mémoire en vue d'écrire des programmes sécurisés
C12 - Documenter l'utilité et l'usage d'une fonction, d'un module et d'un paquet en vue d'améliorer sa qualité et sa ré-utilisabiilité
C13 - Lire et écrire un fichier en format texte ou en format binaire afin d'appliquer un traitement sur les données lues ou écrites
C14 - Connaître les grands principes de la programmation orientée objet (encapsulation, héritage ...) et les notions associées (constructeur, attributs, méthodes ...) en vue de les mettre en oeuvre en Python afin d'écrire des programmes modulaires et évolutifs
C15 - Définir ses propres classes d'objet en vue de créer des objets correspondants parfaitement aux données manipulées
C16 - Documenter une classe et ses méthodes en vue d'améliorer sa qualité et sa ré-utilisabiilité
C17 - Intercepter une exception (erreur) qui s'est produite en vue de la gérer pour que le programme continue de fonctionner normalement
C18 - Lever une exception afin de remonter une erreur via le mécanisme de propagation des exceptions et pouvoir ainsi la gérer à un endroit différent du programme
C19 - Interagir avec l'interpréteur Python ou avec le système de fichiers (modules sys, os, os.path)
C20 - Ecrire des expressions rationnelles (expressions régulières) afin de réaliser des recherches de correspondances, des remplacements, des extractions très sophistiquées sur les chaines de caractères
C21 - Transposer en langage Python un algorithme décrit dans un cahier des charges afin de mettre en oeuvre le besoin exprimé
C22 - Mettre en oeuvre les bonnes structures de données et écrire les fonctions adéquates pour concevoir des algorithmes d'une certaine complexité
C23 - Choisir les modules Python pertinents et savoir en mesurer les performances pour écrire des programmes manipulant rapidement de grands volumes de données
C24 - Respecter les règles de nommage Python décrites dans le PEP0008 et savoir utiliser un analyseur syntaxique de code afin d'écrire des programmes de qualité lisibles par d'autres développeurs
C25 - Identifier le code pertinent à tester et écrire des tests unitaires afin de réaliser des programmes stables et durables
Voie d'accès à la certification
Prérequis à la validation
Avoir acquis les fondamentaux de la programmation en langage Python suite à une formation continue ou à un apprentissage autodidacte.
Composition du jury — Formation continue, Candidature individuelle, VAE
Le jury est composé d'un surveillant (extérieur à l'organisme certificateur) vérifiant l'identité du candidat et s'assurant de l'absence de fraudes durant les épreuves théorique et pratique, d'un professionnel de la programmation en langage Python (extérieur à l'organisme certificateur) corrigeant les exercices réalisés par le candidat durant l'épreuve pratique, et d'un président (salarié de l'organisme certificateur ou extérieur) harmonisant les résultats des deux épreuves selon les comptes-rendus du surveillant et du professionnel.