Introduction à la programmation, avec Python et Jupyter#
À propos de ce cours#
Sites web
Site web du cours (avec solutions)
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.
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. L’adresse du site ci-dessus est temporaire.
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
uv
Si vous ne l’avez pas déjà, installez le gestionnaire d’environnements uv.
Allez dans le dossier contenant le matériel pédagogique, et lancez JupyterLab. Les logiciels requis seront automatiquement installés dans le dossier.
uv run jupyter lab
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.
Parcours Pédagogique
Note
Vous pouvez adapter le parcours pédagogique proposé ici 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).
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 Prise en main de Jupyter
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.
Chaque feuille ci-dessous correspond à un défi. Ouvrez-les tour à tour dans l’ordre et suivez les instructions incluses. 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.