Cours de Python pour des collégiens (5e)

Recherche d'idées de projets et de T.P.

L’auteur de ce sujet a trouvé une solution à son problème.

Reprise du dernier message de la page précédente

Cette réponse a aidé l’auteur du sujet

+1 pour le convertisseur d'age c'est simple et en plus les conversations de tout type sont au programme de math de 5e

LudoBike

Même pour des 5ème, ça prendra 3 minutes à faire ça, limite un petit exercice pour préparer au projet, et découvrir quelques petites notions, comme input et int, sinon je vois pas la plus-value en tant que projet.

Je continue à penser qu'il faudra un travail avec une partie graphique, c'est important que l'élève voit le fruit de son travail par l'image et non écrit dans une console…

Turtle est sympa, on pourrait par exemple dessiner un dessin sympa à l'aide de coordonnées définies préalablement par le professeur.

Pour les nombres premiers pas de bol, c'est la 3ème (page 372)… mais sur le principe faire des cours de programmation pour se retaper des maths, ça va en gaver pas mal !

Ça reste rudimentaire, mais ça peut faire une bonne introduction. Ils verraient leur âge autrement que comme un simple nombre à deux chiffres (12 ans, ça fait 4483 jours), et ils pourraient s'initier aux calculs mathématiques.

rezemika

Faire de l'informatique pour faire des mathématiques, c'est motivé la moitié des élèves à ne plus choisir cette branche, malgré que se soit un facteur pour ce métier, ça en reste pas moins des 5ème avec des notions très basiques et frileuses dans cette matière.

Mouais. Je rejoins quand même c_pages sur l'idée qu'en 5e, il vaut mieux axer son cours sur l'aspect ludique. Surtout dans le contexte d'un cours au collège !

nohar

Le ludique c'est toujours mieux, mais c'est pas toujours possible malheureusement…

+0 -0

Cette réponse a aidé l’auteur du sujet

J'ai plusieurs petites idées pour toi:

La première (qui est je pense un petit gros projet) c'est la vérification d'un mot de passe. C'est un projet que je compte intégré à un tuto car il fait voir de nombreuses notions: boucle for, bloc des conditions, test d'appartenance et de comparaison, fonction intégrée (len, print, input), boucle while (tant que le mdp ne répond pas aux critères on réitère). En parlant de critères, ça serait du style: avoir une taille entre 8 et 12, contenir au moins une majuscule, une minuscule, un nombre et un caractère spécial.

En deuxième, c'est la table de multiplication. C'est l'exo qui se trouve dans le tuto d'OC et que je trouve très ludique pour comprendre l'utilité des fonctions. Partir juste d'un cas particulier (la table de 7) et aller en direction d'un programme plus général (utilisation d'une fonction, choix de la table, valeur par défaut pour l'intervalle de la table (min=1, max=10))

Dernière idée, un petit programme de révision (avec petite interface). L'objectif de celui-ci est de poser une question (aléatoire) à l'utilisateur et celui-ci doit donner la bonne réponse. Ça peut particulièrement être ludique pour le calcul des puissances (11*11 ça fait combien?) où pour réviser des mots d'anglais (donc création d'un dico). Et l'ajout d'un compteur de score permettra de créer une petite compétition :)

+0 -0

elegance, j'aime bien tes idées, mais dans la pratique la seconde n'est pas réalisable en console à moins de threader le programme et/ou de leur faire manipuler le temps d'exécution et les flux standards du processus, du coup c'est un peu violent.

Édité par nohar

I was a llama before it was cool

+0 -0
Auteur du sujet

Merci à tous pour vos réponses, j'avoue que je n'en attendais pas autant ! :)

Je ne cite pas pour ne pas alourdir, mais je réponds à tout le monde (enfin, j'espère n'oublier personne).

  • Le convertisseur d'âge c'est déjà prévu, mais plutôt dans le cadre d'un petit exercice d'application directe, comme le disait fred1599. À mon avis, c'est un peu juste pour en faire un vrai T.P. ou mini-projet.
  • Le livre dont vous êtes le héros, j'en prends note. Ça peut être amusant de mettre ça en relation avec les cours de français, à voir selon les centres d'intérêt des élèves que j'aurai.
  • La formule de Luhn, idem : je garde sous le coude et selon leurs centres d'intérêt, j'aviserai. Le crible d'Eratothène, je suis assez assez mitigé. J'ai tendance à penser que se refaire le cours de maths en programmation, y a quand même plus réjouissant pour un premier contact… Même si bien sûr il faut se faire un peu violence de temps en temps quand on est élève.
  • elegance, tes idées sont chouettes, mais ça paraît un peu chaud de parler de manipulation du temps dès le début, non ?
  • La vérification d'un mot de passe, ça par contre j'y avais déjà pensé et j'aime bien. Du point de vue programmation, ça ressemble un peu au pendu, mais en plus simple ; et c'est un peu plus réaliste du point de vue de la difficulté.

<hs>

