From 113ef2015e4044e455f1f91a3d6b01c0bb96b643 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gilles?= <sebastien.gilles@inria.fr>
Date: Tue, 25 May 2021 12:16:17 +0200
Subject: [PATCH] Replace each occurrence of TP by HandsOn.

---
 1-ProceduralProgramming/0-main.ipynb              |  6 +++---
 1-ProceduralProgramming/2b-hands-on.ipynb         | 14 +++++++-------
 1-ProceduralProgramming/4b-hands-on.ipynb         |  4 ++--
 1-ProceduralProgramming/6b-hands-on.ipynb         |  2 +-
 2-ObjectProgramming/0-main.ipynb                  | 10 +++++-----
 2-ObjectProgramming/1b-hands-on.ipynb             |  6 +++---
 2-ObjectProgramming/2b-hands-on.ipynb             |  4 ++--
 2-ObjectProgramming/3b-hands-on.ipynb             |  4 ++--
 2-ObjectProgramming/4b-hands-on.ipynb             |  4 ++--
 2-ObjectProgramming/7b-hands-on.ipynb             |  2 +-
 3-Operators/0-main.ipynb                          |  6 +++---
 3-Operators/1b-hands-on.ipynb                     |  6 +++---
 3-Operators/3b-hands-on.ipynb                     |  4 ++--
 3-Operators/5b-hands-on.ipynb                     |  4 ++--
 4-Templates/0-main.ipynb                          |  4 ++--
 4-Templates/1b-hands-on.ipynb                     |  8 ++++----
 4-Templates/3b-hands-on.ipynb                     |  4 ++--
 5-UsefulConceptsAndSTL/0-main.ipynb               |  8 ++++----
 5-UsefulConceptsAndSTL/1b-hands-on.ipynb          |  6 +++---
 5-UsefulConceptsAndSTL/3b-hands-on.ipynb          |  4 ++--
 5-UsefulConceptsAndSTL/6b-hands-on.ipynb          |  4 ++--
 6-InRealEnvironment/0-main.ipynb                  |  3 ++-
 6-InRealEnvironment/2b-hands-on.ipynb             |  8 ++++----
 .../4b-Demo/2-FixByBuildSystem/CMakeLists.txt     |  2 +-
 Changelog.md                                      | 15 ++++++++++++---
 HandsOn/1-ProceduralProgramming/CMakeLists.txt    |  2 +-
 HandsOn/2-ObjectProgramming/CMakeLists.txt        |  2 +-
 HandsOn/3-Operators/CMakeLists.txt                |  2 +-
 HandsOn/4-Templates/CMakeLists.txt                |  2 +-
 HandsOn/5-UsefulConceptsAndSTL/CMakeLists.txt     |  2 +-
 HandsOn/6-InRealEnvironment/CMakeLists.txt        |  2 +-
 HandsOn/Config/cmake/AfterProjectSettings.cmake   |  2 +-
 HandsOn/HowTo.ipynb                               |  6 +++---
 HandsOn/README.md                                 |  4 ++--
 docker/README.md                                  |  2 +-
 35 files changed, 89 insertions(+), 79 deletions(-)

diff --git a/1-ProceduralProgramming/0-main.ipynb b/1-ProceduralProgramming/0-main.ipynb
index 670465f..4ca04c7 100644
--- a/1-ProceduralProgramming/0-main.ipynb
+++ b/1-ProceduralProgramming/0-main.ipynb
@@ -13,13 +13,13 @@
    "source": [
     "* [Variables, initialisation, affectation](./1-Variables.ipynb)\n",
     "* [Condition and loops](./2-Conditions-and-loops.ipynb)\n",
-    "    * [TP 1](./2b-TP.ipynb)\n",
+    "    * [Hands-on 1](./2b-hands-on.ipynb)\n",
     "* [Predefined types](./3-Types.ipynb)\n",
     "* [Functions](./4-Functions.ipynb)\n",
-    "    * [TP 2](./4b-TP.ipynb)\n",
+    "    * [Hands-on 2](./4b-hands-on.ipynb)\n",
     "* [Dynamic allocation](./5-DynamicAllocation.ipynb)\n",
     "* [Input/output](./6-Streams.ipynb)\n",
-    "    * [TP 3](./6b-TP.ipynb)\n",
+    "    * [Hands-on 3](./6b-hands-on.ipynb)\n",
     "* [Static and constexpr](./7-StaticAndConstexpr.ipynb)"
    ]
   },
