Introduction à la programmation, avec Python et Jupyter#
À propos de ce cours#
Objectifs pédagogiques
Ce cours, en construction, propose une introduction à la programmation, en s’appuyant sur le langage de programmation Python et l’environnement interactif Jupyter. Il est composé d’une collection de feuilles interactives vous faisant découvrir en autonomie, et par touches successives, les concepts de base de la programmation.
Prérequis
Le cours vise à ne pas avoir de prérequis hors une familiarité avec l’usage d’internet et du web; il vous suffit de vous laisser guider par les instructions. Quelques feuilles ou exercices – identifiées comme telles et non essentielles – font l’hypothèse d’une familiarité avec les mathématiques du lycée.
Comment utiliser ce cours
Fédération Éducation Recherche Renater (personnels et étudiants de tous les établissements français du supérieur)
Connectez vous au service MyDocker@Paris-Saclay:
cliquez «connexion via fédération renater»;
choisissez votre institution (astuce: tapez par exemple «Sacl» pour trouver Université Paris-Saclay) et entrez vos identifiants;
cliquez «demandez un environnement»;
cliquez «connexion à l’interface» pour «Télécharger le cours …».
Suivez les instructions de la page d’accueil (qui sera similaire à ce document).
Hors Fédération Renater Éducation Recherche
Vous pouvez travailler sur le matériel pédagogique en ligne avec JupyterLite.
Limitation: votre travail sera sauvegardé dans votre navigateur web. Si vous changez d’ordinateur ou de navigateur web, vous ne le retrouverez pas. La version déployée ci-dessus est aussi un peu ancienne.Alternativement, vous pouvez télécharger le matériel pédagogique depuis ici (Code -> Télécharger le code source -> zip). Vous aurez aussi besoin d’installer un certain nombre de logiciels (jupyterlab, jupylates, Laby).
Instructions d’installation avec conda
Si vous ne l’avez pas déjà, installez le gestionnaire d’environnements conda. Nous recommandons l’utilisation de l’installateur Miniforge.
Si vous ne l’avez pas déjà, installez
mamba
(plus rapide queconda
; fourni directement par miniforge) :conda install -c conda-forge mamba
Téléchargez la description de l’environnement :
git clone https://gitlab.dsi.universite-paris-saclay.fr/mydocker/images/jupyter-python
Installez les logiciels requis :
cd jupyter-python mamba env create
Activez votre environnement conda :
conda jupyter-python
Installez les fichiers de configuration :
cp -r install-files/* $CONDA_PREFIX
Pour ouvrir les documents, lancez JupyterLab depuis le dossier les contenant :
jupyter lab
Attention
Pour accéder aux logiciels fournis, vous devrez réitérer l’étape 5 d’activation à chaque fois que vous ouvrirez un nouveau terminal.
Un cours libre et réutilisable
Ce cours mutualisé a pour vocation à devenir un socle commun de feuilles réutilisables pour divers cours d’introduction à la programmation, à Saclay ou ailleurs. Il peut aussi être utilisé de façon autonome.
Dans l’esprit des communs numériques, ce cours reprend ou s’inspire de nombreuses ressources pédagogiques existantes, à la Faculté d’Orsay (Info 111: Introduction à la programmation, en C++, etc.) et ailleurs (Laby, Introduction à la programmation en Python pour la biologie de P. Fuchs et N. Poulain). Ces éléments seront cités au fur et à mesure (🚧en chantier🚧). Ce cours lui-même est sous licence CC-BY-SA (Creative Commons, Attribution, Partage dans les mêmes conditions): vous êtes encouragés à réutiliser tout élément et diffuser des produits dérivés, à condition de le partager dans les mêmes conditions et d’attribuer l’œuvre originale aux auteurs. Une collaboration avec CodEx est à l’étude. Ce cours s’appuie aussi sur de nombreux logiciels libres.
Ce cours est aussi une vitrine et un terrain d’expérimentation pour l’enseignement avec Jupyter. Voir les conventions d’écriture. À venir: description des stratégies pédagogiques, outils utilisés: MyST, Jupylates, etc.
Ce projet est soutenu depuis 2024 par SaclAI-School et s’inscrit dans le projet plus large py-edu-fr depuis le lancement de ce dernier en 2025.
Structure du cours
Un parcours pédagogique de ces feuilles vous est proposé ci-dessous. Vous pouvez choisir de l’adapter en fonction de votre expérience. Vous pouvez aussi explorer la table des matières, où les feuilles sont classées par thème. Vous noterez que le parcours proposé tourne parmi les thèmes en revenant dessus tour à tour pour les approfondir (apprentissage en spirale).
Parcours Pédagogique#
0 - Découvrir Jupyter#
Dans ce cours, vous utiliserez des feuilles d’exercices interactives Jupyter
.
Jupyter
est une application web qui permet de programmer interactivement dans de
nombreux langages (Python
, C++
, …), un peu comme une super calculatrice, et de
rédiger des documents interactifs.
Indication
Si vous êtes déjà familier avec l’utilisation de Jupyter, vous pouvez passer directement à la suite.
Ouvrez la feuille de travail 00-PriseEnMainJupyter.md.
Suivez les instructions qu’elle contient.
1 - Découvrir Python#

Le jeu Laby propose plusieurs défis successifs; pour chacun d’entre eux, le but est de guider pas-à-pas une fourmi vers la sortie d’un labyrinthe à l’aide d’un programme. Chacun de ces défis sera l’occasion d’avoir un premier contact ludique avec quelques concepts (programme, conditionnelles, boucles, fonctions) que nous approfondirons par la suite.
En savoir plus sur Laby
Le jeu Laby a été originellement créé par Stéphane Gimenez et collaborateurs pour la Fête de la Science à Jussieu. Nous utiliserons ici une réimplantation de Laby pour Python, dans Jupyter.
Notes aux enseignants
Laby n’est pas juste un jeu. Le but est de capitaliser sur les notions que les élèves auront ainsi perçu de manière intuitive, comme l’exécution séquentielle d’un programme, les boucles, les conditionnelles, les fonctions, etc.
Une erreur fréquente est d’oublier de mettre debut()
.
Chaque feuille ci-dessous correspond à un défi. Ouvrez-les tour à tour dans l’ordre et suivez les instructions incluses. Vous pouvez cocher les cases ci-dessous au fur et à mesure que vous finissez les feuilles. Si vous bloquez sur l’un des défis, n’hésitez pas à passer à la suite et y revenir ultérieurement.
Répéter :
S’adapter :
Compter :
2 - Calculer#
3 - S’adapter au contexte : les instructions conditionnelles#
4 - Répéter : les instructions itératives (boucles)#
Attention
Les défis marqués d’un ♣ ou ♣♣ sont (nettement) plus avancés; sauf si vous êtes à l’aise et recherchez un peu de défi, nous vous recommandons de les sauter et de revenir dessus ultérieurement lorsque vous aurez vu plus formellement les concepts sous-jacents.