Skip to content

(French) Travaux pratiques pour apprendre les bases de la programmation tout en s'amusant avec Python 🐍

License

Notifications You must be signed in to change notification settings

coolcornucopia/python-travaux-pratiques

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

           /^\/^\
         _|__|  O|
\/     /~     \_/ \
 \____|__________/  \
        \_______      \
                `\     \                 \
                  |     |                  \
                 /      /                    \
                /     /                       \\
              /      /                         \ \
             /     /                            \  \
           /     /             _----_            \   \
          /     /           _-~      ~-_         |   |
         (      (        _-~    _--_    ~-_     _/   |
          \      ~-____-~    _-~    ~-_    ~-_-~    /
            ~-_           _-~          ~-_       _-~
               ~--______-~                ~-___-~

from asciiart.eu

Python - Travaux Pratiques

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 😄...

Notes pour l'encadrant/parent/enseignant

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 :-)

Pour quel age? Combien de temps?...

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...

Configurer l'éditeur

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)

Convertir "Travaux pratiques sur Python" du markdown en html

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.

Dark mode ou light mode?

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/

Imprimer les cheat sheets Python

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...

Personnaliser les travaux pratiques

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 musique a['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)

Des commentaires, des remarques, des questions?

N'hésitez pas à me contacter à l'adresse coolcornucopia@outlook.com.

-- Peace 😄 coolcornucopia

Footnotes

  1. Python pour l'électronique avec MicroPython.

  2. Exemples de Python avec MineCraft .

About

(French) Travaux pratiques pour apprendre les bases de la programmation tout en s'amusant avec Python 🐍

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published