/^\/^\
_|__| O|
\/ /~ \_/ \
\____|__________/ \
\_______ \
`\ \ \
| | \
/ / \
/ / \\
/ / \ \
/ / \ \
/ / _----_ \ \
/ / _-~ ~-_ | |
( ( _-~ _--_ ~-_ _/ |
\ ~-____-~ _-~ ~-_ ~-_-~ /
~-_ _-~ ~-_ _-~
~--______-~ ~-___-~
from asciiart.eu
Python est le nom d'un langage de programmation, très utilisé dans beaucoup de domaines: internet, intelligence artificielle, analyse de données, électronique1... et MineCraft2!
Le but de ces travaux pratiques ("TP") est que l'enfant (ou l'adulte) apprenne quelques notions de programmation comme les chaînes de caractères, les variables, les listes, les conditions, les boucles, les classes... et cela, tout en s'amusant et en découvrant le formidable langage Python 😄...
Pour le moment, il y a les travaux pratiques suivants:
- tp1: Les bases de la programmation (afficher un message, les listes, les boucles, les conditions...).
Note: les informations suivantes fonctionnent sous Linux ET sous Windows, tout comme le TP lui-même :-)
Environ pour un enfant de 10 ans, mais cela varie beaucoup. Il faut au moins avoir son passeport b2i.
Pour la durée, la aussi c'est très variable, je préfère que l'enfant prenne son temps à essayer plutôt qu'il soit sous la contrainte d'avoir à finir au bout d'un temps donné, je préfère qu'il en fasse moins mais qu'il ait mieux compris et qu'il se soit plus amusé à créer avec ce qu'il a appris...
Le choix de l'éditeur est ici celui par défaut dans Python soit "IDLE" car je n'ai rien trouvé de plus simple.
- L'installation sous windows contient IDLE par défaut.
- Sous linux, il faut faire
sudo apt-get install idle-python
Configuration (menu Options/Configure IDLE):
- Police de caractères de taille 12 (je préfère que ça soit bien lisible)
- thème "IDLE Dark" (quelques notes sur ce point un peu plus bas)
- "At Startup" = "Open Edit Window" (pour pouvoir taper directement un programme)
- "At Start of Run (F5)" = "No Prompt" (éviter d'avoir des questions à chaque fois)
- "Auto-Squeeze Min. Lines" = "200" (pour pouvoir afficher des grandes images en ascii art)
Pour une utilisation hors ligne, il est possible de générer un fichier html ou pdf.
La syntaxe markdown de github est utilisée.
Pour la conversion en pdf ou en html, j'utilise l'éditeur atom.io avec le package markdown-preview-enhanced dont la procédure d'installation se trouve ici.Il est aussi possible d'utiliser l'éditeur Visual Studio Code avec le même package markdown-preview-enhanced.
⚠️ Je m'efforce de générer un fichier html à chaque mise à jour des travaux pratiques afin de vous éviter d'avoir à le regénérer par vous même :-).
Comme l'éditeur IDLE utilise un thème "Dark", je souhaitais que le fichier html soit lui aussi avec le thème Dark de github, pour cela, dans atom, menu "preferences", Packages, markdown-preview-enhanced, Settings et mettre le "Preview Theme" à "github-dark.css" + cocher "Print Background".
Ce package contient une aide sur la syntaxe markdown très complète ici ainsi que le support de nombreux graphiques (ditaa, Graphviz, PlantUML) et formats de sortie (pdf, html, ebook, png...).
Note: Le résultat des émoticons est plus joli avec le navigateur Chrome qu'avec Firefox mais c'est discutable :-)
⚠️ Avant la génération finale, ne pas oublier de générer le sommaire en haut du document.
Je préfère le dark mode comme décrit ci-dessus mais on peut aussi faire du light mode en suivant 'à l'inverse' la description des 2 paragraphes ci-dessus. Note: Il n'y a pas vraiment d'avantages ni de désavantages entre les deux, cf l'article suivant https://www.nngroup.com/articles/dark-mode/
Si vous le souhaitez, vous pouvez imprimer les cheat sheets Python et les donner aux élèves, c'est vous qui voyez... mais je ne le recommande pas pour le tp1 car les cheatsheets restent pour un usage plus régulier et non pour une découverte de la programmation...
- Les Cheat sheets Python (ou résumé des principales commandes sur une seule feuille):
- Cheatsheet pour le langage Python: lien direct vers le pdf ou le lien vers la page du site.
- Cheatsheet pour le langage Python Tortue: lien direct vers le pdf ou le lien vers la page du site.
Je trouve cela sympa de personnaliser les travaux pratiques, pour cela:
- Remplacer le prénom "Ethan/ethan" par celui de l'élève (attention aux majuscules/minuscules).
- Remplacer le prénom "Anna/anna" par celui de la sœur ou du frère de l'élève (attention aux majuscules/minuscules), adapter au mieux à la fratrie...
- Remplacer la date d'anniversaire
anniv = date(2009, 11, 13)
par celle de l'élève. - Remplacer le sport
a['sport'] = 'gym'
, l'instrument de musiquea['instrument'] = 'saxophone'
... - Ajouter des ascii arts qui plaisent à l'élève...
Voici ci-dessous des commandes pour rapidement personnaliser le document markdown ou html:
export DOC=tp1/"Travaux pratiques sur Python - Première partie.md"
#export DOC=tp1/"Travaux pratiques sur Python - Première partie.html"
# N'oubliez pas d'ajuster les commandes avant de les exécuter ;-)
# Sans majuscule ni accent pour les variables (var)
# Avec majuscules et accents pour le texte (txt)
sed -i 's/ethan/prenom/g' "$DOC" # Prénom de l'élève (var)
sed -i 's/Ethan/Prénom/g' "$DOC" # Prénom de l'élève (txt)
sed -i 's/soeur/frere/g' "$DOC" # Frère ou soeur de l'élève (var), si besoin
sed -i 's/anna/prenom2/g' "$DOC" # Prénom de la soeur ou du frère (var)
sed -i 's/Anna/Prénom2/g' "$DOC" # Prénom de la soeur ou du frère (txt)
sed -i 's/date(2009, 11, 13)/date(annee, mois, jour)/g' "$DOC"
sed -i 's/gym/sport/g' "$DOC" # Sport de l'élève (var)
sed -i "s/'saxophone'/'instrument'/g" "$DOC" # instrument de l'élève (var)
N'hésitez pas à me contacter à l'adresse coolcornucopia@outlook.com.
-- Peace 😄 coolcornucopia
Footnotes
-
Python pour l'électronique avec MicroPython. ↩
-
Exemples de Python avec MineCraft . ↩