Code
MGFF INF 4002
Niveau
M1
Discipline
Informatique
Langue
Français/French
Crédits ECTS
1
Heures programmées
12
Charge totale étudiant
20
Coordonnateur(s)
Département
- Data analytics, Économie et Finances
Equipe pédagogique
Introduction au module
Le développement de compétences en programmation est devenu une nécessité dans de nombreux domaines, notamment l’analyse de données, la science des données, et l’ingénierie logicielle. Python, en particulier, est un langage de programmation privilégié en raison de sa simplicité, de sa polyvalence, et de son vaste écosystème de bibliothèques. Ce cours vise à familiariser les étudiants avec les bases de la programmation en Python et à leur fournir les outils nécessaires pour manipuler, analyser, et visualiser des données.
Au fil des sessions, les étudiants apprendront les concepts fondamentaux de la programmation, tels que les structures de données, les boucles, les fonctions, et la manipulation de données avec des bibliothèques populaires comme Pandas. Une partie du cours sera également dédiée à la visualisation de données, permettant ainsi aux étudiants de transformer des ensembles de données en graphiques pertinents à l’aide de Matplotlib et Seaborn.
En plus des aspects techniques, ce cours abordera l’éthique des développeurs, en mettant l’accent sur l’importance de la confidentialité, de la transparence, et de l’équité dans la gestion des données. Les étudiants apprendront à programmer de manière responsable tout en développant des compétences essentielles en Python.
Finalité d'apprentissage (Bloc de compétences)
- LG2 Avoir la capacité de gérer l'incertitude et la complexité avec précision et rigueur
- LG4 Avoir accès à différents instruments transdisciplinaires de management
Objectifs d'apprentissage (compétences mères)
- 2.1 - Identifier et analyser en profondeur les problèmes, les causes et les impacts
- 2.2 - Explorer les solutions, les décisions et leurs impacts relatifs et absolus
- 4.2 - Comprendre et utiliser des concepts, des connaissances et des théories interdisciplinaires
- 4.3 - Appliquer efficacement et judicieusement des approches et des outils de management transdisciplinaires
Contenu : structure du module et agenda
Objectif du cours :
Familiariser les étudiants avec les bases de la programmation en Python et leur donner les outils nécessaires pour manipuler, analyser et visualiser des données, tout en développant une conscience éthique autour de la gestion des données et des biais algorithmiques.
Session 1: Introduction à Python et Notebooks (3h00)
Pourquoi Python? (1h00)
• Pourquoi Python comme langage de programmation : accès ouvert, large communauté, et bonne gestion de l’éthique dans la science des données.
• Notion d’éthique dans le choix des outils open-source pour une utilisation transparente et équitable des ressources.
Notebooks et Markdown (2h00)
• Introduction aux Jupyter Notebooks et Google Colab : Outils gratuits et accessibles, favorisant l’égalité d’accès aux outils d’apprentissage.
• Comment écrire du texte en Markdown pour une documentation claire et compréhensible, contribuant à la transparence du code et à sa réutilisabilité.
• Importance de la documentation dans les projets collaboratifs pour éviter la confusion et promouvoir un développement responsable.
Session 2: Manipulation des données (Partie 1 : 3h00)
Ensemble et collections (3h00)
• Listes, tuples et dictionnaires.
• Opérations courantes sur les collections.
Session 3: Concepts fondamentaux de la programmation (3h00)
Boucles et contrôle de flux (1h30)
• Boucles for, while, et contrôle de flux (break, continue).
Conditions et structures de contrôle (1h00)
• if, elif, else et opérateurs de comparaison.
Définition de fonctions (0h30)
• Introduction aux fonctions, paramètres et valeurs de retour.
Session 4: Manipulation des données et visualisation (3h00)
Introduction à Pandas (1h30)
• Création et manipulation de DataFrames.
• Filtrage, tri, et agrégation des données.
• Discussion éthique : l’importance de ne pas manipuler les données de manière biaisée et de garantir l’intégrité des résultats obtenus à partir des données.
Visualisation de données (1h30)
• Introduction à Matplotlib et Seaborn pour créer des visualisations.
• Cas pratique avec des données réelles (ex : Chipotle).
• Implication éthique : l’impact des choix de visualisation sur la perception des données, et l’importance de représenter les informations de manière honnête et non trompeuse.
• Importance de l’éthique dans la création de fonctions réutilisables et transparentes, évitant des comportements non désirés ou injustes dans les systèmes automatisés.
Évaluation :
• Examen final sur papier, basé sur la résolution de problèmes pratiques et théoriques.
Contribution à l'atteinte des ODD (Objets du Développement Durable)
Ce cours soutient activement les ODD 10 et ODD 16 en promouvant une programmation éthique et la lutte contre les biais algorithmiques. En réduisant les inégalités (ODD 10), les étudiants apprendront à développer des systèmes justes qui minimisent les discriminations dans les technologies. En parallèle, ils contribueront à des sociétés plus inclusives et équitables (ODD 16) en intégrant des pratiques de codage responsables et transparentes.
Nombre d'ODD abordés parmi les 17
10, 16
Apprentissage
Asynchrone
Méthode pédagogique
Cours en Amphi pour les éléments théorique et grands principes:
. Cours et éléments de compréhension en TD
· Exercices d'application en cours : À la fin de chaque session, des exercices d'application seront proposés pour renforcer votre compréhension du contenu abordé. Il est essentiel de participer activement à ces exercices pour maximiser votre apprentissage.
· Exercices à la maison : En plus des exercices réalisés pendant les sessions, des devoirs à faire à la maison seront donnés. Ces exercices permettent de consolider vos connaissances et de vous préparer pour les sessions suivantes.
· Matériel supplémentaire : Pour ceux qui souhaitent approfondir leurs compétences ou explorer des aspects non couverts en cours, du matériel supplémentaire sera fourni. Cela inclut des lectures, des tutoriels et des exercices pour aller plus loin dans votre apprentissage de Python.
Système de notation et modalités de rattrapage
100% Examen Final
Références obligatoires et lectures suggérées
Pour aller plus loin et bibliographie:
Complément pour les bases:
https://nbviewer.jupyter.org/github/phelps-sg/python-bigdata/blob/master/src/main/ipynb/intro-python.ipynb
Pour maitriser Jupyter:
https://nbviewer.jupyter.org/github/demotu/BMC/blob/master/notebooks/Transformation2D.ipynb
Pour les maths:
https://nbviewer.jupyter.org/github/phelps-sg/python-bigdata/blob/master/src/main/ipynb/numerical-slides.ipynb
Livres:
- Gayathri Rajagopalan. « A Python Data Analyst’s Toolkit. »
- Vincent & Le Goff. « Apprenez à programmer en Python. »
- Ben Stephenson. « The Python Workbook. »
- Wes McKinney. « Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. »
- Snowden, John. « Python For Beginners: A Practical Guide For The People Who Want to Learn Python The Right and Simple Way (Computer Programming Book 1). »
Mots-clés
python, data, AI, Bias