Guide de transition : De Scratch à Python
En classe de 4e et 3e (fin de Cycle 4), les élèves abordent la transition entre la programmation visuelle par blocs et l'écriture de code textuel en Python.
🧭 Tableau comparatif côte à côte
| Concept algorithmique | Dans Scratch (Blocs) | En Python (Texte) | Point de vigilance pour l'élève |
|---|---|---|---|
| Affichage | dire [Bonjour !] pendant 2 secondes | print("Bonjour !") | Ne pas oublier les parenthèses et les guillemets |
| Variable & Affectation | mettre [score v] à 10 | score = 10 | En Python, le signe = est une affectation, pas une égalité mathématique |
| Séquence & Incrément | ajouter (1) à [score v] | score = score + 1 (ou score += 1) | Comprendre la réassignation de variable |
| Boucle bornée | répéter (5) fois [...] | for i in range(5): | Indentation obligatoire (4 espaces) et deux-points : |
| Boucle infinie | répéter indéfiniment [...] | while True: | Nécessite un break ou une condition d'arrêt |
| Condition simple | si <score > 10> alors [...] | if score > 10: | L'indentation délimite le corps de la condition |
| Condition alternative | si <...> alors [...] sinon [...] | if ...: / else: | Aligner else: verticalement avec if: |
| Saisie utilisateur | demander [Ton âge ?] et attendre | age = int(input("Ton âge ? ")) | Conversion de type int() pour les nombres |
| Liste / Tableau | ajouter [Pomme] à [inventaire v] | inventaire.append("Pomme") | Les index commencent à 0 en Python (et 1 dans Scratch) |
| Fonction / Procédure | Bloc personnalisé définir Sauter | def sauter(): | Définition préalable requise avant l'appel |
🪜 Les 3 piliers d'une transition réussie
1. Ne pas présenter la traduction comme automatique
Insister sur le fait que la pensée algorithmique (décomposition, boucle, condition) reste rigoureusement identique. Seule la syntaxe d'expression change.
2. Dédramatiser les erreurs de syntaxe
Dans Scratch, il est impossible de faire une erreur de syntaxe car les blocs s'emboîtent physiquement. En Python, une virgule manquante ou une mauvaise indentation génère une erreur SyntaxError ou IndentationError. Apprendre à lire les messages d'erreur console.
3. Garder Scratch comme support de modélisation visuelle
Quand un problème algorithmique semble complexe en Python, inviter l'élève à esquisser d'abord la logique sous forme de blocs Scratch ou d'organigramme papier.
Expliquez que l'indentation en Python joue exactement le même rôle visuel que l'encoche intérieure
d'un bloc si ou répéter dans Scratch.
Dans Scratch, le premier élément d'une liste est à l'index 1 (élément 1 de liste). En Python, le
premier élément est à l'index 0 (liste[0]). C'est la source de bug la plus fréquente chez les
élèves !
📥 Téléchargements
🌐 Références et Ressources Complémentaires
Tutoriel Python 3 officiel francophone↗
Documentation de référence pour la syntaxe, les types de base et les structures de contrôle en Python 3.
France-IOI — Algorithmique et programmation au collège↗
Parcours d'exercices progressifs pour s'entraîner à la programmation textuelle et à la pensée algorithmique.
Programmes officiels du Cycle 4 — Algorithmique et programmation↗
Repères officiels sur la transition bloc-texte et les compétences visées en 4e et 3e.