Skip to content
Snippets Groups Projects
Commit 9a372209 authored by Nicolas M. Thiéry's avatar Nicolas M. Thiéry
Browse files

Préparation

parent 2961c573
Branches main
No related tags found
No related merge requests found
Pipeline #51330 failed
No preview for this file type
...@@ -77,3 +77,7 @@ nbgrader: ...@@ -77,3 +77,7 @@ nbgrader:
CHECK( a_gagne() ) CHECK( a_gagne() )
``` ```
```{code-cell}
```
--- ---
jupytext: jupytext:
notebook_metadata_filter: semantic
text_representation: text_representation:
extension: .md extension: .md
format_name: myst format_name: myst
...@@ -9,13 +10,22 @@ kernelspec: ...@@ -9,13 +10,22 @@ kernelspec:
display_name: C++17 display_name: C++17
language: C++17 language: C++17
name: xcpp17 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 ... # 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) [Niveau précédent](1c.md), <!--[Liste des niveaux](index.md#ListeDesNiveaux), !-->[Niveau suivant](2b.md), [Documentation](0b.md#Documentation)
......
...@@ -13,6 +13,10 @@ jupytext: ...@@ -13,6 +13,10 @@ jupytext:
format_name: myst format_name: myst
format_version: 0.13 format_version: 0.13
jupytext_version: 1.15.1 jupytext_version: 1.15.1
kernelspec:
display_name: Python 3 (ipykernel)
language: python
name: python3
--- ---
# TD 1: Notion d'algorithme # TD 1: Notion d'algorithme
......
...@@ -36,6 +36,22 @@ nbgrader: ...@@ -36,6 +36,22 @@ nbgrader:
LABY("counting-the-rocks") 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} ```{code-cell}
--- ---
deletable: false deletable: false
......
...@@ -7,12 +7,12 @@ jupytext: ...@@ -7,12 +7,12 @@ jupytext:
format_version: 0.13 format_version: 0.13
jupytext_version: 1.15.1 jupytext_version: 1.15.1
kernelspec: kernelspec:
display_name: Python 3 (ipykernel) display_name: C++17
language: python language: C++17
name: python3 name: xcpp17
rise: rise:
auto_select: first auto_select: first
autolaunch: true autolaunch: false
centered: false centered: false
controls: false controls: false
enable_chalkboard: true enable_chalkboard: true
...@@ -35,24 +35,28 @@ Nicolas Thiéry ...@@ -35,24 +35,28 @@ Nicolas Thiéry
<http://Nicolas.Thiery.name/Enseignement/Info111> <http://Nicolas.Thiery.name/Enseignement/Info111>
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "slide"}}
## Pourquoi enseigner l'informatique? ## Pourquoi enseigner l'informatique?
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Évidence : l'ordinateur est partout! :::{admonition} Évidence : l'ordinateur est partout!
- Combien d'ordinateurs dans la salle? - Combien d'ordinateurs dans la salle?
- Combien d'ordinateurs possédez vous? - 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 - Usage constant des ordinateurs, pour le travail comme le reste
::: :::
+++ {"slideshow": {"slide_type": "fragment"}} +++ {"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"}} +++ {"slideshow": {"slide_type": "fragment"}}
...@@ -96,27 +100,31 @@ Et pourtant, loin d'être Einstein ou Alonso, ... ...@@ -96,27 +100,31 @@ Et pourtant, loin d'être Einstein ou Alonso, ...
| Conduite | Réparation, Conception | Physique | | Conduite | Réparation, Conception | Physique |
| Consommation | Cuisine | Chimie, Biologie | | Consommation | Cuisine | Chimie, Biologie |
| Utilisation | Programmation, ... | Informatique | | Utilisation | Programmation, ... | Informatique |
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "slide"}}
### Qu'est-ce qu'on apprend à l'école? ### Qu'est-ce qu'on apprend à l'école?
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
- Principalement **la science** - Principalement **la science**
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
- Et il y a des raisons profondes pour cela - 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 - Et des pressions pour que ce ne soit pas le cas
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
<!-- TODO IMG --> <!-- TODO IMG -->
...@@ -136,89 +144,94 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_ ...@@ -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? ### Tous les jeunes connaissent déjà l'informatique?
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "fragment"}}
**L'usage?** **L'usage?**
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "fragment"}}
- Évidence : tous les jeunes savent utiliser un ordinateur - Évidence : tous les jeunes savent utiliser un ordinateur
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "fragment"}}
- Vraiment? - 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/) [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?** **La technologie?**
- Qui sait programmer? Configurer un réseau? - Qui sait programmer? Configurer un réseau?
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "fragment"}}
**La science?** **La science?**
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "fragment"}}
**Ma petite expérience :** **Ma petite expérience :**
- 6ème : - 6ème :
```{image} media/Epson-hx-20.jpg ```{image} media/Epson-hx-20.jpg
:alt: Beautiful Sunset :alt: Ordinateur portable Epson HX-20
:height: 100px :height: 100px
:align: center :align: center
``` ```
3ème: 3ème:
```{image} media/TurboPascal-Objet.jpg ```{image} media/TurboPascal-Objet.jpg
:alt: Beautiful Sunset :alt: Manuel Turbo Pascal Objet
:height: 100px :height: 100px
:align: center :align: center
``` ```
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "fragment"}}
- Fac : apprendre la *science* a chamboulé ma programmation - 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 ... - 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? ## 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 +++ {"slideshow": {"slide_type": "fragment"}}
- Étape de calcul
- État du système après
+++ {"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 ### Grands thèmes de l'informatique
:::{admonition} Calculabilité : Que peut, ou ne peut pas faire, un ordinateur? :::{admonition} Calculabilité : Que peut, ou ne peut pas faire, un ordinateur?
- Modèles de calcul
- Indépendamment du langage - Indépendamment du langage
- Indépendamment du matériel - Indépendamment du matériel
- Miracle : tous les langages sont équivalents! - Miracle : tous les langages sont équivalents!
::: :::
+++
:::{admonition} Complexité : Combien faut-il de ressources pour résoudre un problème? :::{admonition} Complexité : Combien faut-il de ressources pour résoudre un problème?
- Indépendamment du langage - Indépendamment du langage
...@@ -226,9 +239,9 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_ ...@@ -226,9 +239,9 @@ Une conférence de [François Élie](http://fr.wikipedia.org/wiki/Fran%C3%A7ois_
- Indépendamment de l'algorithme? - 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 :::{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_ ...@@ -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 - Services gérant des millions de clients
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
Problématiques de **passage à l'échelle** Problématiques de **passage à l'échelle**
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
Stratégies d'**abstraction** Stratégies d'**abstraction**
Exemple : Couches OSI pour les réseaux Exemple : Couches OSI pour les réseaux
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Difficulté :::{admonition} Difficulté
:class: attention :class: attention
...@@ -258,11 +271,11 @@ Apprendre des outils conçus pour les programmes de 100000 lignes ...@@ -258,11 +271,11 @@ Apprendre des outils conçus pour les programmes de 100000 lignes
en travaillant sur des programmes de 10 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) ### 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 **Comment mieux s'exprimer pour que l'ordinateur résolve nos
problèmes?** problèmes?**
...@@ -288,9 +301,9 @@ problèmes?** ...@@ -288,9 +301,9 @@ problèmes?**
- Au delà des langages: modélisation, ... - 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 - Interactions Humain Machine
- Bases de données - Bases de données
...@@ -304,7 +317,7 @@ problèmes?** ...@@ -304,7 +317,7 @@ problèmes?**
- Langages formels, automates, compilation - Langages formels, automates, compilation
- Mathématiques discrètes : graphes, combinatoire, ... - Mathématiques discrètes : graphes, combinatoire, ...
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "slide"}}
## À propos de ce cours ## À propos de ce cours
...@@ -314,7 +327,7 @@ problèmes?** ...@@ -314,7 +327,7 @@ problèmes?**
- **Usage** : environnement de programmation, GNU/Linux - **Usage** : environnement de programmation, GNU/Linux
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Ce que l'on va voir :::{admonition} Ce que l'on va voir
- Des briques de bases, des règles de compositions - Des briques de bases, des règles de compositions
...@@ -323,7 +336,7 @@ problèmes?** ...@@ -323,7 +336,7 @@ problèmes?**
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{hint} Pour quoi faire?? :::{hint} Pour quoi faire??
- Bénéficier de l'expérience de plus de 50 ans de programmation - Bénéficier de l'expérience de plus de 50 ans de programmation
...@@ -331,13 +344,13 @@ problèmes?** ...@@ -331,13 +344,13 @@ problèmes?**
- Intuition de comment résoudre un nouveau problème - 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 ### Organisation du cours
1h30 amphi, 1h30 TD, 2h TP 1h30 amphi, 1h30 TD, 2h TP
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{hint} Du TD? pour quoi faire??? :::{hint} Du TD? pour quoi faire???
- Apprendre la science informatique, en utilisant un ordinateur, pour - Apprendre la science informatique, en utilisant un ordinateur, pour
...@@ -346,14 +359,14 @@ problèmes?** ...@@ -346,14 +359,14 @@ problèmes?**
- C'est pas facile ... - 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 :::{admonition} Une difficulté : la forte hétérogénéité de niveau
:class: attention :class: attention
Ce module s'adresse à tous, *débutants* comme *expérimentés* Ce module s'adresse à tous, *débutants* comme *expérimentés*
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{important} Évaluation :::{important} Évaluation
- 25% : Examen mi-semestre (dans l'axe des TD) - 25% : Examen mi-semestre (dans l'axe des TD)
...@@ -362,7 +375,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés* ...@@ -362,7 +375,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés*
- 15% : Exercices en ligne, notes de TP - 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? ### Comment travailler l'informatique?
...@@ -391,7 +404,7 @@ Ce module s'adresse à tous, *débutants* comme *expérimentés* ...@@ -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! - Il vous faut un ordinateur ou tablette avec un navigateur web!
Variante: salle informatique en libre service Variante: salle informatique en libre service
+++ {"editable": true, "slideshow": {"slide_type": ""}} +++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
### Fraude et plagiat ### Fraude et plagiat
...@@ -404,7 +417,7 @@ C'est super! ...@@ -404,7 +417,7 @@ C'est super!
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"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) :::{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"}} +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
...@@ -422,7 +435,7 @@ C'est de la **fraude** ...@@ -422,7 +435,7 @@ C'est de la **fraude**
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"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 --> <!-- asdfsdf -->
::: :::
...@@ -435,14 +448,14 @@ C'est de la **fraude** ...@@ -435,14 +448,14 @@ C'est de la **fraude**
Suivez le guide! Suivez le guide!
+++ {"editable": true, "slideshow": {"slide_type": "skip"}} +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
:::{admonition} Espace eCampus :::{admonition} Espace eCampus
- Pour interagir avec les enseignants - Pour interagir avec les enseignants
- <https://ecampus.paris-saclay.fr/course/view.php?id=80953> - <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 :::{admonition} Page web
- Pour trouver toutes les informations - Pour trouver toutes les informations
...@@ -450,30 +463,31 @@ Suivez le guide! ...@@ -450,30 +463,31 @@ Suivez le guide!
- Mot clés: «Info111» ou «Nicolas Thiéry» - Mot clés: «Info111» ou «Nicolas Thiéry»
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "skip"}} +++ {"editable": true, "slideshow": {"slide_type": "subslide"}}
### Infrastructure du cours, suite ### Infrastructure du cours, suite
+++ {"editable": true, "slideshow": {"slide_type": "skip"}} +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
:::{admonition} Salles de TP :::{admonition} Salles de TP
- Pour programmer - Pour programmer
- Salle de TP physique à la fac au 336 (SIF / PGIP) - 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 ```{image} media/logo-jupyterhub.svg
:alt: logo jupyterhub :alt: logo jupyterhub
:height: 20px :height: 20px
:align: center :align: center
``` ```
<https://jupyterhub.ijclab.in2p3.fr/> <!-- <https://jupyterhub.ijclab.in2p3.fr/> -->
- Ou directement sur votre machine personnelle - Ou directement sur votre machine personnelle
- Exercices en ligne PLaTon - Exercices en ligne PLaTon
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "skip"}} +++ {"editable": true, "slideshow": {"slide_type": "fragment"}}
:::{admonition} Forge logicielle GitLab :::{admonition} Forge logicielle GitLab
```{image} media/logo-gitlab.svg ```{image} media/logo-gitlab.svg
:alt: logo gitlab :alt: logo gitlab
:width: 5% :width: 5%
...@@ -484,7 +498,7 @@ Suivez le guide! ...@@ -484,7 +498,7 @@ Suivez le guide!
- <https://gitlab.dsi.universite-paris-saclay.fr/> - <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 :::{admonition} Gestion des devoirs avec GitLab et travo
![image](media/travo_workflow.png) ![image](media/travo_workflow.png)
...@@ -492,15 +506,15 @@ Suivez le guide! ...@@ -492,15 +506,15 @@ Suivez le guide!
Une innovation pédagogique Orsay / Montréal! Une innovation pédagogique Orsay / Montréal!
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "slide"}}
## Ordinateurs et traitement automatique des informations ## Ordinateurs et traitement automatique des informations
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
**Exemples d'ordinateurs :** **Exemples d'ordinateurs :**
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
- Calculatrice (programmable) - Calculatrice (programmable)
- Ordinateur personnel (PC, Mac, ...) - Ordinateur personnel (PC, Mac, ...)
...@@ -508,7 +522,7 @@ Une innovation pédagogique Orsay / Montréal! ...@@ -508,7 +522,7 @@ Une innovation pédagogique Orsay / Montréal!
- Super-ordinateur (Cray, IBM-SP, ...) - Super-ordinateur (Cray, IBM-SP, ...)
- Clusters d'ordinateurs - Clusters d'ordinateurs
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
**Mais aussi :** **Mais aussi :**
...@@ -519,44 +533,47 @@ Une innovation pédagogique Orsay / Montréal! ...@@ -519,44 +533,47 @@ Une innovation pédagogique Orsay / Montréal!
- Téléviseurs, ... - Téléviseurs, ...
- Arduino, Raspberry Pi, ... - Arduino, Raspberry Pi, ...
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "slide"}}
### Caractéristiques principales d'un ordinateur ### Caractéristiques principales d'un ordinateur
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Absolument stupide :::{admonition} Absolument stupide
:class: warning
- Il obéit strictement aux ordres reçus - 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 :::{admonition} Très très rapide
:class: hint
- 2GHz : 2 milliards d'opérations par seconde - 2GHz : 2 milliards d'opérations par seconde
- sans faire d'erreur - sans faire d'erreur
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Très très bonne mémoire :::{admonition} Très très bonne mémoire
:class: hint
- Bible : Mo (million de caractères) - Bible : Mo (million de caractères)
- Mémoire : Go (milliards de caractères) - Mémoire : Go (milliards de caractères)
- Disque : To (1000 milliards de caractères) - Disque : To (1000 milliards de caractères)
- Data center : Po - Data center : Po
::: :::
+++ {"editable": true, "slideshow": {"slide_type": "subslide"}} +++ {"slideshow": {"slide_type": "subslide"}}
### À quoi sert un ordinateur? ### À quoi sert un ordinateur?
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
**Stocker des informations :** **Stocker des informations :**
- Documents, musique, photos, agenda, ... - Documents, musique, photos, agenda, ...
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
**Traiter automatiquement des informations :** **Traiter automatiquement des informations :**
...@@ -568,9 +585,9 @@ Une innovation pédagogique Orsay / Montréal! ...@@ -568,9 +585,9 @@ Une innovation pédagogique Orsay / Montréal!
- ***Sortie***: informations envoyées vers l'écran, la - ***Sortie***: informations envoyées vers l'écran, la
mémoire, d'autres ordinateurs, ... 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 Informellement, un ***programme*** est une séquence
d'instructions qui spécifie étape par étape les opérations à effectuer 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 ...@@ -579,11 +596,13 @@ pour obtenir à partir des ***entrées*** un résultat (la
Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} :::
+++ {"slideshow": {"slide_type": "slide"}}
## Premiers programmes ## Premiers programmes
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "fragment"}}
:::{prf:example} :::{prf:example}
...@@ -601,7 +620,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> ...@@ -601,7 +620,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
**Entrée? Sortie?** **Entrée? Sortie?**
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "subslide"}}
::::{prf:example} ::::{prf:example}
:::{image} media/programme-lego.jpg :::{image} media/programme-lego.jpg
...@@ -611,7 +630,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> ...@@ -611,7 +630,7 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
:::: ::::
**Entrée? Sortie?** **Entrée? Sortie?**
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "subslide"}}
:::::{prf:example} :::::{prf:example}
...@@ -626,11 +645,9 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique> ...@@ -626,11 +645,9 @@ Voir aussi : <http://fr.wikipedia.org/wiki/Programme_informatique>
:::: ::::
::::: :::::
+++ {"editable": true, "slideshow": {"slide_type": "slide"}}
**Entrée? Sortie?** **Entrée? Sortie?**
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "subslide"}}
:::::{prf:example} :::::{prf:example}
::::{grid} ::::{grid}
...@@ -663,7 +680,7 @@ ouvre() ...@@ -663,7 +680,7 @@ ouvre()
**Entrée? Sortie?** **Entrée? Sortie?**
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "subslide"}}
:::{prf:example} Un exemple de programme C++ :::{prf:example} Un exemple de programme C++
...@@ -688,23 +705,23 @@ int main() { ...@@ -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* **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!** **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} ```{code-cell}
--- ---
editable: true editable: true
slideshow: slideshow:
slide_type: slide slide_type: fragment
--- ---
// Entrée // Entrée
int x = 5; int x = 5;
...@@ -714,7 +731,7 @@ int x = 5; ...@@ -714,7 +731,7 @@ int x = 5;
--- ---
editable: true editable: true
slideshow: slideshow:
slide_type: slide slide_type: fragment
--- ---
// Traitement // Traitement
int xCarre = x * x; int xCarre = x * x;
...@@ -725,48 +742,64 @@ int xPuissanceQuatre = xCarre * xCarre; ...@@ -725,48 +742,64 @@ int xPuissanceQuatre = xCarre * xCarre;
--- ---
editable: true editable: true
slideshow: slideshow:
slide_type: slide slide_type: fragment
--- ---
// Sortie // Sortie
xPuissanceQuatre xPuissanceQuatre
``` ```
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} +++ {"slideshow": {"slide_type": "subslide"}}
### Jupyter + Cling : une super calculatrice programmable ### 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 - Un environnement de calcul interactif multi-langage
- <http://jupyter.org> - <http://jupyter.org>
**Cling :** :::
+++ {"slideshow": {"slide_type": "fragment"}}
:::{admonition} Cling
- Un interpréteur C++ - Un interpréteur C++
- <https://root.cern.ch/cling> - <https://root.cern.ch/cling>
+++ {"editable": true, "slideshow": {"slide_type": "slide"}} :::
+++ {"slideshow": {"slide_type": "slide"}}
## Résumé ## Résumé
+++ {"editable": true, "slideshow": {"slide_type": "fragment"}} +++ {"slideshow": {"slide_type": "fragment"}}
- À propos d'Info 111 :::{admonition} À 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
+++ {"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
.
::::
...@@ -79,6 +79,49 @@ fin du TP pour que tout ce que vous avez fait soit bien sauvegardé. ...@@ -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 ### Exercice 4 : À faire pour la semaine prochaine
Deux heures supplémentaires de `Laby`! Vous pouvez par exemple Deux heures supplémentaires de `Laby`! Vous pouvez par exemple
......
...@@ -11,12 +11,19 @@ kernelspec: ...@@ -11,12 +11,19 @@ kernelspec:
name: xcpp17 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! # Laby: C'est fou!
Les obstacles se multiplient pour un défi de plus. 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) [Niveau précédent](counting-the-rocks.md), <!--[Liste des niveaux](index.md#ListeDesNiveaux), !-->[Documentation](0b.md#Documentation)
```{code-cell} ```{code-cell}
...@@ -37,6 +44,54 @@ nbgrader: ...@@ -37,6 +44,54 @@ nbgrader:
LABY("this-is-crazy") 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} ```{code-cell}
--- ---
deletable: false deletable: false
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment