Code
MGFF INF 4002
Level
M1
Field
Informatique
Language
Français/French
ECTS Credits
1
Class hours
18
Total student load
20
Program Manager(s)
Department
- Data analytics, Économie et Finances
Educational team
Introduction to the module
This module provides a structured and progressive introduction to Python programming applied to data analysis. It is designed for students with no prior programming experience, guiding them step-by-step from language fundamentals to real-world data analysis applications.
Sessions combine short lectures, live demonstrations and hands-on workshops in Jupyter Lab. The course covers Python fundamentals, data manipulation with Pandas, visualisation, and an introduction to machine learning. It also incorporates a critical perspective on algorithmic bias and digital responsibility.
Learning goals/Programme objectives
- 1. S’approprier les usages avancés et spécialisés des outils de l’intelligence digitale en s’assurant de leur impact durable et responsable
Objectifs d'apprentissage
- 1.1 - Audit advanced and specialised uses of digital intelligence tools in order to deploy them appropriately, taking into account the strategic context of organisations.
- 1.2 - Use digital intelligence tools efficiently to support the societal, digital, energy and environmental transformations of organisations, ensuring their sustainable and responsible impact.
Rubrics
- Écrire, lire et déboguer des scripts Python (variables, types, fonctions, structures de contrôle)
- Manipuler des structures de données Python (listes, dictionnaires, tuples, sets)
- Utiliser Pandas pour charger, nettoyer, transformer et analyser des DataFrames réels
- Produire des visualisations exploratoires pertinentes (matplotlib, seaborn)
- Identifier et questionner des biais dans un jeu de données ou un algorithme
- Comprendre les principes fondamentaux d'un modèle de régression et de classification
- Porter un regard critique sur les implications éthiques du traitement automatique de données
Content : structure and schedule
Session 1 (3h) — Python fundamentals: Jupyter Lab; variables, types, operators; control structures; reading and writing simple Python code. Lab: first scripts on text-based datasets.
Session 2 (3h) — Data structures and functions: Lists, dictionaries, tuples, sets; function definition and scope. Lab: manipulating lists and dictionaries on structured data.
Session 3 (3h) — Pandas I: DataFrames; data loading (CSV/Excel/JSON); selection and indexing; filtering, sorting; descriptive statistics. Lab: exploration of a real dataset.
Session 4 (3h) — Pandas II: groupby, merge, pivot tables; missing values; data cleaning. Lab: full analysis of a real and messy dataset.
Session 5 (3h) — Visualisation and algorithmic bias: matplotlib, seaborn; principles of effective visualisation; algorithmic bias (representational, historical); case study on a biased dataset. Lab: visual report on a real dataset.
Session 6 (3h) — Intro to Machine Learning + Assessment: ML fundamentals; linear regression; classification (decision tree or logistic regression); model interpretation; group work review; individual in-class assessment (1h).
Sustainable Development Goals
ODD 4 — Éducation de qualité : Ce cours développe des compétences techniques professionnelles en forte demande sur le marché du travail (Python, analyse de données, visualisation). La progression pédagogique structurée garantit l'accessibilité à des étudiants sans bagage informatique préalable, contribuant à réduire les inégalités d'accès aux métiers du numérique.
ODD 9 — Industrie, innovation et infrastructure : Les étudiants acquièrent une maîtrise des outils fondamentaux de la transformation numérique des entreprises (Python, Pandas, scikit-learn). Ces compétences soutiennent directement l'innovation et la modernisation des infrastructures organisationnelles.
ODD 10 — Réduction des inégalités : La séance 5 est entièrement consacrée aux biais algorithmiques et à la discrimination statistique. Les étudiants apprennent à identifier, mesurer et questionner les biais présents dans des données réelles (datasets de recrutement, de crédit, de justice prédictive). Cette sensibilisation est intégrée à la pratique de l'analyse de données, pas traitée comme un module séparé.
Number of SDG's addressed among the 17
4,9,10,
Learning delivery
synchrone
Pedagogical methods
- Exposition courte suivie d'application immédiate : chaque concept est illustré et pratiqué en séance
- Ateliers pratiques individuels sur Jupyter Lab (ordinateur portable requis)
- Étude de cas sur données réelles : datasets publics (démographie, économie, sport, santé)
- Travail de groupe : analyse collaborative d'un dataset de bout en bout (séances 3-6), restitué à l'oral
- Mise en perspective critique : chaque outil est présenté avec ses limites et ses enjeux éthiques
Evaluation and grading system and catch up exams
CF1 — Regular session:
- Group report: real-data analysis (Jupyter notebook submitted via Moodle, groups of 3-4) — 50%
- Oral presentation: defence of the group report during session 6 (10 min + Q&A per group) — 50%
An individual written exam (1h, Python exercises on provided data, open-book) may be added at the teacher's discretion, communicated at the start of the course with updated weighting.
CF2 — Resit:
Individual report on a new dataset provided by the teacher (Jupyter notebook submitted within a communicated deadline), followed by an oral defence (10 min + Q&A). Replaces all CF1 grades.
Module Policies
Teacher–Student Communication: Teacher will contact students via their IMT-BS/TSP institutional email and Moodle. Students are responsible for regularly checking their institutional mailbox.
Attendance: Mandatory. Practical workshops are progressive; an unrecovered absence affects subsequent sessions.
Equipment: Each student must bring a laptop with Python 3 and Jupyter Lab. A JupyterHub alternative will be provided if needed.
Group work: Groups are formed in session 2. Each member is expected to contribute actively.
Academic integrity: Individual work must be autonomous. Generative AI use is permitted if declared and annotated in the notebook. Students must be able to explain submitted work orally.
Textbook Required and Suggested Readings
Obligatoires (en ligne, gratuits) :
- McKinney, W. Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython (3e éd., O'Reilly). Chapitres 2-3 (Python) + 5-10 (Pandas).
- Documentation officielle Pandas : https://pandas.pydata.org/docs/
- Documentation scikit-learn (séance 6) : https://scikit-learn.org/stable/getting_started.html
Suggérées :
- Rajagopalan, G. A Python Data Analyst's Toolkit (Apress)
- Vincent & Le Goff. Apprenez à programmer en Python (OpenClassrooms, gratuit)
- Stephenson, B. The Python Workbook (Springer)
- Snowden, J. Python For Beginners: A Practical Guide (Computer Programming Book 1)
Pour aller plus loin :
- Introduction Python interactive : https://nbviewer.jupyter.org/github/phelps-sg/python-bigdata/blob/master/src/main/ipynb/intro-python.ipynb
- Maîtriser Jupyter : https://realpython.com/jupyter-notebook-introduction/
- Bibliothèques numériques Python : https://nbviewer.jupyter.org/github/phelps-sg/python-bigdata/blob/master/src/main/ipynb/numerical-slides.ipynb
Keywords
Python, Pandas, analyse de données, Jupyter, visualisation, machine learning, biais algorithmiques, scikit-learn, transformation numérique, formation initiale
Prerequisites
Aucun prérequis en programmation. Une aisance avec les outils bureautiques (Excel, tableurs) est un plus. Les étudiants doivent disposer d'un ordinateur portable fonctionnel