EPIGPC-2-S3-UAE-E06-Python

IMPORTANT

A partir du chapitre 3, vous devez renseigner à chaque début de séance votre progression dans les apprentissages, via ce formulaire. Vous devez être connecté à votre compte ESIEE pour y accéder. Pour chaque chapitre vous choisirez l’un des 4 états ci dessous.

  • 🚫 pas débuté

  • ▶️ en cours

  • ✅ terminé

  • ❗ bloqué

Ces informations pourront être utiles en jury. Ne pas les fournir sera considéré comme une faible implication dans les apprentissages.

Renseignements pratiques

Prérequis

Pour ce cours, il est nécessaire d’avoir suivi les cours IPA et IPO. Avoir déja réalisé des projets personnels en Python est un plus.

Découpage pédagogique 2025-2026

E2, Python, 2025-2026

Méthodologie d’apprentissage

Pour chaque chapitre du cours :

  • lorsqu’elle est présente, visionner la vidéo d’introduction qui donne un aperçu général de la notion à acquérir ;

  • lire attentivement le cours, reproduire les exemples présentés et parcourir la documentation officielle correspondante pour une idée plus exhaustive des interactions possibles ;

  • faire tous les exercices d’application en utilisant les assistants de codage.

La totalité du contenu est disponible en ligne. Rester attentif au séquencement pédagogique pour ne pas prendre de retard.

Sollicitez l’assistance de l’enseignant lorsque :

  • une notion du cours n’est toujours pas claire, après avoir visionné la vidéo, lu le cours, manipulé avec l’interpréteur interactif et sollicité l’assistant de codage ;

  • vous butez sur un exercice après avoir essayé de le résoudre par vous même pendant au moins 10 mn.

Si vous avez besoin d’assistance sur un exercice, que l’interlocuteur soit un humain ou un assistant de codageassurez vous de produire un exemple minimal reproductible. Minimal pour se concentrer sur l’essentiel du problème, reproductible pour pouvoir reproduire le problème sur une machine différente. Souvent cette démarche est suffisante pour cerner le problème et y apporter une solution.

Note

Il est tentant de ne pas faire l’effort de structuration nécessaire lorsqu’on utilise un assistant de codage, mais on transpose assez facilement les vers de Boileau :

Ce que l'on conçoit bien s'énonce clairement,
Et les mots pour le dire arrivent aisément.

Si le contexte fourni ne cerne pas précisément le problème, l’assistant de codage peut ne pas être en mesure de fournir une solution pertinente, ou fournir une réponse pertinente que vous ne comprendrez pas.

Les exercices

Le cours ci dessous est accompagné d’exercices, pour lesquels les conventions suivantes sont utilisées :

🟩 Exercice obligatoire (environnement GitHub)

🟢 Exercice obligatoire (environnement local, décrit dans la partie Installation)

🟠 Si le temps le permet (environnement local)

Note

Dans un contexte de programmation assistée par un assistant de codage, tous les exercices sont obligatoires.

Le cours Python

Python est un langage de programmation de haut niveau, orienté objet, qui permet de développer rapidement des applications. Il est très utilisé dans le monde de la data science, de l’intelligence artificielle, du développement web et plus largement de nombreux domaines de l’ingéniérie. Il est assez facile à apprendre et à utiliser, mais comme tout langage de programmation, il nécessite un certain investissement pour être maîtrisé.

Introduction (00:30)

Introduction au langage Python : découverte de son historique, de sa philosophie et de ses domaines d’application. Premiers pas avec l’interpréteur Python.

Installation (01:00)

Installation et configuration de l’environnement Python : installation de Python, choix d’un éditeur de code, et configuration des outils de développement et de l’assistant de codage.

Les nombres (00:30)

Les types numériques en Python : entiers, nombres flottants, nombres complexes et les opérations arithmétiques fondamentales.

Contrôle de l’exécution d’un programme (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Structures de contrôle en Python : conditions (if, elif, else), boucles (for, while) et gestion du flux d’exécution des programmes.

🟢 Nombres premiers

Fonctions et modules (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Définition et utilisation des fonctions : paramètres, valeurs de retour, portée des variables et documentation des fonctions.

🟩 Relire très attentivement L’environnement GitHub avant d’ouvrir le repo Nombres premiers et d’exécuter les actions ci dessous.

  • Use this template Create a new repository 04-primes Create repository

  • Code Codespaces Create codespace on main

🟢 Suites de Syracuse

🟠 Théorie des nombres

Les chaines de caractères (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Manipulation des chaînes de caractères : création, formatage, méthodes de traitement et opérations sur les strings.

🟩 Relire très attentivement L’environnement GitHub avant d’ouvrir le repo Palindromes et d’exécuter les actions ci dessous.

  • Use this template Create a new repository 05-palindromes Create repository

  • Code Codespaces Create codespace on main

🟢 Sans les voyelles

🟠 Robustesse d’un mot de passe

🟠 Nombre cyclope

🟠 Nombre de Lychrel

🟠 Nombres magiques

Les listes (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Les listes Python : création, indexation, modification, méthodes et compréhensions de listes pour gérer des collections d’éléments.

🟩 Relire très attentivement L’environnement GitHub avant d’ouvrir le repo Liste de Syracuse et d’exécuter les actions ci dessous.

  • Use this template Create a new repository 06-syracuse Create repository

  • Code Codespaces Create codespace on main

🟠 Contenu d’un répertoire

🟠 Algorithmique

🟢 Recherche de langue

🟢 Liste des extensions

🟢 Nombre de Harshad

🟢 Nombre heureux

🟢 Aplatir une liste

Les tuples (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Les tuples : structures de données immutables, création, indexation et différences avec les listes pour organiser des données ordonnées.

🟩 Relire très attentivement L’environnement GitHub avant d’ouvrir le repo ASCII Art - Encodage et d’exécuter les actions ci dessous.

  • Use this template Create a new repository 07-asciiart Create repository

  • Code Codespaces Create codespace on main

🟢 ASCII Art - Décodage

Les fichiers (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Gestion des fichiers : lecture, écriture, modes d’ouverture et traitement des données textuelles stockées dans des fichiers.

🟩 Relire très attentivement L’environnement GitHub avant d’ouvrir le repo Lecture de données et d’exécuter les actions ci dessous.

  • Use this template Create a new repository 08-lecture-donnees Create repository

  • Code Codespaces Create codespace on main

🟢 Lecture d’un fichier texte structuré

🟢 Lecture d’un fichier binaire

Les sets (02:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Les ensembles (sets) : création, opérations mathématiques sur les ensembles, élimination des doublons et cas d’usage pratiques.

🟩 Relire très attentivement L’environnement GitHub avant d’ouvrir le repo Les mots de la langue française et d’exécuter les actions ci dessous.

  • Use this template Create a new repository 09-mots-langue-francaise Create repository

  • Code Codespaces Create codespace on main

🟢 Propriété des set

Les dictionnaires (04:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Les dictionnaires Python : association clé-valeur, méthodes et utilisations pratiques

🟢 Les données météo

🟢 Les stations d’observation météo

Les exceptions (01:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Gestion des erreurs avec les exceptions : try, except, finally pour un code robuste

🟢 Conversion de type

Les classes (03:00)

N’oubliez pas de renseigner le formulaire de progression au début de chaque séance.

Programmation orientée objet : définition de classes, attributs et méthodes

🟢 Le point cartésien 2D

🟢 Le vecteur cartésien 2D