diff --git a/1-ProceduralProgramming/2b-hands-on.ipynb b/1-ProceduralProgramming/2b-hands-on.ipynb
index 15d957e..5c7073b 100644
--- a/1-ProceduralProgramming/2b-hands-on.ipynb
+++ b/1-ProceduralProgramming/2b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Procedural programming](./0-main.ipynb) - [TP 1](./4b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Procedural programming](./0-main.ipynb) - [Hands-on 1](./4b-hands-on.ipynb)"
    ]
   },
   {
@@ -14,7 +14,7 @@
    },
    "source": [
     "<h1>Table of contents<span class=\"tocSkip\"></span></h1>\n",
-    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Introduction\" data-toc-modified-id=\"Introduction-1\">Introduction</a></span><ul class=\"toc-item\"><li><span><a href=\"#How-to-do-the-TP?\" data-toc-modified-id=\"How-to-do-the-TP?-1.1\">How to do the TP?</a></span></li><li><span><a href=\"#The-problem-we'll-deal-with-throughout-the-TPs\" data-toc-modified-id=\"The-problem-we'll-deal-with-throughout-the-TPs-1.2\">The problem we'll deal with throughout the TPs</a></span></li><li><span><a href=\"#EXERCICE-1:-Adding-a-loop\" data-toc-modified-id=\"EXERCICE-1:-Adding-a-loop-1.3\"><strong>EXERCICE 1: Adding a loop</strong></a></span></li></ul></li></ul></div>"
+    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#Introduction\" data-toc-modified-id=\"Introduction-1\">Introduction</a></span><ul class=\"toc-item\"><li><span><a href=\"#How-to-do-the-hands-on?\" data-toc-modified-id=\"How-to-do-the-hands-on?-1.1\">How to do the hands-on?</a></span></li><li><span><a href=\"#The-problem-we'll-deal-with-throughout-the-hands-ons\" data-toc-modified-id=\"The-problem-we'll-deal-with-throughout-the-hands-ons-1.2\">The problem we'll deal with throughout the hands-ons</a></span></li><li><span><a href=\"#EXERCICE-1:-Adding-a-loop\" data-toc-modified-id=\"EXERCICE-1:-Adding-a-loop-1.3\"><strong>EXERCICE 1: Adding a loop</strong></a></span></li></ul></li></ul></div>"
    ]
   },
   {
@@ -23,11 +23,11 @@
    "source": [
     "## Introduction\n",
     "\n",
-    "### How to do the TP?\n",
+    "### How to do the hands-on?\n",
     "\n",
-    "This [notebook](/notebooks/TP/HowTo.ipynb) explains very briefly your options to run the TP.\n",
+    "This [notebook](../HandsOn/HowTo.ipynb) explains very briefly your options to run the hands-ons.\n",
     "\n",
-    "### The problem we'll deal with throughout the TPs\n",
+    "### The problem we'll deal with throughout the hands-ons\n",
     "\n",
     "Any real number can be approximated by the ratio between two integers. \n",
     "\n",
@@ -41,9 +41,9 @@
     "\n",
     "The highest possible numbers will therefore be chosen, within the limits set by the system, i.e. by the number of bits available to encode these numbers.\n",
     "\n",
-    "As part of the TP, the number of bits allowed to store the numerator will be arbitrarily fixed, and the effect on the accuracy of the approximation will be calculated. Note that if you have N bits to store an integer, the largest possible integer is 2<sup>N</sup> - 1.\n",
+    "As part of the hands-on, the number of bits allowed to store the numerator will be arbitrarily fixed, and the effect on the accuracy of the approximation will be calculated. Note that if you have N bits to store an integer, the largest possible integer is 2<sup>N</sup> - 1.\n",
     "\n",
-    "The file you need to start is [provided](/notebooks/TP/1-ProceduralProgramming/initial_file.cpp) in the TP folder of ProceduralProgramming lectures.\n",
+    "The file you need to start is [provided](../HandsOn/1-ProceduralProgramming/initial_file.cpp) in the _HandsOn_ folder of ProceduralProgramming lectures.\n",
     "\n",
     "Note: you may found more about the context of the formation exercises in [this article](https://sites.ualberta.ca/~kbeach/phys420_580_2010/docs/ACM-Goldberg.pdf)."
    ]
diff --git a/1-ProceduralProgramming/4b-hands-on.ipynb b/1-ProceduralProgramming/4b-hands-on.ipynb
index 942556d..1eb678f 100644
--- a/1-ProceduralProgramming/4b-hands-on.ipynb
+++ b/1-ProceduralProgramming/4b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Procedural programming](./0-main.ipynb) - [TP 2](./4b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Procedural programming](./0-main.ipynb) - [Hands-on 2](./4b-hands-on.ipynb)"
    ]
   },
   {
@@ -335,5 +335,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/1-ProceduralProgramming/6b-hands-on.ipynb b/1-ProceduralProgramming/6b-hands-on.ipynb
index 76cbcf4..e4791df 100644
--- a/1-ProceduralProgramming/6b-hands-on.ipynb
+++ b/1-ProceduralProgramming/6b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Procedural programming](./0-main.ipynb) - [TP 3](./7b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Procedural programming](./0-main.ipynb) - [Hands-on 3](./7b-hands-on.ipynb)"
    ]
   },
   {
diff --git a/2-ObjectProgramming/0-main.ipynb b/2-ObjectProgramming/0-main.ipynb
index fd9d8a9..b215a02 100644
--- a/2-ObjectProgramming/0-main.ipynb
+++ b/2-ObjectProgramming/0-main.ipynb
@@ -12,17 +12,17 @@
    "metadata": {},
    "source": [
     "* [Introduction to the concept of object](./1-Introduction.ipynb)\n",
-    "    * [TP 4](./1b-TP.ipynb)\n",
+    "    * [Hands-on 4](./1b-hands-on.ipynb)\n",
     "* [Member functions](./2-Member-functions.ipynb)\n",
-    "    * [TP 5](./2b-TP.ipynb)\n",
+    "    * [Hands-on 5](./2b-hands-on.ipynb)\n",
     "* [Base constructors and destructor](./3-constructors-destructor.ipynb)\n",
-    "    * [TP 6](./3b-TP.ipynb)\n",
+    "    * [Hands-on 6](./3b-hands-on.ipynb)\n",
     "* [Encapsulation](./4-encapsulation.ipynb)\n",
-    "    * [TP 7](./4b-TP.ipynb)\n",
+    "    * [Hands-on 7](./4b-hands-on.ipynb)\n",
     "* [Static attributes](./5-static.ipynb)\n",
     "* [Inheritance](./6-inheritance.ipynb)\n",
     "* [Polymorphism](./7-polymorphism.ipynb)\n",
-    "    * [TP 8](./7b-TP.ipynb)"
+    "    * [Hands-on 8](./7b-hands-on.ipynb)"
    ]
   },
   {
diff --git a/2-ObjectProgramming/1b-hands-on.ipynb b/2-ObjectProgramming/1b-hands-on.ipynb
index 4dabf3b..775b21f 100644
--- a/2-ObjectProgramming/1b-hands-on.ipynb
+++ b/2-ObjectProgramming/1b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [TP 4](./1b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [Hands-on 4](./1b-hands-on.ipynb)"
    ]
   },
   {
@@ -23,7 +23,7 @@
    "source": [
     "### Introduction\n",
     "\n",
-    "[This notebook](../TP/HowTo.ipynb) explains very briefly your options to run the TP.\n",
+    "[This notebook](../HandsOn/HowTo.ipynb) explains very briefly your options to run the hands-ons.\n",
     "\n",
     "`initial_file.cpp` is the solution to the exercice 10 (we drop the writing into an external file and the function pointers).\n",
     "\n",
@@ -114,5 +114,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/2-ObjectProgramming/2b-hands-on.ipynb b/2-ObjectProgramming/2b-hands-on.ipynb
index dbd607f..794fd7d 100644
--- a/2-ObjectProgramming/2b-hands-on.ipynb
+++ b/2-ObjectProgramming/2b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [TP 5](./2b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [Hands-on 5](./2b-hands-on.ipynb)"
    ]
   },
   {
@@ -86,5 +86,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/2-ObjectProgramming/3b-hands-on.ipynb b/2-ObjectProgramming/3b-hands-on.ipynb
index c65185e..887ebd3 100644
--- a/2-ObjectProgramming/3b-hands-on.ipynb
+++ b/2-ObjectProgramming/3b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [TP 6](./3b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [Hands-on 6](./3b-hands-on.ipynb)"
    ]
   },
   {
@@ -85,5 +85,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/2-ObjectProgramming/4b-hands-on.ipynb b/2-ObjectProgramming/4b-hands-on.ipynb
index fcd2853..9b4e421 100644
--- a/2-ObjectProgramming/4b-hands-on.ipynb
+++ b/2-ObjectProgramming/4b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [TP 7](./4b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [Hands-on 7](./4b-hands-on.ipynb)"
    ]
   },
   {
@@ -248,5 +248,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/2-ObjectProgramming/7b-hands-on.ipynb b/2-ObjectProgramming/7b-hands-on.ipynb
index 0607c92..8e443fd 100644
--- a/2-ObjectProgramming/7b-hands-on.ipynb
+++ b/2-ObjectProgramming/7b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [TP 8](./7b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Object programming](./0-main.ipynb) - [Hands-on 8](./7b-hands-on.ipynb)"
    ]
   },
   {
diff --git a/3-Operators/0-main.ipynb b/3-Operators/0-main.ipynb
index 6c0a160..f7f098a 100644
--- a/3-Operators/0-main.ipynb
+++ b/3-Operators/0-main.ipynb
@@ -12,13 +12,13 @@
    "metadata": {},
    "source": [
     "* [Introduction to the concept of operator overload](./1-Intro.ipynb)\n",
-    "    * [TP 9](./1b-TP.ipynb)\n",
+    "    * [Hands-on 9](./1b-hands-on.ipynb)\n",
     "* [Comparison operators](./2-Comparison.ipynb)\n",
     "* [Stream operators](./3-Stream.ipynb)\n",
-    "    * [TP 10](./3b-TP.ipynb)\n",
+    "    * [Hands-on 10](./3b-hands-on.ipynb)\n",
     "* [Affectation operator and the canonical form of a class](./4-CanonicalForm.ipynb)\n",
     "* [Functors](./5-Functors.ipynb)\n",
-    "    * [TP 11](./5b-TP.ipynb)"
+    "    * [Hands-on 11](./5b-hands-on.ipynb)"
    ]
   },
   {
diff --git a/3-Operators/1b-hands-on.ipynb b/3-Operators/1b-hands-on.ipynb
index 077bbc2..85f87cc 100644
--- a/3-Operators/1b-hands-on.ipynb
+++ b/3-Operators/1b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Operators](./0-main.ipynb) - [TP 9](./1b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Operators](./0-main.ipynb) - [Hands-on 9](./1b-hands-on.ipynb)"
    ]
   },
   {
@@ -23,7 +23,7 @@
    "source": [
     "### Introduction\n",
     "\n",
-    "[This notebook](../TP/HowTo.ipynb) explains very briefly your options to run the TP."
+    "[This notebook](../HandsOn/HowTo.ipynb) explains very briefly your options to run the hands-ons."
    ]
   },
   {
@@ -115,5 +115,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/3-Operators/3b-hands-on.ipynb b/3-Operators/3b-hands-on.ipynb
index 5d70ca9..23d2dff 100644
--- a/3-Operators/3b-hands-on.ipynb
+++ b/3-Operators/3b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Operators](./0-main.ipynb) - [TP 10](./3b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Operators](./0-main.ipynb) - [Hands-on 10](./3b-hands-on.ipynb)"
    ]
   },
   {
@@ -84,5 +84,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/3-Operators/5b-hands-on.ipynb b/3-Operators/5b-hands-on.ipynb
index 35c7673..eb39860 100644
--- a/3-Operators/5b-hands-on.ipynb
+++ b/3-Operators/5b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Operators](./0-main.ipynb) - [TP 11](./5b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Operators](./0-main.ipynb) - [Hands-on 11](./5b-hands-on.ipynb)"
    ]
   },
   {
@@ -82,5 +82,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/4-Templates/0-main.ipynb b/4-Templates/0-main.ipynb
index 28be39c..fac440e 100644
--- a/4-Templates/0-main.ipynb
+++ b/4-Templates/0-main.ipynb
@@ -12,10 +12,10 @@
    "metadata": {},
    "source": [
     "* [Introduction to the concept of templates](./1-Intro.ipynb)\n",
-    "    * [TP 12](./1b-TP.ipynb)\n",
+    "    * [Hands-on 12](./1b-hands-on.ipynb)\n",
     "* [Specialization](./2-Specialization.ipynb)\n",
     "* [Special syntax: typename, template and mandatory this](./3-Syntax.ipynb)\n",
-    "    * [TP 13](./3b-TP.ipynb)\n",
+    "    * [Hands-on 13](./3b-hands-on.ipynb)\n",
     "* [Metaprogramming](./4-Metaprogramming.ipynb)\n",
     "* [Hints to more advanced concepts with templates](./5-MoreAdvanced.ipynb)"
    ]
diff --git a/4-Templates/1b-hands-on.ipynb b/4-Templates/1b-hands-on.ipynb
index e223560..0ea635b 100644
--- a/4-Templates/1b-hands-on.ipynb
+++ b/4-Templates/1b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Templates](./0-main.ipynb) - [TP 12](./1b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Templates](./0-main.ipynb) - [Hands-on 12](./1b-hands-on.ipynb)"
    ]
   },
   {
@@ -23,7 +23,7 @@
    "source": [
     "### Introduction\n",
     "\n",
-    "[This notebook](../TP/HowTo.ipynb) explains very briefly your options to run the TP.\n"
+    "[This notebook](../HandsOn/HowTo.ipynb) explains very briefly your options to run the hands-ons.\n"
    ]
   },
   {
@@ -45,7 +45,7 @@
     "\n",
     "Replacing everything in one step is very error-prone and is definitively not what I do: I really recommend to change part of it, do a commit (in a real project) and thus proceed incrementally until you reach the target state. \n",
     "\n",
-    "Compiler is really your friend here: make sure implicit conversions deliver a warning helps you to check whether you didn't forget a substitution somewhere (compiler warnings will be dealt in a [further notebook](../6-InRealEnvironment/3-Compilers.ipynb); in the TP the one is activated in the CMake, and if you're using an online compiler utility make sure there is `-Wconversion` on the command line)."
+    "Compiler is really your friend here: make sure implicit conversions deliver a warning helps you to check whether you didn't forget a substitution somewhere (compiler warnings will be dealt in a [further notebook](../6-InRealEnvironment/3-Compilers.ipynb); in the hands-ons the one is activated in the CMake, and if you're using an online compiler utility make sure there is `-Wconversion` on the command line)."
    ]
   },
   {
@@ -222,5 +222,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/4-Templates/3b-hands-on.ipynb b/4-Templates/3b-hands-on.ipynb
index 8129c59..0dc9677 100644
--- a/4-Templates/3b-hands-on.ipynb
+++ b/4-Templates/3b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Templates](./0-main.ipynb) - [TP 13](./3b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Templates](./0-main.ipynb) - [Hands-on 13](./3b-hands-on.ipynb)"
    ]
   },
   {
@@ -105,5 +105,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/5-UsefulConceptsAndSTL/0-main.ipynb b/5-UsefulConceptsAndSTL/0-main.ipynb
index 1229d9d..be4c3ad 100644
--- a/5-UsefulConceptsAndSTL/0-main.ipynb
+++ b/5-UsefulConceptsAndSTL/0-main.ipynb
@@ -12,14 +12,14 @@
    "metadata": {},
    "source": [
     "* [Error handling](./1-ErrorHandling.ipynb)\n",
-    "    * [TP 14](./1b-TP.ipynb)\n",
+    "    * [Hands-on 14](./1b-hands-on.ipynb)\n",
     "* [RAII idiom](./2-RAII.ipynb)\n",
     "* [Containers](./3-Containers.ipynb)\n",
-    "    * [TP 15](./3b-TP.ipynb)\n",
+    "    * [Hands-on 15](./3b-hands-on.ipynb)\n",
     "* [Associative containers](./4-AssociativeContainers.ipynb)\n",
     "* [Move semantics](./5-MoveSemantics.ipynb)\n",
     "* [Smart pointers](./6-SmartPointers.ipynb)\n",
-    "    * [TP 16](./6b-TP.ipynb)\n",
+    "    * [Hands-on 16](./6b-hands-on.ipynb)\n",
     "* [Algorithms](./7-Algorithms.ipynb)\n"
    ]
   },