Tiens je savais pas que ça s'appelait le crible d'Érotosthène mais je l'avais déjà utiliser dans un exercice de codingame en le trouvant moi même (j'étais assez fier d’ailleurs)

</hs>

Sinon pour revenir dans le sujet c'est pas un peu trop simple la vérif d'un mot de passe, ça se résume en une simple boucle je me trompe ?

« La Nature est un livre écrit en langage mathématique », Galilée

+0 -0

Sinon pour revenir dans le sujet c'est pas un peu trop simple la vérif d'un mot de passe, ça se résume en une simple boucle je me trompe ?

LudoBike

Tout à fait d'accord avec toi, ça peut être à la rigueur un exercice d'entraînement sur les boucles. La comparaison de chaînes étant relativement simple en python. À moins de rendre cela graphique est de créer une petite fenêtre de connexion à un pseudo serveur.

Le pendu peut-être pas mal avec un gugusse rigolo, en train de se faire pendre, tout cela étant graphique, il y a un minimum de travail, mais certaines choses difficiles peuvent être préalablement travaillées par le professeur pour simplifier et rendre le projet viable par ses élèves.

+1 -0

De même que si un programme semble ambitieux ça peut devenir un exemple travaillé : le prof résoud l'exo et écrit le programme en live avec les élèves, en expliquant son raisonnement, en posant des questions, en faisant discuter entre eux les élèves si ils ne sont pas d'accord… Sans les laisser seuls.

C'est pas mal pour les faire réfléchir à un problème sans les livrer à eux mêmes. Et rendre le cours vivant.

Édité par nohar

I was a llama before it was cool

+4 -0
Auteur du sujet

<hs>

Tiens je savais pas que ça s'appelait le crible d'Érotosthène mais je l'avais déjà utiliser dans un exercice de codingame en le trouvant moi même (j'étais assez fier d’ailleurs)

</hs>

Sinon pour revenir dans le sujet c'est pas un peu trop simple la vérif d'un mot de passe, ça se résume en une simple boucle je me trompe ?

LudoBike

Je pensais plutôt à des tests de robustesse : vérifier qu'une chaîne de caractères compte plus de 12 caractères, contienne des caractères spéciaux, des majuscules et des chiffres.

Ça reste élémentaire, mais si je les laisse en autonomie totale ou quasi-totale, je pense que ça peut occuper quelques séances.

Je pensais plutôt à des tests de robustesse : vérifier qu'une chaîne de caractères compte plus de 12 caractères, contienne des caractères spéciaux, des majuscules et des chiffres.

Ça reste élémentaire, mais si je les laisse en autonomie totale ou quasi-totale, je pense que ça peut occuper quelques séances.

c_pages

Ok c'est effectivement plus intéressant comme ça, après est-ce que tu comptes leur faire utiliser des fonctions build-in pour vérifier la présence (ou non) de certains caractères ?

« La Nature est un livre écrit en langage mathématique », Galilée

+0 -0
Auteur du sujet

Salut à tous !

J'ai pas mal réfléchi, et j'ai choisi quatre projets à proposer au fil de l'année, de difficultés et de tailles croissantes :

  • vérificateur de robustesse pour un mot de passe en premier. C'est un tout premier projet, presque un T.P., que je proposerai avant de voir la notion de fonctions.
  • un calculateur de clé de Luhn en deuxième T.P./projet, cette fois avec utilisation des fonctions, mais pas encore des modules ;
  • en troisième, un jeu de pierre/feuille/ciseaux contre l'ordinateur, avec utilisation des modules et des exceptions ;
  • enfin, et ça sera le gros projet de fin d'année : un petit programme de gestion des élections par voie électronique. Nul réseau ici, il s'agit d'un programme en local qui utilise des fichiers pour enregistrer la liste des électeurs, des candidats et des votants. Il utilise un peu tout : fichiers, exceptions, fonctions, etc. C'est un projet qui me semble intéressant car il se mêle directement à la vie des collégiens, pour qui le rôle de délégué de classe est assez important.

Comme vous le voyez, j'ai adopté quelques-unes de vos suggestions, et d'autres n'apparaissent pas dans la liste mais me serviront pour donner plein d'exemples au fil de l'année. Merci à tous pour vos idées et vos interventions, vous êtes les plus beaux ! <3

Ajout — Ah, et du coup mon problème est résolu. :)

Modification (17 h 25) — Typo.

Édité par c_pages

Petit message comme ça (même si tu as tes idées de tp) : un tp utilisant Pygame ? genre un morpion (ou un snake)

De 1/ c'est super intéressant, parce qu'ils vont découvrir la programmation graphique, réalisation de jeu, ça touche à énormément de chose (boucle, exception, ouverture d'image, vérification de leur existence (donc modules) … etc)

de 2/ ça leur donnera sûrement envie de continuer à apprendre après :)

Et pis tant qu'on y est, pourquoi ne pas corser le truc en demandant d'utiliser des équations pour calculer des trajectoires :P ?

Python is good | CV | Unamed (C++14/SFML2.5)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte