Sem |
Cours |
Contenu |
Exercices |
1
|
Introduction
|
1 - Qu'est-ce que Python ? |
Usage de Python sur des serveurs en ligne
|
2 - Pourquoi Python ? |
3 - Python en ligne |
Notions de base
Spécificités de Python
|
1 - Syntaxe de base |
Exercices d’application directe sur des serveurs
|
2 - Opérateurs |
3 - Types de base |
4 - Listes et tuple |
5 - Manipulation de listes |
6 – Dictionnaires |
7 - Modes de transmission |
2
|
Scriptage
|
1 – Définition d’un script Python et sa structure |
Exercices de tests et recherche
|
2 – Conditions et boucles |
3 – Utilisation de liste avancées |
Environnement de travail pour Python
|
1 – Librairies python, installation et environnement de développement |
Installation de python sur les ordinateurs des étudiants.
|
2 - Personalisation de l’environnement dans PyCharms |
3 – La console Python, iPython et Jupyter Notebook |
4 - Chaînes de caractères (substring, replace, find) |
3
|
Utilisation de Git
Pour la gestion des sources
|
1 - Notions de base : copie local, dépôt |
Exercices interactif en groupe sur des dépôts individuels et communs
|
2 – Organisation des branches et dépôt en ligne : fork, clone, branch, github |
3 – Mise à jour : commit, pull, push |
4 – Synchronisation : branch, pull request, merge, conflict |
Programmation procédurale
|
1 - Fonctions |
Exercices de base
Améliorer un script grace à des fonctions
Utilisation du debboguer dans PyCharm
|
2 – Structurer le code en fonctions |
3 - Passage de paramètres, arguments optionnels |
4 – Debugging: pdb dans PyCharms |
4
|
Mini Projet A
|
1 – Présentation du mini-projet (intégration des LLMs et interfaces) |
Période de disponibilité pour le mini-projet A
|
2 – Présentation des requis (fonction) du programme et du rendu avec Git avec un README |
3 - Présentation des outils nécessaires (read/write, find, replace) |
5
|
Programmation scientifique
|
1 – Notions de performance |
Exercices d’utilisation de numpy, vectorisation de code
Notions d'introduction (tracé de courbe) avec matplotlib
|
2 – Introduction à Numpy : création de tableaux, indexation |
3 - Introduction à Matplotlib pour le tracé de courbes |
4 – Numpy : calculs mathématiques |
5 – Numpy : recherche, filtrage, sélection de données |
6
|
Analyses de données
|
1 - Introduction à Matplotlib |
Exercices de tracé de courbes, chargement de données, statistiques et fouille dans les fichiers
|
2 - Traitement de fichiers |
3 - Introduction à Pandas |
4 - RegEx |
7
|
Analyses de données
|
1 – Introduction à Scipy |
Résolution de problèmes non-linéaires, représentations de solutions
|
2 - Résolution d'équations |
3 - Optimisation |
4 - Interpolation |
5 - Intégration |
8
|
Mini Projet B
|
1 – Présentation du mini-projet et des données |
Période de disponibilité pour le mini-projet B
|
2 – Présentation des requis (fonctions+classes) du programme et du rendu avec Git avec un README |
3- Période dédiée à l'avancement du projet |
9
|
Projet de session |
Présentation des projets, requis, rapports … |
Création des équipes et brainstorming |
Programmation orientée object
|
1 - Introduction à la programmation objet : concept et intérêt |
Exercice d’application directe pour transformer un script en classe
|
2 – Classes et Objects |
3 – Interfaces |
4 – IO d’instance avec Pickle |
10
|
Documentation de code
|
1 – Recommendations pour commentaires |
Documentation du mini-projet B, convertir son projet B en module et mise en ligne (partage)
|
2 – Sphinx, Doxygen |
Modules
|
1 – Qu’est qu’un module |
2 – Comment créer un module et diffuser son module |
3 – Utilisation de pypi and pip |
4 – Environnements virtuels |
Projet de session |
Suivi projets |
Vérification de l'avancement des équipes |
11 |
Projet de session |
Période dédiée à l'avancement du projet
Introduction à l'utilisation des LLMs
|
Période de disponibilité pour les projets spéciaux |
12 |
Projet de session |
Période dédiée à l'avancement du projet
Introduction au développement d'interfaces webs basiques pour supporter votre application
|
Période de disponibilité pour les projets spéciaux |
13 |
Projet de session |
Présentations finales |
Remise des rapports |