Prérequis et objectifs
Résultats attendus
Programmer et automatiser des tâches avec Python (Tosa)
Prérequis de la formation
- Avoir un ordinateur connecté à Internet et une webcam (pour les formations en distanciel) - Maitriser l’outil informatique et Windows - Pour le niveau avancé, avoir suivi la formation « LANGAGE DE PROGRAMMATION PYTHON - niveau opérationnel » ou avoir de bonnes bases en programmation.
Diplôme
Programmer et automatiser des tâches avec Python (Tosa)
Objectifs de la formation
Les domaines du test «?Programmer et automatiser des tâches avec Python (Tosa)?» évalués sont?:
Domaine 1?: Langage et syntaxe
Les compétences évaluées?:
- 1.1 Maîtriser la syntaxe de base et les structures de contrôle : maîtriser la syntaxe de base de Python, incluant les boucles, les conditionnels et la gestion des erreurs, pour développer des programmes robustes et efficaces.
- 1.2 Définir et utiliser des fonctions : créer des fonctions en Python, comprendre la portée des variables, gérer les arguments et retours, et utiliser les fonctions lambda pour simplifier le code et améliorer sa lisibilité.
- 1.3 Appliquer des concepts avancés de programmation : utiliser les décorateurs, générateurs, compréhensions de listes et techniques asynchrones pour écrire un code Python plus performant et concis.
Domaine 2?: Structures de données et objets
Les compétences évaluées?:
- 2.1 Manipuler des types de données primitifs et composés : utiliser les listes, tuples, dictionnaires et ensembles, ainsi que les opérations courantes sur ces structures pour organiser et manipuler efficacement les données en Python.
- 2.2 Utiliser la programmation orientée objet : créer des classes, utiliser l'héritage et le polymorphisme, et appliquer des principes de conception avancée tels que les classes abstraites et les interfaces pour structurer des programmes orientés objet, facilitant la réutilisation et la maintenance du code.
- 2.3 Gérer et optimiser les données : manipuler les données de manière avancée avec des bibliothèques comme pandas et optimiser les structures de données pour améliorer les performances des programmes Python.
Domaine 3?: Modules et packages
Les compétences évaluées ?:
- 3.1 Utilisation et création de modules : importer des modules existants, créer de nouveaux modules et structurer le code en modules réutilisables pour favoriser la modularité et la maintenabilité en Python.
- 3.2 Développer et distribuer des packages : créer et configurer des packages avec setuptools pour assurer leur distribution efficace.
- 3.3 Gérer les environnements et les dépendances : utiliser des environnements virtuels, gérer les dépendances avec pip et automatiser les configurations via Docker pour garantir des environnements de développement cohérents et reproductibles.
Domaine 4?: Optimisation de code
Les compétences évaluées ?:
- 4.1 Analyser et profiler le code : utiliser des outils de mesure pour analyser la performance du code, identifier les goulots d'étranglement, et appliquer des méthodologies afin d'optimiser l'efficacité du programme.
- 4.2 Améliorer l'efficacité du code : appliquer des techniques pour réduire la complexité du code, optimiser les boucles et utiliser efficacement les ressources afin d'améliorer la performance globale des programmes.
- 4.3 Tester et déboguer : écrire des tests unitaires et d'intégration, utiliser des frameworks comme 'pytest' et appliquer des stratégies avancées de débogage pour garantir la qualité et la fiabilité du code.
Objectifs de sortie
Niveau basique (score Tosa 351 à 550)
- Utiliser les fonctionnalités de contrôles de flux afin d'automatiser un traitement de données conditionnels et/ou répétitifs.
- Reconnaître et créer des objets simples de type intégrés (built-in), en vue de créer des programmes manipulant des données.
- Maîtriser les concepts liés aux modules en vue d'inclure des fonctionnalités d'un module à un programme.
- Stocker et traiter simultanément plusieurs données, en vue de créer un flux de traitement de données simples adapté.
Niveau opérationnel (score Tosa 551 à 725)
- Créer un programme pour des traitements complets de données, en utilisant les fonctionnalités avancées des contrôles de flux et des opérations arithmétiques.
- Reconnaître les objets structurés de type intégré (list, set, dict), afin d'effectuer des traitements de multiples variables simples.
- Manipuler les objets intégrés simples et structurés et les assembler dans le but de créer des fonctions simples et réutilisables.
- Sélectionner et importer des fonctions spécifiques d'un package de l'API afin de les réutiliser dans un traitement de données.
- Créer un package simple complet pour créer des fonctionnalités partageables et réutilisables.
- Modéliser un problème et automatiser des manipulations de données, afin de traiter un volume important ou complexe de données.
Niveau avancé (score Tosa 726 à 875)
- Connaître les règles syntaxiques et sémantiques de Python afin de créer des programmes clairs et réutilisables.
- Maîtriser les outils d'entrée-sortie, dans le but de lire et modifier des documents externes au programme.
- Maîtriser les spécificités des types intégrés afin de traiter efficacement et de manière claire des grands volumes de données.
- Créer des fonctions documentées, des classes et leurs méthodes associées, dans le but de créer des fonctionnalités intégrables dans d'autres programmes.
- Importer des packages composés pour exploiter l'ensemble des fonctionnalités incluses.
- Utiliser les packages fondamentaux de la bibliothèque standard afin de manipuler efficacement des données externes habituelles.
- Implémenter des structures de données adaptées et choisir les fonctions adaptées afin de concevoir des programmes à la complexité algorithmique maîtrisée.
Domaines
Contenu
NIVEAU BASIQUE
MODULE 1 : Langage et syntaxe
- Identifier des types d'objets simples
- Connaître les principaux cas d'usage de Python
...
MODULE 2 : Structures de données et objets
- Reconnaître tous les objets structurés de type intégré
- Appliquer les fonctions min, max et len
- Créer et manipuler un dictionnaire et un ensemble
MODULE 3 : Modules et packages
- Importer un module spécifique d'un package
- Importer et utiliser des fonctions d¿un module
MODULE 4 : Optimisation de code
- Lire une et plusieurs données d'entrée
- Choisir les types de variables adaptés au problème
- Combiner des types de données différents
NIVEAU OPERATIONNEL
MODULE 1 : Langage et syntaxe
- Connaître les différentes versions de Python
- Maîtriser l'ordre des opérations
- Créer les variables nécessaires
...
MODULE 2 : Structures de données et objets
- Documenter une fonction
- Effectuer une itération sur un objet de type structuré
- Manipuler les fonctions associées aux objets structurés
- Créer des fonctions
MODULE 3 : Modules et packages
- Connaître et utiliser les packages math et random
- Créer un module
- Distinguer les composants internes des modules et les principaux packages de la bibliothèque standard
MODULE 4 : Optimisation de code
- Trier des données
- Modéliser un graphe et l'explorer
- Créer des combinaisons de boucles
...
NIVEAU AVANCE
MODULE 1 : Langage et syntaxe
- Distinguer les spécificités coeur du langage Python
- Maîtriser les littéraux
- Connaître les règles syntaxiques sur les variables
...
MODULE 2 : Structures de données et objets
- Définir des structures par compréhension
- Choisir le bon type de variable en fonction de la mutabilité
- Créer des f-strings sur différents types
...
MODULE 3 : Modules et packages
- Naviguer dans un package
- Installer des nouveaux packages
- Distinguer les cas d'usages de la plupart des packages de la bibliothèque standard
- Réutiliser des structures de données et fonctions de la bibliothèque standard
MODULE 4 : Optimisation de code
- Créer des structures de données optimisées
- Utiliser les fonctions standards les plus performantes
...