@@ -84,5 +84,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/5-UsefulConceptsAndSTL/1b-hands-on.ipynb b/5-UsefulConceptsAndSTL/1b-hands-on.ipynb
index d1c1686..382deb3 100644
--- a/5-UsefulConceptsAndSTL/1b-hands-on.ipynb
+++ b/5-UsefulConceptsAndSTL/1b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Useful concepts and STL](./0-main.ipynb) -  [TP 14](./1b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Useful concepts and STL](./0-main.ipynb) -  [Hands-on 14](./1b-hands-on.ipynb)"
    ]
   },
   {
@@ -23,7 +23,7 @@
    "source": [
     "### Introduction\n",
     "\n",
-    "[This notebook](../TP/HowTo.ipynb) explains very briefly your options to run the TP."
+    "[This notebook](../HandsOn/HowTo.ipynb) explains very briefly your options to run the hands-ons."
    ]
   },
   {
@@ -216,5 +216,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/5-UsefulConceptsAndSTL/3b-hands-on.ipynb b/5-UsefulConceptsAndSTL/3b-hands-on.ipynb
index 219ab59..e0d0481 100644
--- a/5-UsefulConceptsAndSTL/3b-hands-on.ipynb
+++ b/5-UsefulConceptsAndSTL/3b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Useful concepts and STL](/notebooks/5-UsefulConceptsAndSTL/0-main.ipynb) -  [TP 14](/notebooks/5-UsefulConceptsAndSTL/3b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Useful concepts and STL](/notebooks/5-UsefulConceptsAndSTL/0-main.ipynb) -  [Hands-on 14](/notebooks/5-UsefulConceptsAndSTL/3b-hands-on.ipynb)"
    ]
   },
   {
@@ -90,5 +90,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/5-UsefulConceptsAndSTL/6b-hands-on.ipynb b/5-UsefulConceptsAndSTL/6b-hands-on.ipynb
index f9fb21a..3a1152c 100644
--- a/5-UsefulConceptsAndSTL/6b-hands-on.ipynb
+++ b/5-UsefulConceptsAndSTL/6b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [Useful concepts and STL](/notebooks/5-UsefulConceptsAndSTL/0-main.ipynb) -  [TP 16](/notebooks/5-UsefulConceptsAndSTL/6b-TP.ipynb)"
+    "# [Getting started in C++](./) - [Useful concepts and STL](/notebooks/5-UsefulConceptsAndSTL/0-main.ipynb) -  [Hands-on 16](/notebooks/5-UsefulConceptsAndSTL/6b-hands-on.ipynb)"
    ]
   },
   {
@@ -106,5 +106,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/6-InRealEnvironment/0-main.ipynb b/6-InRealEnvironment/0-main.ipynb
index cfaac4c..bfa5ca4 100644
--- a/6-InRealEnvironment/0-main.ipynb
+++ b/6-InRealEnvironment/0-main.ipynb
@@ -22,6 +22,7 @@
     "\n",
     "* [Set up a minimal environment](./1-SetUpEnvironment.ipynb)\n",
     "* [File structure of a C++ program](./2-FileStructure.ipynb)\n",
+    "    * [Hands-on 17](./2b-hands-on.ipynb)\n",
     "* [Compilers](./3-Compilers.ipynb)\n",
     "* [Third-party libraries: how to include them without getting their compilation warnings](./4-ThirdParty.ipynb)\n",
     "* [Namespaces](./5-Namespace.ipynb)\n",
@@ -86,5 +87,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/6-InRealEnvironment/2b-hands-on.ipynb b/6-InRealEnvironment/2b-hands-on.ipynb
index 1b0746a..8b54e82 100644
--- a/6-InRealEnvironment/2b-hands-on.ipynb
+++ b/6-InRealEnvironment/2b-hands-on.ipynb
@@ -4,7 +4,7 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "# [Getting started in C++](./) - [C++ in a real environment](./0-main.ipynb) - [TP 17](./2b-TP.ipynb)"
+    "# [Getting started in C++](./) - [C++ in a real environment](./0-main.ipynb) - [Hands-on 17](./2b-hands-on.ipynb)"
    ]
   },
   {
@@ -23,7 +23,7 @@
    "source": [
     "### Introduction\n",
     "\n",
-    "[This notebook](../TP/HowTo.ipynb) explains very briefly your options to run the TP.\n",
+    "[This notebook](../HandsOn/HowTo.ipynb) explains very briefly your options to run the hands-ons.\n",
     "\n",
     "**WARNING:** Coliru is not an option here: you need to go the local or Docker way!"
    ]
@@ -42,7 +42,7 @@
     "- Likewise for `PowerOfTwoApprox`. Closely related free functions (such as `operator<<`) should be put in the same file(s).\n",
     "- You may put all `TestDIsplay` functionalities together. Beware: some definitions are template and must be in header files, whereas some aren't and should therefore be compiler.\n",
     "\n",
-    "To do the exercice, create an _Exercice43_ directory in the TP root (and include it in your main CMakeLists.txt).\n",
+    "To do the exercice, create an _Exercice43_ directory in the _HandsOn_ root directory (and include it in your main CMakeLists.txt).\n",
     "\n",
     "Create the files in this directory, and use the following CMakeLists.txt:\n",
     "\n",
@@ -131,5 +131,5 @@
   }
  },
  "nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
 }
