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