diff --git a/1-ProceduralProgramming/0-main.ipynb b/1-ProceduralProgramming/0-main.ipynb index 670465fc45ddfb0c4f2b7ffd0ce91642cc20123b..4ca04c78a50aceb21f4d9080639e2c11857e1ba4 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 15d957eddbf914369dfb1afff944f16741488b57..5c7073b76a81cc3fb3518272c58a5f2012669575 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 942556df3148a4d4203bd98bf151a2e5555947de..1eb678f68fd36fd772763f93e49abbd6c466cdd0 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 76cbcf437320e67c8680830435a0f4d137710ec3..e4791df69acdad326d13a12805f13cc3e7433301 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 fd9d8a9b5b184653dbb7276ed1989ac9df14cb5f..b215a0235dcdc7ed469907a983ca7f67a8d80c71 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 4dabf3b2b2052f07c9d0495f8c08ec0ee16ff77e..775b21fc51e3d970d26a158fc84ef91ca1286766 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 dbd607ffc05a8f0c958f8f7a8e80dc5071d49042..794fd7d31ddf773865fd0578c7bf541497179592 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 c65185ed2ba38bd343a8ec94cdd5c210905c4546..887ebd307a3cdc5daf399b345d9888b1d67b2480 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 fcd285335ed09abb98019cdeae0f0db481bfb025..9b4e4214cfa1daa16d866eea727f93263c3269c5 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 0607c926d183071bea09960e6be8097a8318018e..8e443fdee429870402a5626b379b4b2aabbdb58b 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 6c0a160a4ccf3a39a9251204039c70dc6026245c..f7f098aedb5a3c20ef80b801a1a9e9587ad087ff 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 077bbc27d96c93aa6212121d87a841fe6477ea82..85f87cc1b43a3d35ff06f71164dce33d166f7890 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 5d70ca9dc0c06ed95f6440cad2ca90b4dddff7ea..23d2dff33fbd100a238d55a41e753d6ab10b0358 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 35c7673518d1680be8121002572fa9ae9aa2ad05..eb39860da769d0197dfebf93f9ab0f2d7f4e8d0f 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 28be39c8629df676fe8b58baa1c2c0a27d431d15..fac440eaeddc55c77d85ddf81e6fcf7563b9bbc4 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 e2235605ad79f54415aee0f5f41afec2b711f33a..0ea635b0d282919927fee821ff08850860570860 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 8129c59f4343c35902fa341c3a4e604d7e506bf4..0dc9677eb461925edcceab2e4a3e164f354f5b55 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 1229d9dc28d8c0cb97cf609464af5aa23a703136..be4c3ad2d6774fbf03acfffcb8cd070f3d820633 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 d1c16863d114c2c426798e9257a820e71c8f12e5..382deb33e6f492adfef9287831e2e2a6562ae3f9 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 219ab59784f1db0483e0cee53f5db2df16acc6cc..e0d0481bd9970381dbc521dddaf547cba1a97678 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 f9fb21a70de41ffaba4a3109f24bd26c78900afa..3a1152c52de59410ae348d529489b58924ae761a 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 cfaac4c23bb6d21df338a03905a10818e98dca57..bfa5ca4610b95f064f689f448af5c672850b65b3 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 1b0746af813a3a94fc52718588ef3f8404fbf151..8b54e823fecb0fae89b6b32a1142ca31cfcc03e0 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 58cf778b20414fa810176812c1bdecd1072d7dfe..cf9c057ad7f1686013a3c7d07f91647463058f51 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 92cd78207f61a0dd435a137f5a7525476f6d67f9..cb5ae07aa77ffa382c9796eba8993df1f7da048f 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 e9e9d0fa3e5270b2b46c8284f10fc66fe43b205d..a3c79feb937fec26c7400182ca608fca29d4a640 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 1ece4dd4b7e8202236a11a46199ce8f0ebfae9e3..41b9ebf7b616961e92b0202ea195b086fb7a27ea 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 61e5f62bf686e536349ac44124bbf466cdfbe309..d6ed25fd3bda9674a2bd0288edf163b739d174f2 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 93d8284fb04c92ca0a1b0520ac1cef0738be8e5f..0eefa595883ce5a7a8ba7f5b8cf6e3b4e8c042fa 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 922641e70305067fd3121817164459c5f39ceff8..e3c982c1346ab15e1a35bf7b566fd1bb9cd77130 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 ab70f289a4cf9d6b335c4e802e99064416daf255..29534f6090d2ed6d50a5909ad78df5ac58bf1872 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 b326dc25fee38d0582d7116aa745cced48c2ac4a..a0c0ad52347ba509b36be1bc1b4f05a795494207 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 3fe75d18735345584d74978f6c428c01fb620ea0..212f3fe28d54a79af9d20ac85d0a481f163d9214 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 626b3e0be432801f76b5bb0c73e2729da3532aa8..3904ccbcf5329c6c5a713099e82e650179442ee2 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 61dbfe4b6e340351a41dbf8aa618d6b6cc335888..532cec3adb7abe5c77055ed8d618b0d5dcc9283b 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).