diff --git a/6-InRealEnvironment/4b-Demo/2-FixByBuildSystem/CMakeLists.txt b/6-InRealEnvironment/4b-Demo/2-FixByBuildSystem/CMakeLists.txt
index 58cf778..cf9c057 100644
--- a/6-InRealEnvironment/4b-Demo/2-FixByBuildSystem/CMakeLists.txt
+++ b/6-InRealEnvironment/4b-Demo/2-FixByBuildSystem/CMakeLists.txt
@@ -19,7 +19,7 @@ set(CMAKE_C_COMPILER clang CACHE STRING "C compiler")
 set(CMAKE_CXX_STANDARD 17 CACHE INTEGER "Version of the C++ standard to use")
 set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "If ON the GNU version of the standard is used.")
 
-project(GettingStartedWithModernCpp_TP_Operators)
+project(GettingStartedWithModernCpp_HandsOn_Operators)
 
 add_cxx_compiler_flag("-Weverything") # all warnings for clang
 add_cxx_compiler_flag("-Wall") # for gcc (and recognized by clang)
diff --git a/Changelog.md b/Changelog.md
index 92cd782..cb5ae07 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,8 +1,17 @@
 We are using here tghe same convention as Ubuntu: a release is typically named vYY.MM, where YY is the last two digits of current year and MM two digits representing the month.
 
