Courte description du projet : Le projet vise à intégrer la programmation Python dans l’enseignement de la théorie des nombres au lycée. À travers des scripts simples et une interface graphique développée avec PyQt5, il permet de rendre les notions de primalité, factorisation, PGCD, PPCM et nombres de Mersenne plus accessibles et interactives.
Acteurs du projet : MAJJAJ Mohamed – Groupe : 3
Année de formation : 2024-2025
Section : Lycée qualifiant
Filière : Mathématiques
Objectif principal du projet : Développer une approche pédagogique interactive pour l’étude des nombres premiers, de leur factorisation et des tests de primalité à l’aide de Python.
Publique cible :
  • Enseignants stagiaires en mathématiques

  • Élèves du lycée qualifiant passionnés de mathématiques ou programmation

Ressources (matériels & logiciels) :
  • Ordinateur

  • Python 3

  • Bibliothèques : sympy, math, random, PyQt5

  • Éditeur de code : VSCode, PyCharm

Masse horaire : 2 mois
Production finale :

Application éducative en Python avec interface PyQt5 permettant de :

  • Vérifier la primalité

  • Calculer PGCD et PPCM

  • Factoriser un entier

  • Générer des nombres de Mersenne

  • Rapport de projet

Encadré par : Pr. DERFOUFI Younes

Description détaillée du projet


Contexte et motivation :

L’enseignement de la théorie des nombres au lycée pose souvent des difficultés en raison de son caractère abstrait. Des notions telles que la primalité, la divisibilité, ou la décomposition en facteurs premiers restent difficiles à appréhender par des élèves, notamment lorsqu’elles sont enseignées de manière purement théorique.

Avec l’avènement des outils numériques et des langages de programmation accessibles comme Python, il devient possible de moderniser l’enseignement des mathématiques et de le rendre plus interactif. Ce projet s’inscrit dans cette dynamique en associant la théorie mathématique à la programmation informatique pour faciliter la compréhension et la manipulation de concepts fondamentaux.


Objectifs pédagogiques :

  • Illustrer les notions fondamentales de la théorie des nombres par des scripts Python simples.

  • Utiliser une interface graphique (via PyQt5) pour interagir sans coder.

  • Développer chez les élèves des compétences algorithmiques utiles pour les mathématiques et l’informatique.

  • Promouvoir une pédagogie active et expérimentale dans les cours de mathématiques.


Contenu du projet :

Le projet est structuré en deux parties principaux :

1. Partie théorique :

  • Définition et détection des nombres pairs et impairs.

  • Étude des critères de divisibilité.

  • Définition des nombres premiers et des tests de primalité (simples et avancés comme Miller-Rabin).

  • Décomposition en facteurs premiers.

  • Calcul du PGCD et du PPCM.

  • Étude des nombres premiers de Mersenne.

Chaque concept est accompagné de scripts Python utilisant principalement la bibliothèque sympy.

2. Partie pratique – Application graphique en PyQt5 :

Une application interactive a été développée avec l’interface PyQt5, permettant à l’utilisateur de :

  • Tester la primalité d’un entier ;

  • Factoriser un nombre ;

  • Calculer le PGCD/PPCM de deux entiers ;

  • Générer et analyser les nombres premiers de Mersenne.

Cette interface rend l’outil accessible aux non-programmeurs, notamment les élèves et enseignants qui souhaitent se concentrer sur les aspects mathématiques sans écrire de code.


Méthodologie adoptée :

  1. Étude des contenus mathématiques à intégrer.

  2. Écriture de scripts Python adaptés au niveau lycée.

  3. Conception et développement d’une interface PyQt5 conviviale.

  4. Tests pédagogiques avec des élèves et enseignants.

  5. Rédaction du rapport et présentation finale.


Valeur ajoutée du projet :

  • Pédagogie interactive : les élèves expérimentent les concepts eux-mêmes.

  • Compétence numérique : initiation à Python et aux interfaces.

  • Transversalité : lien entre mathématiques et informatique.

  • Réutilisabilité : l’application peut être utilisée dans d’autres cours ou ateliers scientifiques.

 

Et voici le projet en détail:

Python et théorie des nombres

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Leave the field below empty!