Skip to content

Commit d7568a8

Browse files
committed
Révision de l'introduction
1 parent b46dcd6 commit d7568a8

7 files changed

Lines changed: 161 additions & 42 deletions

File tree

content/getting-started/index.qmd

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ bibliography: ../../reference.bib
3333

3434
::::
3535

36+
3637
{{< include "/content/getting-started/intro/_intro.qmd" >}}
3738

3839
{{< include "/content/getting-started/intro/_pourquoi_python.qmd" >}}
@@ -45,7 +46,8 @@ bibliography: ../../reference.bib
4546

4647
{{< include "/content/getting-started/intro/_plan.qmd" >}}
4748

48-
:::: {.content-visible when-profile="en"}
49+
50+
:::: {.content-visible when-profile="fr"}
4951
De manière plus détaillée, voici le plan du cours:
5052
::::
5153

content/getting-started/intro/_intro.qmd

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,34 @@
22

33
:::: {.content-visible when-profile="fr"}
44
Ce cours rassemble l'ensemble du contenu du cours
5-
__*Python {{< fa brands python >}} pour la data science*__ que je donne à l'[ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) depuis 2020. Environ 190 élèves suivent ce cours chaque année. L'année 2024 a permis l'arrivée progressive d'une version anglophone équivalente à
5+
__*Python {{< fa brands python >}} pour la data science*__ que je donne à l'[ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) depuis 2020 et à l'[ENSAI](https://ensai.fr/) depuis 2026. Cela représente plus de 300 élèves qui suivent ce cours chaque année.
6+
7+
::: {.callout-note collapse="true"}
8+
## Version internationale
9+
10+
L'année 2024 a permis l'arrivée progressive d'une version anglophone équivalente à
611
la version française visant à servir de cours d'introduction à la _data science_ pour les instituts statistiques européens
712
suite à un [appel à projets européen](https://cros.ec.europa.eu/dashboard/aiml4os).
8-
13+
:::
914

1015
Ce site ([pythonds.linogaliana.fr/](https://pythonds.linogaliana.fr)) est le point d'entrée principal du cours. Il rassemble l'ensemble des contenus faits en cours dans le cadre de travaux pratiques ou proposés en complément à des fins de formation en continue. Ce cours est _open source_
1116
et j'accueille avec plaisir les suggestions d'amélioration sur [`Github` {{< fa brands github >}}](https://github.com/linogaliana/python-datascientist) ou par le biais des commentaires en bas de chaque page.
1217

18+
A partir de la rentrée 2026, ce cours connaît un changement important avec une division en deux partie, répartie sur deux semestres de scolarité, permettant d'approfondir chacune:
19+
20+
* Python pour la *data* au premier semestre correspondant à la première partie du cours consacrée à l'exploration de données ;
21+
* Python pour le *ML* au deuxième semestre correspondant à la seconde partie du cours consacrée à la modélisation.
22+
23+
1324
`Python` étant un langage vivant et très dynamique, les pratiques évoluent et ce cours s'adapte en continu pour tenir compte de l'écosystème mouvant de la _data science_, en essayant néanmoins de distinguer les évolutions pérennes des pratiques des effets de mode.
1425

15-
Quelques éléments supplémentaires sont disponibles dans
16-
les [slides introductives](https://slidespython.linogaliana.fr/). Des éléments plus avancés sont présents dans un autre cours consacré à la mise en production de projets _data science_
17-
que je donne avec Romain Avouac
18-
en dernière année de l'ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)).
26+
Si ce cours s'adresse en priorité à des étudiants en *data science*, il est suffisamment général pour intéresser de nombreux profils, étudiants comme professionels, issus de diverses formations académiques. Il est pensé pour être une introduction à la *data science* par le biais de Python.
27+
28+
::: {.callout-tip}
29+
## Pour aller plus loin
30+
31+
Quelques éléments supplémentaires sont disponibles dans les [slides introductives](https://slidespython.linogaliana.fr/). Des éléments plus avancés sont présents dans un autre cours consacré à la mise en production de projets _data science_ que je donne avec Romain Avouac en dernière année de l'ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)) et dont une variante sera donnée prochainement à l'ENSAI.
32+
:::
1933

2034
{{< details-iframe
2135
summary="Dérouler les _slides_ ou consulter celles-ci sur [plein écran](https://slidespython.linogaliana.fr/){target="_blank"}."
@@ -27,21 +41,38 @@ en dernière année de l'ENSAE ([ensae-reproductibilite.github.io/website](https
2741

2842
:::: {.content-visible when-profile="en"}
2943
This course brings together all the material from the
30-
__*Python {{< fa brands python >}} for Data Science*__ class I’ve been teaching at [ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) since 2020. Each year, around 190 students take this course. In 2024, an English version—equivalent to the French original—was gradually introduced. It is designed as an introductory _data science_ course for European statistical institutes, following a [European call for projects](https://cros.ec.europa.eu/dashboard/aiml4os).
44+
__*Python {{< fa brands python >}} for Data Science*__ class I’ve been teaching at [ENSAE](https://www.ensae.fr/courses/1425-python-pour-le-data-scientist) since 2020, and at [ENSAI](https://ensai.fr/) since 2026. More than 300 students now take this course each year.
45+
46+
::: {.callout-note}
47+
## International version
48+
49+
In 2024, an English version—equivalent to the French original—was gradually introduced. It is designed as an introductory _data science_ course for European statistical institutes, following a [European call for projects](https://cros.ec.europa.eu/dashboard/aiml4os).
50+
:::
3151

3252
The site ([pythonds.linogaliana.fr](https://pythonds.linogaliana.fr)) serves as the main hub for the course. It gathers all course content, including practical assignments and additional materials aimed at continuing education. The course is _open source_, and I welcome suggestions for improvement either on [`GitHub` {{< fa brands github >}}](https://github.com/linogaliana/python-datascientist) or in the comments section at the bottom of each page.
3353

54+
Starting with the 2026 academic year, this course undergoes a major change: it is now split into two parts, taught across two semesters, allowing each to be covered in greater depth:
55+
56+
* Python for *data* in the first semester, corresponding to the first part of the course focused on data exploration;
57+
* Python for *ML* in the second semester, corresponding to the second part of the course focused on modeling.
58+
3459
Because `Python` is a living, fast-evolving language, the course is continuously updated to reflect the changing _data science_ ecosystem. At the same time, it strives to differentiate lasting trends from short-lived fads.
3560

36-
You can find more information in the [introductory slides](https://slidespython.linogaliana.fr/). More advanced topics are covered in another course focused on deploying _data science_ projects to production, which I co-teach with Romain Avouac in the final year at ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)).
61+
While this course is primarily aimed at *data science* students, it is general enough to be of interest to a wide range of profiles—students and professionals alike—coming from diverse academic backgrounds. It is designed as an introduction to *data science* through Python.
62+
63+
::: {.callout-tip}
64+
## Going further
65+
66+
You can find more information in the [introductory slides](https://slidespython.linogaliana.fr/). More advanced topics are covered in another course focused on deploying _data science_ projects to production, which I co-teach with Romain Avouac in the final year at ENSAE ([ensae-reproductibilite.github.io/website](https://ensae-reproductibilite.github.io/website)), with a variant of it soon to be taught at ENSAI as well.
67+
:::
3768
::::
3869

3970

4071
::: {.content-visible when-profile="fr"}
4172
:::: {.callout-note collapse="true"}
4273
## Architecture du site web
4374

44-
Ce cours présente des tutoriels et des exercices complets qui peuvent être lus depuis ce site ou édités et testés dans un environnement interactif de type `Jupyter Notebook` (voir [prochain chapitre](/content/getting-started/01_environment.qmd) pour plus de détails).
75+
Ce cours présente des tutoriels et des exercices complets qui peuvent être lus depuis ce site ou édités et testés dans un environnement interactif de type *notebook* (voir [prochain chapitre](/content/getting-started/01_environment.qmd) pour plus de détails).
4576

4677
Chaque page est structurée sous la forme d'un problème concret et présente la démarche générique pour résoudre ce problème général. Tous les exemples s'appuient sur de l'_open data_ et sont reproductibles.
4778

content/getting-started/intro/_objectif.qmd

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
Ce cours s’adresse aux praticiens de la _data science_,
77
discipline entendue ici au sens large comme la __combinaison de techniques issues des mathématiques, de la statistique et de l’informatique pour produire de la connaissance utile à partir de données__.
8+
89
Comme la _data science_ n’est pas uniquement une discipline scientique mais vise également à fournir un ensemble d’outils pour répondre à des objectifs opérationnels, l'apprentissage du principal outil nécessaire à l'acquisition de connaissances en _data science_, à savoir le langage `Python`, est également
910
l'occasion d'évoquer la démarche scientifique rigoureuse à adopter face à des données. Ce cours a pour objectif de présenter la démarche face à un jeu de données, les problèmes rencontrés, les solutions pour les surmonter et les implications que ces dernières peuvent avoir. Il ne s'agit donc pas que d'un cours sur un outil technique, désincarné de problématiques scientifiques.
1011
:::
@@ -54,7 +55,13 @@ Still, while `Python` makes it relatively easy to run sophisticated models, it i
5455
## Reproductibilité
5556

5657
Ce cours donne une place centrale à la notion de reproductibilité. Cette exigence se traduit de diverses
57-
manières dans cet enseignement, en premier lieu en permettant que tous les exemples et exercices de ce cours soient testés par le biais de _notebooks_ `Jupyter`[^nb].
58+
manières dans cet enseignement, en premier lieu en permettant que tous les exemples et exercices de ce cours soient testés par le biais de _notebooks_ `Jupyter`.
59+
60+
:::: {.column-margin}
61+
Un _notebook_ est un environnement interactif qui permet d'écrire et d'exécuter du code en direct. Il combine, dans un seul document, du texte, du code qui peut être exécuté et dont les sorties s'affichent après calculs. C'est extrêmement pratique pour l'apprentissage du langage `Python`.
62+
63+
Pour plus de détails, consultez la [documentation officielle de Jupyter](https://jupyter.org/documentation).
64+
::::
5865

5966
L'ensemble du contenu du site *web* est reproductible dans des environnements informatiques divers. Il est bien sûr possible de copier-coller les morceaux de code présents dans ce site, grâce au bouton {{< fa solid clipboard >}} présent au dessus
6067
des exemples de code:
@@ -65,20 +72,22 @@ x = "Essayez de me copier-coller" #<1>
6572
1. Cliquez sur le bouton {{< fa solid clipboard >}} pour copier ce contenu et le coller ailleurs.
6673

6774

68-
[^nb]: Un _notebook_ est un environnement interactif qui permet d'écrire et d'exécuter du code en direct. Il combine, dans un seul document, du texte, du code qui peut être exécuté et dont les sorties s'affichent après calculs. C'est extrêmement pratique pour l'apprentissage du langage `Python`. Pour plus de détails, consultez la [documentation officielle de Jupyter](https://jupyter.org/documentation).
69-
7075
Néanmoins, comme ce site présente de nombreux exemples, les allers et retours entre un environnement de test de `Python` et celui-ci pourraient être pénibles. Chaque chapitre est donc facilement récupérable sous forme de _notebook_ `Jupyter` grâce à des boutons au début de chaque page. Voici, par exemple, ces boutons pour le premier chapitre consacré à `Pandas` :
7176
:::
7277

7378
::: {.content-visible when-profile="en"}
7479

7580
## Reproducibility
7681

77-
This course places strong emphasis on reproducibility. This principle is reflected in several ways. First and foremost, by ensuring that all examples and exercises can be run and tested using `Jupyter` _notebooks_[^nb-en].
82+
This course places strong emphasis on reproducibility. This principle is reflected in several ways. First and foremost, by ensuring that all examples and exercises can be run and tested using `Jupyter` _notebooks_.
7883

79-
All content on the website is designed to be reproducible across different computing environments. Of course, you're free to copy and paste code snippets directly from the site using the {{< fa solid clipboard >}} button available at the top of each code block.
84+
:::: {.column-margin}
85+
A _notebook_ is an interactive environment for writing and running code live. It combines, in a single document, text and code that can be executed, with outputs displayed right after computation. It's extremely convenient for learning the `Python` language.
86+
87+
For more details, see the [official Jupyter documentation](https://jupyter.org/documentation).
88+
::::
8089

81-
[^nb-en]: Jupyter notebooks are interactive documents that allow you to combine code, text, and visualizations in a single file. They’re widely used in data science and education to make code both readable and executable.
90+
All content on the website is designed to be reproducible across different computing environments. Of course, you're free to copy and paste code snippets directly from the site using the {{< fa solid clipboard >}} button available at the top of each code block.
8291

8392
```{python}
8493
x = "Try to copy-paste me" #<1>
@@ -139,13 +148,13 @@ All student projects are required to be _open source_—one of the most effectiv
139148
::: {.content-visible when-profile="fr"}
140149
## Évaluation
141150

142-
Les élèves de l'ENSAE valident le cours grâce à
151+
Les élèves de l'ENSAE et l'ENSAI valident le cours grâce à
143152
un projet approfondi. Les éléments relatifs à l'évaluation du cours, ainsi qu'une liste des projets déjà effectués, sont disponibles dans la section [Évaluation](/content/annexes/evaluation).
144153
:::
145154

146155
::: {.content-visible when-profile="en"}
147156
## Assessment
148157

149-
Students at ENSAE complete the course by working on an in-depth project. Details on how the course is assessed, along with a list of past student projects, can be found in the [Evaluation](/content/annexes/evaluation) section.
158+
Students at ENSAE and ENSAI complete the course by working on an in-depth project. Details on how the course is assessed, along with a list of past student projects, can be found in the [Evaluation](/content/annexes/evaluation) section.
150159

151160
:::

content/getting-started/intro/_pourquoi_python.qmd

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,15 @@ la même revue [@davenport2022data]. Ce ne sont d'ailleurs pas que les
4141
_data scientists_ qui ont vocation à pratiquer `Python` ; dans le halo
4242
des emplois autour de la donnée (_data scientist_, _data engineer_, _ML engineer_...),
4343
`Python` fait office de tour de Babel permettant la communication entre ces
44-
différents profils interdépendants.
44+
différents profils interdépendants[^cs].
45+
46+
[^cs]: Voir @galiana-cs2026 pour plus d'éléments de contexte sur l'évolution des emplois de la *data*.
4547

4648
La richesse de `Python` permet de l'utiliser dans toutes les phases du traitement de la donnée, de sa récupération et structuration à partir de
4749
sources diverses à sa valorisation.
4850
Par le prisme de la _data science_, nous verrons que `Python` est un très bon candidat pour assister les _data scientists_ dans tous les aspects du travail quotidien leur permettant de tirer de la valeur de gisements hétérogènes de données. Ce cours a néanmoins l'ambition, peut-être illusoire, d'être plus qu'un énième cours d'introduction au langage `Python`: il s'agit plutôt d'un cours d'introduction à la _data science_ s'appuyant sur `Python`. En fait, apprendre `Python` est un prétexte pour apprendre à avoir les bons réflexes quand on est confronté à un jeu de données.
4951

50-
Ce cours introduit différents outils qui permettent de mettre en relation grâce à `Python` des données à des concepts théoriques issus de la statistique ou des sciences économiques et sociales. Néanmoins, ce cours va au-delà d'une simple introduction au langage et revient régulièrement sur les apports, mais aussi les limites, du langage pour répondre à des besoins opérationnels ou scientifiques.
52+
Ce cours introduit différents outils qui permettent de mettre en relation, grâce à `Python`, des données à des concepts théoriques issus de la statistique ou des sciences économiques et sociales. Néanmoins, ce cours va au-delà d'une simple introduction au langage et revient régulièrement sur les apports, mais aussi les limites, du langage pour répondre à des besoins opérationnels ou scientifiques.
5153
:::
5254

5355
::: {.content-visible when-profile="en"}
@@ -61,7 +63,9 @@ Unlike many programming languages that cater to relatively homogeneous communiti
6163

6264
`Python` success story is closely tied to the rise of the _data scientist_ role, a profile capable of working across the entire data processing pipeline. In the _Harvard Business Review_, @davenport2012data famously called it "the sexiest job of the 21st century." A decade later, he and his co-authors provided a full update on the evolving expectations for _data scientists_ [@davenport2022data].
6365

64-
But it’s not only _data scientists_ who need to use `Python`. In the broader ecosystem of data-related professions—_data scientists_, _data engineers_, _ML engineers_, and more—`Python` serves as a kind of Tower of Babel, enabling collaboration among interdependent roles.
66+
But it’s not only _data scientists_ who need to use `Python`. In the broader ecosystem of data-related professions—_data scientists_, _data engineers_, _ML engineers_, and more—`Python` serves as a kind of Tower of Babel, enabling collaboration among interdependent roles[^cs-en].
67+
68+
[^cs-en]: See @galiana-cs2026 for more context on the evolving landscape of data-related jobs.
6569

6670
This course introduces various tools that use `Python` to connect data with theoretical concepts from statistics and the economic and social sciences. However, it goes beyond a simple introduction to the language: it regularly reflects on both the strengths and the limitations of `Python` in meeting operational and scientific needs.
6771
:::

0 commit comments

Comments
 (0)