+# [v21.05.2](https://gitlab.inria.fr/formations/cpp/gettingstartedwithmoderncpp/-/releases/v21.05.2)
+
+Version after various fixes given during the training session.
+
+## Notebooks
+
+- #20 Rename the _TP_ notebooks _HandsOn_.
+
+
 # [v21.05](https://gitlab.inria.fr/formations/cpp/gettingstartedwithmoderncpp/-/releases/v21.05)
 
-A third training session is given in [May 2021](https://sed.saclay.inria.fr/formations/2021-05-17-cpp/), under a slightly different format due to Covid 19 crisis: 5 half days in visio and no TP during the sessions.
+A third training session was given in [May 2021](https://sed.saclay.inria.fr/formations/2021-05-17-cpp/), under a slightly different format due to Covid 19 crisis: 5 half days in visio and no hands-ons during the sessions.
 
 There are 4 lecturers for this session:
 
@@ -11,7 +20,7 @@ There are 4 lecturers for this session:
 - Vicente Mataix-Ferrandiz [^sed-paris]
 - Vincent Rouvreau [^sed-saclay]
 
-There were more substantial changes in the lecture; the TPs were however left untouched.
+There were more substantial changes in the lecture; the hands-ons were however left untouched.
 
 ## Docker and Jupyter
 
@@ -40,7 +49,7 @@ A second training session was given in [March 2020](https://sed.saclay.inria.fr/
 The (relatively minor) modifications were:
 
 - Cleaning-up of all notebooks.
-- Reorganization of the TP, which was deemed too bulky in the first training session.
+- Reorganization of the hands-ons, which was deemed too bulky in the first training session.
 
 
 
diff --git a/HandsOn/1-ProceduralProgramming/CMakeLists.txt b/HandsOn/1-ProceduralProgramming/CMakeLists.txt
index e9e9d0f..a3c79fe 100644
--- a/HandsOn/1-ProceduralProgramming/CMakeLists.txt
+++ b/HandsOn/1-ProceduralProgramming/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.9)
 
 include(../Config/cmake/Settings.cmake)
 
-project(GettingStartedWithModernCpp_TP_Procedural)
+project(GettingStartedWithModernCpp_HandsOn_Procedural)
 
 include(../Config/cmake/AfterProjectSettings.cmake)    
 
diff --git a/HandsOn/2-ObjectProgramming/CMakeLists.txt b/HandsOn/2-ObjectProgramming/CMakeLists.txt
index 1ece4dd..41b9ebf 100644
--- a/HandsOn/2-ObjectProgramming/CMakeLists.txt
+++ b/HandsOn/2-ObjectProgramming/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.9)
 
 include(../Config/cmake/Settings.cmake)
 
-project(GettingStartedWithModernCpp_TP_Object)
+project(GettingStartedWithModernCpp_HandsOn_Object)
 
 include(../Config/cmake/AfterProjectSettings.cmake)   
 
diff --git a/HandsOn/3-Operators/CMakeLists.txt b/HandsOn/3-Operators/CMakeLists.txt
index 61e5f62..d6ed25f 100644
--- a/HandsOn/3-Operators/CMakeLists.txt
+++ b/HandsOn/3-Operators/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.9)
 
 include(../Config/cmake/Settings.cmake)
 
