From 9a3722091b28af32c4ac2154e9081160e89f5e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net> Date: Mon, 11 Sep 2023 22:13:40 +0200 Subject: [PATCH] =?UTF-8?q?Pr=C3=A9paration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gradebook.db | Bin 200704 -> 212992 bytes 1a.md | 4 + 2a.md | 14 ++- TD.md | 4 + counting-the-rocks.md | 16 +++ cours.md | 253 ++++++++++++++++++++++++------------------ index.md | 43 +++++++ this-is-crazy.md | 57 +++++++++- 8 files changed, 278 insertions(+), 113 deletions(-) diff --git a/.gradebook.db b/.gradebook.db index e551af62008ae036385296e36efc90e77e7c50e5..fcd05c16a9a7bffe2d9215ea4101bbfd1335f8d1 100644 GIT binary patch delta 8520 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 delta 6321 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 diff --git a/1a.md b/1a.md index 3d51168..933b98a 100644 --- a/1a.md +++ b/1a.md @@ -77,3 +77,7 @@ nbgrader: CHECK( a_gagne() ) ``` +```{code-cell} + +``` + diff --git a/2a.md b/2a.md index 79bb20e..2ae720d 100644 --- a/2a.md +++ b/2a.md @@ -1,5 +1,6 @@ --- jupytext: + notebook_metadata_filter: semantic text_representation: extension: .md format_name: myst @@ -9,13 +10,22 @@ kernelspec: display_name: C++17 language: C++17 name: xcpp17 +semantic: + programming_language: + wikidata: Q2407 + subjects: + - smglom:computing?loops + - wikidata: Q8868615 + - didactic_role: initiation --- -+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "b3c7b6b3dbbfe091d64d11f2af7d0074", "grade": false, "grade_id": "cell-fc82dd31f240c228", "locked": true, "schema_version": 3, "solution": false, "task": false}} ++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "2e4b98b62671ffb9894c02229684a076", "grade": false, "grade_id": "cell-fc82dd31f240c228", "locked": true, "schema_version": 3, "solution": false, "task": false}} # Laby, niveau 2a: Que c'est loin ... -Simple pas vrai ? Mais bien répétitif, non? Le but du jeu ici est d'écrire un programme court en utilisant une boucle “while†qui dit à la fourmi d'avancer tant que la case devant lui est vide. +Affichez le labyrinthe suivant. Simple pas vrai ? Mais bien répétitif, non? + +Le but du jeu ici est d'écrire un programme court en utilisant une boucle `while` (tant que ... faire ...) qui dit à la fourmi d'avancer tant que la case devant lui est vide. On vous a fourni un squelette à compléter. [Niveau précédent](1c.md), <!--[Liste des niveaux](index.md#ListeDesNiveaux), !-->[Niveau suivant](2b.md), [Documentation](0b.md#Documentation) diff --git a/TD.md b/TD.md index c74f692..3528369 100644 --- a/TD.md +++ b/TD.md @@ -13,6 +13,10 @@ jupytext: format_name: myst format_version: 0.13 jupytext_version: 1.15.1 +kernelspec: + display_name: Python 3 (ipykernel) + language: python + name: python3 --- # TD 1: Notion d'algorithme diff --git a/counting-the-rocks.md b/counting-the-rocks.md index 3c1f669..014eb96 100644 --- a/counting-the-rocks.md +++ b/counting-the-rocks.md @@ -36,6 +36,22 @@ nbgrader: LABY("counting-the-rocks") ``` +```{code-cell} +--- +deletable: false +nbgrader: + cell_type: code + checksum: 73e4e8dd92f614b3b9e861393d196db0 + grade: false + grade_id: cell-dc0eba466ac0f399 + locked: false + schema_version: 3 + solution: true + task: false +--- +// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE +``` + ```{code-cell} --- deletable: false diff --git a/cours.md b/cours.md index 14364b4..6290e41 100644 --- a/cours.md +++ b/cours.md @@ -7,12 +7,12 @@ jupytext: format_version: 0.13 jupytext_version: 1.15.1 kernelspec: - display_name: Python 3 (ipykernel) - language: python - name: python3 + display_name: C++17 + language: C++17 + name: xcpp17 rise: auto_select: first - autolaunch: true + autolaunch: false centered: false controls: false enable_chalkboard: true @@ -35,24 +35,28 @@ Nicolas Thiéry <http://Nicolas.Thiery.name/Enseignement/Info111> -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "slide"}} ## Pourquoi enseigner l'informatique? -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Évidence : l'ordinateur est partout! - Combien d'ordinateurs dans la salle? - Combien d'ordinateurs possédez vous? -- Le mot «assisté par ordinateur» a disparu +- Le mot « assisté par ordinateur » a disparu - Usage constant des ordinateurs, pour le travail comme le reste ::: +++ {"slideshow": {"slide_type": "fragment"}} -**Évidence : tous les jeunes connaissent déjà l'informatique!** +:::{admonition} Évidence : tous les jeunes connaissent déjà l'informatique! + +. + +::: +++ {"slideshow": {"slide_type": "fragment"}} @@ -96,27 +100,31 @@ Et pourtant, loin d'être Einstein ou Alonso, ... | Conduite | Réparation, Conception | Physique | | Consommation | Cuisine | Chimie, Biologie | | Utilisation | Programmation, ... | Informatique | + ::: -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "slide"}} ### Qu'est-ce qu'on apprend à l'école? -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Principalement **la science** -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Et il y a des raisons profondes pour cela - <img src="media/Vinci.jpg" height="20ex" /> + :::{image} media/Vinci.jpg + :width: 60% + :alt: "Ceux qui sont férus de pratique sans posséder la science sont comme le pilote qui s'embarquerait sans timon ni boussole et ne saurait jamais vraiment où il va -- Léonard de Vinci" + ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Et des pressions pour que ce ne soit pas le cas -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} <!-- TODO IMG --> @@ -136,89 +144,94 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_ ::: :::: -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "subslide"}} ### Tous les jeunes connaissent déjà l'informatique? -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} **L'usage?** -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Évidence : tous les jeunes savent utiliser un ordinateur -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Vraiment? [les-enfants-ne-savent-pas-se-servir-dun-ordinateur](http://nicolaslegland.wordpress.com/2013/08/15/les-enfants-ne-savent-pas-se-servir-dun-ordinateur/) -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} **La technologie?** - Qui sait programmer? Configurer un réseau? -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} **La science?** -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Ma petite expérience :** - 6ème : ```{image} media/Epson-hx-20.jpg - :alt: Beautiful Sunset + :alt: Ordinateur portable Epson HX-20 :height: 100px :align: center ``` 3ème: ```{image} media/TurboPascal-Objet.jpg - :alt: Beautiful Sunset + :alt: Manuel Turbo Pascal Objet :height: 100px :align: center ``` -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Fac : apprendre la *science* a chamboulé ma programmation -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "fragment"}} - 2023 : après 33 ans et 300000 lignes de code, j'apprends encore ... -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "slide"}} ## La science informatique? -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} -- ***Science du calcul et de l'information*** +:::{prf:definition} -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +L'***informatique*** est la Science du calcul et de l'information -- Notion fondamentale : **étude des systèmes en évolution** +::: - - État du système avant - - Étape de calcul - - État du système après ++++ {"slideshow": {"slide_type": "fragment"}} -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +:::{admonition} Thème fondamental : étude des systèmes en évolution -- Modèles de calcul +- État du système avant +- Étape de calcul +- État du système après -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +::: + ++++ {"slideshow": {"slide_type": "slide"}} ### Grands thèmes de l'informatique :::{admonition} Calculabilité : Que peut, ou ne peut pas faire, un ordinateur? +- Modèles de calcul - Indépendamment du langage - Indépendamment du matériel - Miracle : tous les langages sont équivalents! ::: ++++ + :::{admonition} Complexité : Combien faut-il de ressources pour résoudre un problème? - Indépendamment du langage @@ -226,9 +239,9 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_ - Indépendamment de l'algorithme? ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "subslide"}} -### Grands problèmes de l'informatique +### Grands thèmes de l'informatique (suite) :::{admonition} Maîtriser les systèmes extrêmement complexes @@ -238,17 +251,17 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_ - Services gérant des millions de clients ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} Problématiques de **passage à l'échelle** -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} Stratégies d'**abstraction** Exemple : Couches OSI pour les réseaux -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Difficulté :class: attention @@ -258,11 +271,11 @@ Apprendre des outils conçus pour les programmes de 100000 lignes en travaillant sur des programmes de 10 lignes ... ::: -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "subslide"}} ### Grands thèmes de l'informatique (suite) -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Comment mieux s'exprimer pour que l'ordinateur résolve nos problèmes?** @@ -288,9 +301,9 @@ problèmes?** - Au delà des langages: modélisation, ... ::: -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "subslide"}} -### Autres grands thèmes de l'informatique +### Grands thèmes de l'informatique (suite) - Interactions Humain Machine - Bases de données @@ -304,7 +317,7 @@ problèmes?** - Langages formels, automates, compilation - Mathématiques discrètes : graphes, combinatoire, ... -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "slide"}} ## À propos de ce cours @@ -314,7 +327,7 @@ problèmes?** - **Usage** : environnement de programmation, GNU/Linux ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Ce que l'on va voir - Des briques de bases, des règles de compositions @@ -323,7 +336,7 @@ problèmes?** ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{hint} Pour quoi faire?? - Bénéficier de l'expérience de plus de 50 ans de programmation @@ -331,13 +344,13 @@ problèmes?** - Intuition de comment résoudre un nouveau problème ::: -+++ {"editable": true, "jp-MarkdownHeadingCollapsed": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "subslide"}} ### Organisation du cours 1h30 amphi, 1h30 TD, 2h TP -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{hint} Du TD? pour quoi faire??? - Apprendre la science informatique, en utilisant un ordinateur, pour @@ -346,14 +359,14 @@ problèmes?** - C'est pas facile ... ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Une difficulté : la forte hétérogénéité de niveau :class: attention Ce module s'adresse à tous, *débutants* comme *expérimentés* ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{important} Évaluation - 25% : Examen mi-semestre (dans l'axe des TD) @@ -362,7 +375,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés* - 15% : Exercices en ligne, notes de TP ::: -+++ {"editable": true, "jp-MarkdownHeadingCollapsed": true, "slideshow": {"slide_type": "subslide"}} ++++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ### Comment travailler l'informatique? @@ -391,7 +404,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés* - Il vous faut un ordinateur ou tablette avec un navigateur web! Variante: salle informatique en libre service -+++ {"editable": true, "slideshow": {"slide_type": ""}} ++++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ### Fraude et plagiat @@ -404,7 +417,7 @@ C'est super! +++ {"editable": true, "slideshow": {"slide_type": "fragment"}} :::{attention} Récupérer du code de quelqu'un d'autre (dont IA générationnelles comme chat-GPT) -**C'est contre-productif** +**À ce stade, c'est contre-productif** ::: +++ {"editable": true, "slideshow": {"slide_type": "fragment"}} @@ -422,7 +435,7 @@ C'est de la **fraude** +++ {"editable": true, "slideshow": {"slide_type": "fragment"}} -:::{warning} Mais, au cas où, nous avons des outils ... +:::{warning} Mais, au cas où, nous avons quelques outils :-) <!-- asdfsdf --> ::: @@ -435,14 +448,14 @@ C'est de la **fraude** Suivez le guide! -+++ {"editable": true, "slideshow": {"slide_type": "skip"}} ++++ {"editable": true, "slideshow": {"slide_type": "fragment"}} :::{admonition} Espace eCampus - Pour interagir avec les enseignants - <https://ecampus.paris-saclay.fr/course/view.php?id=80953> ::: -+++ {"editable": true, "slideshow": {"slide_type": "skip"}} ++++ {"editable": true, "slideshow": {"slide_type": "fragment"}} :::{admonition} Page web - Pour trouver toutes les informations @@ -450,30 +463,31 @@ Suivez le guide! - Mot clés: «Info111» ou «Nicolas Thiéry» ::: -+++ {"editable": true, "slideshow": {"slide_type": "skip"}} ++++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ### Infrastructure du cours, suite -+++ {"editable": true, "slideshow": {"slide_type": "skip"}} ++++ {"editable": true, "slideshow": {"slide_type": "fragment"}} :::{admonition} Salles de TP - Pour programmer - Salle de TP physique à la fac au 336 (SIF / PGIP) -- Salle de TP virtuelle JupyterHub@Paris-Saclay +- Salle de TP virtuelle [JupyterHub@Paris-Saclay](https://jupyterhub.ijclab.in2p3.fr/) ```{image} media/logo-jupyterhub.svg :alt: logo jupyterhub :height: 20px :align: center ``` - <https://jupyterhub.ijclab.in2p3.fr/> + <!-- <https://jupyterhub.ijclab.in2p3.fr/> --> - Ou directement sur votre machine personnelle - Exercices en ligne PLaTon ::: -+++ {"editable": true, "slideshow": {"slide_type": "skip"}} ++++ {"editable": true, "slideshow": {"slide_type": "fragment"}} :::{admonition} Forge logicielle GitLab + ```{image} media/logo-gitlab.svg :alt: logo gitlab :width: 5% @@ -484,7 +498,7 @@ Suivez le guide! - <https://gitlab.dsi.universite-paris-saclay.fr/> ::: -+++ {"editable": true, "slideshow": {"slide_type": "skip"}} ++++ {"editable": true, "slideshow": {"slide_type": "subslide"}} :::{admonition} Gestion des devoirs avec GitLab et travo  @@ -492,15 +506,15 @@ Suivez le guide! Une innovation pédagogique Orsay / Montréal! ::: -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "slide"}} ## Ordinateurs et traitement automatique des informations -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Exemples d'ordinateurs :** -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} - Calculatrice (programmable) - Ordinateur personnel (PC, Mac, ...) @@ -508,7 +522,7 @@ Une innovation pédagogique Orsay / Montréal! - Super-ordinateur (Cray, IBM-SP, ...) - Clusters d'ordinateurs -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Mais aussi :** @@ -519,44 +533,47 @@ Une innovation pédagogique Orsay / Montréal! - Téléviseurs, ... - Arduino, Raspberry Pi, ... -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "slide"}} ### Caractéristiques principales d'un ordinateur -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Absolument stupide +:class: warning - Il obéit strictement aux ordres reçus -- Est-ce qu'il fait ce que l'on veut? +- Fiable? Est-ce qu'il fait ce que l'on veut? ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Très très rapide +:class: hint - 2GHz : 2 milliards d'opérations par seconde - sans faire d'erreur ::: -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{admonition} Très très bonne mémoire +:class: hint - Bible : Mo (million de caractères) - Mémoire : Go (milliards de caractères) - Disque : To (1000 milliards de caractères) - Data center : Po ::: -+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} ++++ {"slideshow": {"slide_type": "subslide"}} ### À quoi sert un ordinateur? -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Stocker des informations :** - Documents, musique, photos, agenda, ... -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Traiter automatiquement des informations :** @@ -568,9 +585,9 @@ Une innovation pédagogique Orsay / Montréal! - ***Sortie***: informations envoyées vers l'écran, la mémoire, d'autres ordinateurs, ... -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} -**Définition :** +:::{prf:definition} Programme Informellement, un ***programme*** est une séquence d'instructions qui spécifie étape par étape les opérations à effectuer @@ -579,11 +596,13 @@ pour obtenir à partir des ***entrées*** un résultat (la Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +::: + ++++ {"slideshow": {"slide_type": "slide"}} ## Premiers programmes -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "fragment"}} :::{prf:example} @@ -601,7 +620,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> **Entrée? Sortie?** -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "subslide"}} ::::{prf:example} :::{image} media/programme-lego.jpg @@ -611,7 +630,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> :::: **Entrée? Sortie?** -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "subslide"}} :::::{prf:example} @@ -626,11 +645,9 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> :::: ::::: -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} - **Entrée? Sortie?** -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "subslide"}} :::::{prf:example} ::::{grid} @@ -663,7 +680,7 @@ ouvre() **Entrée? Sortie?** -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "subslide"}} :::{prf:example} Un exemple de programme C++ @@ -688,23 +705,23 @@ int main() { ``` ::: -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Démo :** *Compilation* en ligne de commande, *exécution* -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "fragment"}} **Un peu lourd?** **Pas de panique!** -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "subslide"}} -### Le coeur du programme C++ +### Le cœur du programme C++ ```{code-cell} --- editable: true slideshow: - slide_type: slide + slide_type: fragment --- // Entrée int x = 5; @@ -714,7 +731,7 @@ int x = 5; --- editable: true slideshow: - slide_type: slide + slide_type: fragment --- // Traitement int xCarre = x * x; @@ -725,48 +742,64 @@ int xPuissanceQuatre = xCarre * xCarre; --- editable: true slideshow: - slide_type: slide + slide_type: fragment --- // Sortie xPuissanceQuatre ``` -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "subslide"}} ### Jupyter + Cling : une super calculatrice programmable -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} ++++ {"slideshow": {"slide_type": "fragment"}} -**Jupyter :** +:::{admonition} Jupyter - Un environnement de calcul interactif multi-langage - <http://jupyter.org> -**Cling :** +::: + ++++ {"slideshow": {"slide_type": "fragment"}} + +:::{admonition} Cling - Un interpréteur C++ - <https://root.cern.ch/cling> -+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +::: + ++++ {"slideshow": {"slide_type": "slide"}} ## Résumé -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} ++++ {"slideshow": {"slide_type": "fragment"}} -- À propos d'Info 111 - - Qu'est-ce que l'informatique (**Usage**, **Technologie**, **Science!**) - - Objectifs du cours - - Infrastructure du cours: eCampus, page web, salles de TP (virtuelles), forge GitLab +:::{admonition} À propos d'Info 111 -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +- Qu'est-ce que l'informatique (**Usage**, **Technologie**, **Science!**) +- Objectifs du cours +- Infrastructure du cours: eCampus, page web, salles de TP (virtuelles), forge GitLab -- Un aperçu de premiers éléments de programmation : - - Ordinateur - - Programmes +::: + ++++ {"slideshow": {"slide_type": "fragment"}} - On reviendra dessus! +:::{admonition} Un aperçu de premiers éléments de programmation -+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +- Ordinateur +- Programmes -- Environnement Jupyter+Cling +On reviendra dessus! + +::: + ++++ {"slideshow": {"slide_type": "fragment"}} + +::::{admonition} Environnement Jupyter+Cling + +. + +:::: diff --git a/index.md b/index.md index cdf98ad..1e563a7 100644 --- a/index.md +++ b/index.md @@ -79,6 +79,49 @@ fin du TP pour que tout ce que vous avez fait soit bien sauvegardé. +++ +Le jeu [`laby`](https://sgimenez.github.io/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 de découvrir ou +manipuler un concept de programmation. + +Nous allons utiliser +[`laby-jupyter`](https://github.com/nthiery/laby-jupyter/), une +réimplantation de laby dans Jupyter. + +1. Chaque feuille ci-dessous correspond à un défi. Ouvrez les + tour-à -tour dans l'ordre et suivez les instructions + incluses. Déposez votre travail après chaque feuille. + + - [Laby 0b : Démonstration](0b.md) + - [Laby 1a : À vous de jouer](1a.md) + - [Laby 1b : Oh le caillou](1b.md) + - [Laby 1c : Encore un caillou!](1c.md) + - [Laby 2a : Que c'est loin ...](2a.md) + - [Laby 2b : Le couloir des cailloux](2b.md) + - [Laby 2c : Zig-Zag](2c.md) + - [Laby 2d : Le Zig-Zag des cailloux](2d.md) + - [Laby 3a : Ahhh des toiles!](3a.md) + - [Laby 3b : Toiles et cailloux](3b.md) + - [Laby 4a : La spirale infernale](4a.md) + - [Laby 4b : Par où passer?](4b.md) + + +2. Résoudre en Python le défi [Chou, chèvre, loup](chou-chevre-loup.md). + +3. ♣ Dans l'ordre que vous souhaiterez : + + - Reprendre en Python tout ou partie des défis de laby. Pour cela, + vous utiliserez le tableau de bord pour télécharger le devoir + `Semaine1Python`. + + - Résoudre en Python le [jeu des cruches](cruches.md). + - Faire les feuilles laby supplémentaires en C++ : + - [Laby C++ : Counting the rocks](counting-the-rocks.md) + - [Laby C++ : C'est fou!](this-is-crazy.md) + ++++ + ### Exercice 4 : À faire pour la semaine prochaine Deux heures supplémentaires de `Laby`! Vous pouvez par exemple diff --git a/this-is-crazy.md b/this-is-crazy.md index 4e4f77c..1b9e433 100644 --- a/this-is-crazy.md +++ b/this-is-crazy.md @@ -11,12 +11,19 @@ kernelspec: name: xcpp17 --- -+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "1412fa8dba22a59e78085d1ef371cf70", "grade": false, "grade_id": "cell-05f3f0bf76964094", "locked": true, "schema_version": 3, "solution": false, "task": false}} ++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "3ec5c74d7827a86b9563e8ea4942ea3c", "grade": false, "grade_id": "cell-05f3f0bf76964094", "locked": true, "schema_version": 3, "solution": false, "task": false}} # Laby: C'est fou! Les obstacles se multiplient pour un défi de plus. +:::{admonition} Indication +:class: dropdown hint + +Les toiles d'arraignées peuvent être neutralisées avec des cailloux + +::: + [Niveau précédent](counting-the-rocks.md), <!--[Liste des niveaux](index.md#ListeDesNiveaux), !-->[Documentation](0b.md#Documentation) ```{code-cell} @@ -37,6 +44,54 @@ nbgrader: LABY("this-is-crazy") ``` +```{code-cell} +--- +deletable: false +nbgrader: + cell_type: code + checksum: 5175ca859f4bf6fabf94895343e7fbf4 + grade: false + grade_id: cell-6f9c72052cad1db5 + locked: false + schema_version: 3 + solution: true + task: false +--- +// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE +``` + +```{code-cell} +--- +deletable: false +nbgrader: + cell_type: code + checksum: 1bef98b8da2b78e6f16ebf6fefabc274 + grade: false + grade_id: cell-6f9c72052cad1db6 + locked: false + schema_version: 3 + solution: true + task: false +--- +// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE +``` + +```{code-cell} +--- +deletable: false +nbgrader: + cell_type: code + checksum: bed78d165b165fafc71f6ac63bc707ea + grade: false + grade_id: cell-6f9c72052cad1db7 + locked: false + schema_version: 3 + solution: true + task: false +--- +// REMPLACER CETTE LIGNE PAR VOTRE RÉPONSE +``` + ```{code-cell} --- deletable: false -- GitLab