Reformat course plan to markdown
This commit is contained in:
@ -1,180 +0,0 @@
|
|||||||
—
|
|
||||||
title: Plan de formation Python Initiation
|
|
||||||
author: Steve Kossouho
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
= Programme de Python Initiation
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
La formation s'adresse à des quasi débutants en programmation, ou curieux d'en savoir un peu plus sur les bases de Python.
|
|
||||||
Pour les plus avancés, le rythme change (uniquement si le groupe est suffisamment homogène).
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Démarrage
|
|
||||||
|
|
||||||
* Tour de table et présentation
|
|
||||||
* Logistique, planning et administratif
|
|
||||||
* Rappel du programme
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Découvrir Python
|
|
||||||
|
|
||||||
* Nature de Python et court historique
|
|
||||||
* Versions de Python et différences
|
|
||||||
* Découvrir la ligne de commande et le shell
|
|
||||||
* Environnements de développement intégrés
|
|
||||||
* Créer un nouveau projet avec PyCharm
|
|
||||||
|
|
||||||
`lundi 10h30 si pas de pb d'install`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Découvrir le langage
|
|
||||||
|
|
||||||
* Syntaxe de base
|
|
||||||
* Types de base : chaînes, nombres
|
|
||||||
* Variables et expressions
|
|
||||||
* Contrôler ce que l'on exécute : conditions et boucles
|
|
||||||
* Découvrir les listes (et tuples, sets) + slicing
|
|
||||||
* Découvrir les dictionnaires
|
|
||||||
* Compréhensions (listes etc.)
|
|
||||||
* Opérations sur les chaînes : méthodes et formatage
|
|
||||||
|
|
||||||
`mardi 14h30 max`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Le droit aux erreurs
|
|
||||||
|
|
||||||
* Découvrir le concept d'exceptions
|
|
||||||
|
|
||||||
`mardi 15h45`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Découvrir les fonctions
|
|
||||||
|
|
||||||
* Découvrir l'utilité des fonctions
|
|
||||||
* Découvrir la syntaxe
|
|
||||||
* Référence vs appel de fonction
|
|
||||||
* Valeurs de retour d'une fonction
|
|
||||||
* Passer des arguments aux fonctions
|
|
||||||
|
|
||||||
`mercredi 10h00`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Découvrir la structure du code au-delà du simple script
|
|
||||||
|
|
||||||
* Expliquer ce qu'est pip, venv (avec exemples) et aussi conda
|
|
||||||
* Modules et packages
|
|
||||||
* Bibliothèque standard python et imports
|
|
||||||
* Exemple : faire un peu de calcul avec la bibliothèque standard
|
|
||||||
* Réutiliser votre propre code
|
|
||||||
* Extra : virtualenv et pip)
|
|
||||||
|
|
||||||
`mercredi 12h00`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Types supplémentaires
|
|
||||||
|
|
||||||
* Découvrir les types heure+date et intervalle de temps
|
|
||||||
* Convertir depuis du texte ou vers du texte
|
|
||||||
|
|
||||||
`mercredi 14h30`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Découvrir la programmation orientée objet
|
|
||||||
|
|
||||||
* Intérêts de la programmation objet
|
|
||||||
* Découvrir la syntaxe
|
|
||||||
* Concepts d'attributs et de méthodes
|
|
||||||
* Différence entre une classe et ses objets
|
|
||||||
* Instancier avec une autre signature
|
|
||||||
* Découvrir l'héritage et le polymorphisme
|
|
||||||
* Bonus : Courte introduction aux décorateurs avec @staticmethod
|
|
||||||
* Bonus : Introspection (getattr, setattr, dir, isinstance, type)
|
|
||||||
* Bonus : Diagramme de classes UML
|
|
||||||
|
|
||||||
`mercredi 17h00`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
= Programme de Python Approfondissement
|
|
||||||
|
|
||||||
Même public que l'initiation : peu d'expérience en programmation ou curiosité quant à Python. Nécessite toutefois de connaître les bases du langage.
|
|
||||||
|
|
||||||
*Objectif* : aller un peu plus loin dans les bases de Python pour pouvoir traiter quelques données.
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Découvrir comment manipuler des fichiers texte
|
|
||||||
|
|
||||||
* Écrire et lire des fichiers (open/close)
|
|
||||||
* Écrire et lire des fichiers (gestionnaire de contexte)
|
|
||||||
* Formats : JSON
|
|
||||||
* Formats : CSV
|
|
||||||
* Extra : Parcours de fichiers (pathlib)
|
|
||||||
|
|
||||||
`jeudi 14h30`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Toucher du doigt les bases de données SQL avec DBAPI et SQLite3
|
|
||||||
|
|
||||||
* Exemple simple pour dialoguer avec une base SQL
|
|
||||||
* Ajouter et requêter des données simplement
|
|
||||||
* Bonus : ORMs (peewee)
|
|
||||||
|
|
||||||
`jeudi 17h00`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Documenter du code Python
|
|
||||||
|
|
||||||
* Comment on fait ?
|
|
||||||
* Qu'est-ce qu'on documente ?
|
|
||||||
* Comment on génère des fichiers HTML de documentation ? (pdoc3, sphinx)
|
|
||||||
* Bonus : Donner des indications sur le type des variables et arguments
|
|
||||||
|
|
||||||
`vendredi 10h45`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Faire sa première interface graphique avec Python
|
|
||||||
|
|
||||||
* Exemples d'outils pour les interfaces graphiques
|
|
||||||
* PySide6 avec Python (sous Linux)
|
|
||||||
* Écrire une fenêtre simple
|
|
||||||
* Interagir avec les contrôles (boutons, champs)
|
|
||||||
* Concevoir graphiquement une fenêtre et l'utiliser avec Python
|
|
||||||
|
|
||||||
`vendredi 15h45`
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Bonus : Aborder la journalisation
|
|
||||||
|
|
||||||
* Qu'est-ce que c'est ? Et pourquoi, pour qui, quand ?
|
|
||||||
* Exemple simple de journalisation
|
|
||||||
* Exemple configuré de journalisation dans un fichier
|
|
||||||
|
|
||||||
`vendredi 16h30` (selon possibilités)
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== Certifications
|
|
||||||
|
|
||||||
Au plus tard le vendredi à 15h30. Dure jusqu'à 17h30.
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
== That's all folks!
|
|
||||||
|
|
||||||
image:assets/images/x-outro-end.png[That's all folks!]
|
|
145
documentation/00-course-plan.md
Normal file
145
documentation/00-course-plan.md
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
---
|
||||||
|
title: Plan de formation Python Initiation
|
||||||
|
author: Steve Kossouho
|
||||||
|
---
|
||||||
|
|
||||||
|
# Programme de Python Initiation
|
||||||
|
|
||||||
|
La formation s'adresse à des quasi débutants en programmation, ou curieux d'en savoir un peu plus sur les bases de Python.
|
||||||
|
Pour les plus avancés, le rythme change (*uniquement si le groupe est suffisamment homogène*).
|
||||||
|
|
||||||
|
## Démarrage
|
||||||
|
|
||||||
|
- Tour de table et présentation
|
||||||
|
- Logistique, planning et administratif
|
||||||
|
- Rappel du programme
|
||||||
|
|
||||||
|
## Découvrir Python
|
||||||
|
|
||||||
|
- Nature de Python et court historique
|
||||||
|
- Versions de Python et différences
|
||||||
|
- Découvrir la ligne de commande et le shell
|
||||||
|
- Environnements de développement intégrés
|
||||||
|
- Créer un nouveau projet avec PyCharm
|
||||||
|
|
||||||
|
*lundi 10h30 si pas de pb d'install*
|
||||||
|
|
||||||
|
## Découvrir le langage
|
||||||
|
|
||||||
|
- Syntaxe de base
|
||||||
|
- Types de base : chaînes, nombres
|
||||||
|
- Variables et expressions
|
||||||
|
- Contrôler ce que l'on exécute : conditions et boucles
|
||||||
|
- Découvrir les listes (et tuples, sets) + slicing
|
||||||
|
- Découvrir les dictionnaires
|
||||||
|
- Compréhensions (listes etc.)
|
||||||
|
- Opérations sur les chaînes : méthodes et formatage
|
||||||
|
|
||||||
|
*mardi 14h30 max*
|
||||||
|
|
||||||
|
## Le droit aux erreurs
|
||||||
|
|
||||||
|
- Découvrir le concept d'exceptions
|
||||||
|
|
||||||
|
*mardi 15h45*
|
||||||
|
|
||||||
|
## Découvrir les fonctions
|
||||||
|
|
||||||
|
- Découvrir l'utilité des fonctions
|
||||||
|
- Découvrir la syntaxe
|
||||||
|
- Référence vs appel de fonction
|
||||||
|
- Valeurs de retour d'une fonction
|
||||||
|
- Passer des arguments aux fonctions
|
||||||
|
|
||||||
|
*mercredi 10h00*
|
||||||
|
|
||||||
|
## Découvrir la structure du code au-delà du simple script
|
||||||
|
|
||||||
|
- Expliquer ce qu'est pip, venv (*avec exemples*) et aussi conda
|
||||||
|
- Modules et packages
|
||||||
|
- Bibliothèque standard python et imports
|
||||||
|
- Exemple : faire un peu de calcul avec la bibliothèque standard
|
||||||
|
- Réutiliser votre propre code
|
||||||
|
- Extra : virtualenv et pip)
|
||||||
|
|
||||||
|
*mercredi 12h00*
|
||||||
|
|
||||||
|
## Types supplémentaires
|
||||||
|
|
||||||
|
- Découvrir les types heure+date et intervalle de temps
|
||||||
|
- Convertir depuis du texte ou vers du texte
|
||||||
|
|
||||||
|
*mercredi 14h30*
|
||||||
|
|
||||||
|
## Découvrir la programmation orientée objet
|
||||||
|
|
||||||
|
- Intérêts de la programmation objet
|
||||||
|
- Découvrir la syntaxe
|
||||||
|
- Concepts d'attributs et de méthodes
|
||||||
|
- Différence entre une classe et ses objets
|
||||||
|
- Instancier avec une autre signature
|
||||||
|
- Découvrir l'héritage et le polymorphisme
|
||||||
|
- Bonus : Courte introduction aux décorateurs avec @staticmethod
|
||||||
|
- Bonus : Introspection (*getattr, setattr, dir, isinstance, type*)
|
||||||
|
- Bonus : Diagramme de classes UML
|
||||||
|
|
||||||
|
*mercredi 17h00*
|
||||||
|
|
||||||
|
# Programme de Python Approfondissement
|
||||||
|
|
||||||
|
Même public que l'initiation : peu d'expérience en programmation ou curiosité quant à Python. Nécessite toutefois de connaître les bases du langage.
|
||||||
|
|
||||||
|
**Objectif** : aller un peu plus loin dans les bases de Python pour pouvoir traiter quelques données.
|
||||||
|
|
||||||
|
## Découvrir comment manipuler des fichiers texte
|
||||||
|
|
||||||
|
- Écrire et lire des fichiers (*open/close*)
|
||||||
|
- Écrire et lire des fichiers (*gestionnaire de contexte*)
|
||||||
|
- Formats : JSON
|
||||||
|
- Formats : CSV
|
||||||
|
- Extra : Parcours de fichiers (pathlib)
|
||||||
|
|
||||||
|
*jeudi 14h30*
|
||||||
|
|
||||||
|
## Toucher du doigt les bases de données SQL avec DBAPI et SQLite3
|
||||||
|
|
||||||
|
- Exemple simple pour dialoguer avec une base SQL
|
||||||
|
- Ajouter et requêter des données simplement
|
||||||
|
- Bonus : ORMs (peewee)
|
||||||
|
|
||||||
|
*jeudi 17h00*
|
||||||
|
|
||||||
|
## Documenter du code Python
|
||||||
|
|
||||||
|
- Comment on fait ?
|
||||||
|
- Qu'est-ce qu'on documente ?
|
||||||
|
- Comment on génère des fichiers HTML de documentation ? (*pdoc3, sphinx*)
|
||||||
|
- Bonus : Donner des indications sur le type des variables et arguments
|
||||||
|
|
||||||
|
*vendredi 10h45*
|
||||||
|
|
||||||
|
## Faire sa première interface graphique avec Python
|
||||||
|
|
||||||
|
- Exemples d'outils pour les interfaces graphiques
|
||||||
|
- PySide6 avec Python (*sous Linux*)
|
||||||
|
- Écrire une fenêtre simple
|
||||||
|
- Interagir avec les contrôles (boutons, champs)
|
||||||
|
- Concevoir graphiquement une fenêtre et l'utiliser avec Python
|
||||||
|
|
||||||
|
*vendredi 15h45*
|
||||||
|
|
||||||
|
## Bonus : Aborder la journalisation
|
||||||
|
|
||||||
|
- Qu'est-ce que c'est ? Et pourquoi, pour qui, quand ?
|
||||||
|
- Exemple simple de journalisation
|
||||||
|
- Exemple configuré de journalisation dans un fichier
|
||||||
|
|
||||||
|
*vendredi 16h30* (selon possibilités)
|
||||||
|
|
||||||
|
## Certifications
|
||||||
|
|
||||||
|
Au plus tard le vendredi à 15h30. Dure jusqu'à 17h30.
|
||||||
|
|
||||||
|
## That's all folks!
|
||||||
|
|
||||||
|

|
Reference in New Issue
Block a user