-project(GettingStartedWithModernCpp_TP_Operators)
+project(GettingStartedWithModernCpp_HandsOn_Operators)
 
 include(../Config/cmake/AfterProjectSettings.cmake)   
 
diff --git a/HandsOn/4-Templates/CMakeLists.txt b/HandsOn/4-Templates/CMakeLists.txt
index 93d8284..0eefa59 100644
--- a/HandsOn/4-Templates/CMakeLists.txt
+++ b/HandsOn/4-Templates/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.9)
 
 include(../Config/cmake/Settings.cmake)
 
-project(GettingStartedWithModernCpp_TP_Template)
+project(GettingStartedWithModernCpp_HandsOn_Template)
 
 include(../Config/cmake/AfterProjectSettings.cmake)   
 
diff --git a/HandsOn/5-UsefulConceptsAndSTL/CMakeLists.txt b/HandsOn/5-UsefulConceptsAndSTL/CMakeLists.txt
index 922641e..e3c982c 100644
--- a/HandsOn/5-UsefulConceptsAndSTL/CMakeLists.txt
+++ b/HandsOn/5-UsefulConceptsAndSTL/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.9)
 
 include(../Config/cmake/Settings.cmake)
 
-project(GettingStartedWithModernCpp_TP_ConceptSTL)
+project(GettingStartedWithModernCpp_HandsOn_ConceptSTL)
 
 include(../Config/cmake/AfterProjectSettings.cmake)   
 
