Initiaton à la programmation pour futurs managers

Catalog of Institut Mines-Télécom Business School courses

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