La SDL pour l’apprentissage de la programmation

, par Jean-Christophe Dagnet

Professeur expérimentateur

  • Jean-Christophe Dagnet
  • Lycée Louis Bascan – Rambouillet (78)

Niveau - Thèmes

  • Lycée
  • Première NSI
  • Langages et programmation

Introduction

Nous présentons ici des activités permettant d’appréhender la programmation Python sous une forme graphique, en utilisant une bibliothèque SDL (pygame) pour analyser, modifier, créer des scripts.

Contenus disciplinaires

  • Langages et programmation : utilisation de bibliothèques (utiliser la documentation d’une bibliothèque), constructions élémentaires (séquences, affectation, conditionnelles, appels de fonction)
  • Compétences exigibles : bases de la programmation procédurale
  • Capacité numérique : bases de la programmation

Compétences

  • Décomposer un problème en sous-problèmes, reconnaître des situations déjà analysées et réutiliser des solutions ;
  • Mobiliser les concepts et les technologies utiles pour assurer les fonctions d’acquisition, de mémorisation, de traitement et de diffusion des informations ;
  • Développer des capacités d’abstraction et de généralisation.

Objectifs disciplinaires

  • Analyser un programme en Python
  • Modifier un programme pour répondre à une problématique
  • Créer un programme

Description succincte de l’activité

Les élèves ouvrent leur IDLE avec un programme codé en Python et l’exécutent.
Ils découvrent la fenêtre graphique (SDL), analysent le programme de base en fonction de l’affichage et effectuent des modifications.
Ils créent ensuite leurs propres scripts afin de répondre aux attentes des exercices proposés par l’enseignant.

Découpage temporel de la séquence

Séance 1 : bases de la programmation

  • 10 minutes de lecture
  • 15 minutes d’analyse de programme
  • 1 heure de création de programmes en fonction des exercices proposés
  • 20 minutes de création de programmes avec gestion de la souris

Séance 2 : structures de contrôle conditionnelles

  • 20 minutes de lecture
  • 1 heures 30 de programmation en fonctions des exercices proposés

Pré-requis

  • Initiation à la programmation python (variables, constantes, types, affectations)
  • Notions sur les tuples

Outils utilisés / Matériel

  • Un ordinateur équipé d’un IDLE
  • La bibliothèque SDL (native sous EduPython)

Gestion du groupe - Durée estimée

  • Classe entière
  • Présentiel

En autonomie avec l’aide du professeur. L’entraide entre élèves est vivement conseillée.

Déroulement des séquences

Voir le fichier joint

Retour d’expérience

Les plus-values pédagogiques (enseignants / élèves)
  • Apprentissage ludique de la programmation.
  • Autonomie des élèves dans l’apprentissage de la programmation et la conception de scripts.
  • Selon les élèves : " très bonne méthode d’apprentissage, facilement compréhensible". Même constat de la part d’élèves déficients visuels qui, malgré leur handicap, ont apprécié la méthode.
Les points de vigilance
  • La notion de tuples requiert un temps d’apprentissage dédié.
  • Les élèves ne suivant pas d’autre spécialité scientifique doivent être particulièrement accompagnés, par exemple sur le traitement des coordonnées d’un point ou dans la mise en œuvre de certains calculs.
  • La mise en route de la première activité peut-être longue, en raison de l’utilisation de deux bibliothèques (pygame et la bibliothèque personnelle graphique.py).
    En effet, le tracé des formes géométriques requière une certaine vigilance quand aux paramètres des différentes procédures assurant ces tracés.
    Le rafraichissement de l’écran n’est pas automatique et doit être implémenté (pygame.display.flip()).
Les pistes pour aller plus loin ou généraliser la démarche
  • Ces activités de programmation graphique peuvent également être utilisées pour appréhender les structures de contrôle itératives et les fonctions.
  • La démarche est facilement adaptable en mode projet, par exemple pour créer de petits jeux.

Partager

Imprimer cette page (impression du contenu de la page)