diff --git a/HandsOn/6-InRealEnvironment/CMakeLists.txt b/HandsOn/6-InRealEnvironment/CMakeLists.txt
index ab70f28..29534f6 100644
--- a/HandsOn/6-InRealEnvironment/CMakeLists.txt
+++ b/HandsOn/6-InRealEnvironment/CMakeLists.txt
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.9)
 
 include(../Config/cmake/Settings.cmake)
 
-project(GettingStartedWithModernCpp_TP_RealEnv)
+project(GettingStartedWithModernCpp_HandsOn_RealEnv)
 
 include(../Config/cmake/AfterProjectSettings.cmake)   
 
diff --git a/HandsOn/Config/cmake/AfterProjectSettings.cmake b/HandsOn/Config/cmake/AfterProjectSettings.cmake
index b326dc2..a0c0ad5 100644
--- a/HandsOn/Config/cmake/AfterProjectSettings.cmake
+++ b/HandsOn/Config/cmake/AfterProjectSettings.cmake
@@ -16,5 +16,5 @@ add_cxx_compiler_flag("-Wall") # for gcc (and recognized by clang)
 add_cxx_compiler_flag("-Wextra") # for gcc  (and recognized by clang)
 add_cxx_compiler_flag("-Wno-c++98-compat") # We assume we are using modern C++
 add_cxx_compiler_flag("-Wno-c++98-compat-pedantic") # We assume we are using modern C++
-add_cxx_compiler_flag("-Wno-missing-prototypes") # For this TP we will not separate declarations and definitions
+add_cxx_compiler_flag("-Wno-missing-prototypes") # For this hands-on we will not separate declarations and definitions
 add_cxx_compiler_flag("-Wno-padded") # A somewhat noisy warning
\ No newline at end of file
diff --git a/HandsOn/HowTo.ipynb b/HandsOn/HowTo.ipynb
index 3fe75d1..212f3fe 100644
--- a/HandsOn/HowTo.ipynb
+++ b/HandsOn/HowTo.ipynb
@@ -14,7 +14,7 @@
    },
    "source": [
     "<h1>Table of contents<span class=\"tocSkip\"></span></h1>\n",
-    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#How-to-do-the-exercices?\" data-toc-modified-id=\"How-to-do-the-exercices?-1\">How to do the exercices?</a></span><ul class=\"toc-item\"><li><span><a href=\"#Don't-do-the-TP-in-Jupyter-notebook!\" data-toc-modified-id=\"Don't-do-the-TP-in-Jupyter-notebook!-1.1\">Don't do the TP in Jupyter notebook!</a></span></li><li><span><a href=\"#Online-compilers\" data-toc-modified-id=\"Online-compilers-1.2\">Online compilers</a></span></li><li><span><a href=\"#On-your-local-machine\" data-toc-modified-id=\"On-your-local-machine-1.3\">On your local machine</a></span><ul class=\"toc-item\"><li><span><a href=\"#How-to-compile-and-run-the-program?\" data-toc-modified-id=\"How-to-compile-and-run-the-program?-1.3.1\">How to compile and run the program?</a></span></li><li><span><a href=\"#For-each-exercice\" data-toc-modified-id=\"For-each-exercice-1.3.2\">For each exercice</a></span></li></ul></li><li><span><a href=\"#With-Docker\" data-toc-modified-id=\"With-Docker-1.4\">With Docker</a></span></li></ul></li></ul></div>"
+    "<div class=\"toc\"><ul class=\"toc-item\"><li><span><a href=\"#How-to-do-the-exercices?\" data-toc-modified-id=\"How-to-do-the-exercices?-1\">How to do the exercices?</a></span><ul class=\"toc-item\"><li><span><a href=\"#Don't-do-the-hands-on-in-Jupyter-notebook!\" data-toc-modified-id=\"Don't-do-the-hands-on-in-Jupyter-notebook!-1.1\">Don't do the hands-on in Jupyter notebook!</a></span></li><li><span><a href=\"#Online-compilers\" data-toc-modified-id=\"Online-compilers-1.2\">Online compilers</a></span></li><li><span><a href=\"#On-your-local-machine\" data-toc-modified-id=\"On-your-local-machine-1.3\">On your local machine</a></span><ul class=\"toc-item\"><li><span><a href=\"#How-to-compile-and-run-the-program?\" data-toc-modified-id=\"How-to-compile-and-run-the-program?-1.3.1\">How to compile and run the program?</a></span></li><li><span><a href=\"#For-each-exercice\" data-toc-modified-id=\"For-each-exercice-1.3.2\">For each exercice</a></span></li></ul></li><li><span><a href=\"#With-Docker\" data-toc-modified-id=\"With-Docker-1.4\">With Docker</a></span></li></ul></li></ul></div>"
    ]
   },
   {
@@ -37,7 +37,7 @@
     "\n",
     "[Coliru](https://coliru.stacked-crooked.com/) or [Wandbox](https://wandbox.org/) provides online compilers in which you may paste code, compile it and then run it.\n",
     "\n",
-    "They are clearly the easiest way to go (except for the [hands-on related to file structure](../6-InRealEnvironment/2b-TP.ipynb) for which we will need to work locally). \n",
+    "They are clearly the easiest way to go (except for the [hands-on related to file structure](../6-InRealEnvironment/2b-hands-on.ipynb) for which we will need to work locally). \n",
     "\n",
     "### On your local machine\n",
     "\n",
@@ -63,7 +63,7 @@
     "\n",
     "`./initial`\n",
     "\n",
-    "and if everything is allright you should see (in the case of the [first hands-on](../1-ProceduralProgramming/2b-TP.ipynb#EXERCICE-1:-Adding-a-loop)):\n",
+    "and if everything is allright you should see (in the case of the [first hands-on](../1-ProceduralProgramming/2b-hands-on.ipynb#EXERCICE-1:-Adding-a-loop)):\n",
     "\n",
     "````\n",
     "0.65 ~ 1 / 2^1\n",
diff --git a/HandsOn/README.md b/HandsOn/README.md
index 626b3e0..3904ccb 100644
--- a/HandsOn/README.md
+++ b/HandsOn/README.md
@@ -1,6 +1,6 @@
-The more natural to run the TP is to set up your local environment with a compiler and a development environment (an IDE, git, etc...)
+The more natural to run the hands-ons is to set up your local environment with a compiler and a development environment (an IDE, git, etc...)
 
-However if need be we prepared a Docker image which includes a very basic environment with the minimum required to be able to run the TPs.
+However if need be we prepared a Docker image which includes a very basic environment with the minimum required to be able to run the hands-ons.
 
 The image is based on Fedora and is created through this [Dockerfile](../docker/Dockerfile.fedora). 
 
diff --git a/docker/README.md b/docker/README.md
index 61dbfe4..532cec3 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -10,5 +10,5 @@ There are several Dockerfiles here:
 
 - [Dockerfile], which creates an image with a Conda environment to run properly Xeus-cling.
 - [Dockerfile-full], which creates an image with a Conda environment to run properly Xeus-cling and installs as well local compilers so that they may be invoked from the notebooks (for the 6-InRealEnvironment part).
-- [Dockerfile.fedora] which provides an environment with both clang and gcc installed. This notebook is not intended to run the notebooks but may be used to run the TPs.
+- [Dockerfile.fedora] which provides an environment with both clang and gcc installed. This notebook is not intended to run the notebooks but may be used to run the hands-ons.
 - [Dockerfile.boost] is used along with [the notebook about third party warnings](../6-InRealEnvironment/4-ThirdParty.ipynb).
-- 
GitLab