From 4f262ae34aa8318da08169ffc46cb4aadf089a9d Mon Sep 17 00:00:00 2001 From: Federico Date: Sun, 4 Feb 2024 21:56:30 -0800 Subject: [PATCH] Update README.md --- README.md | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 2eaccb7..d3c225d 100644 --- a/README.md +++ b/README.md @@ -48,32 +48,32 @@ If you enjoy the course or you find it useful, please add a **Star** ## CHAPTERS -| # | TITLE | MAIN FOCUS | -| ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| **1** | **[Introduction](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/01.Introduction.pdf)** | History of C/C++, Areas of Applications, Course introduction | -| **2** | **[Basic Concepts I - Fundamental Types](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/02.Basic_Concepts_I.pdf)** | Types overview, operators, and conversion | -| **3** | **[Basic Concepts II - Integral and Floating-point Types](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/03.Basic_Concepts_II.pdf)** | Integral and floating-point types and their arithmetic | -| **4** | **[Basic Concepts III - Entities and Control Flow](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/04.Basic_Concepts_III.pdf)** | Enumerators, structures, control flow statements | -| **5** | **[Basic Concepts IV - Memory Management](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/05.Basic_Concepts_IV.pdf)** | Heap, Stack, pointers, references, const properties, conversion operators | -| **6** | **[Basic Concepts V - Functions and Preprocessing](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/06.Basic_Concepts_V.pdf)** | Functions, lambda expressions, preprocessing directives | -| **7** | **[Object Oriented Programming I - Class Concepts](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/07.Object_Oriented_I.pdf)** | Class hierarchy, constructor, destructor, class keywords | -| **8** | **[Object Oriented Programming II - Polymorphism and Operator Overloading](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/08.Object_Oriented_II.pdf)** | Polymorphism, operators overloading | -| **9** | **[Templates and Meta-programming I - Function Templates and Compile-Time Utilities](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/09.Templates_I.pdf)** | Function template, type traits | -| **10** | **[Templates and Meta-programming II - Class Templates and SFINAE](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/10.Templates_II.pdf)** | Class template, SFINAE | -| **11** | **[Translation Units I](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/11.Translation_Units_I.pdf)** | Linkage and One Definition Rule | -| **12** | **[Translation Units II](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/12.Translation_Units_II.pdf)** | Dealing with multiple translation units and files,  `#include`, and modules | -| **13** | **[Code Conventions](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/13.Code_Convention.pdf)** | Project organization and main code conventions | -| **14** | **[Ecosystem I](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/14.Ecosystem_I.pdf)** | Debugging, and testing | -| **15** | **[Ecosystem II](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/15.Ecosystem_II.pdf)** | Cmake, documenting, and other Tools | -| **16** | **[Utilities](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/16.Utilities.pdf)** | Main `std` libraries | -| **17** | **[Containers, Iterators, and Algorithms](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/17.Iterators_Containers_Alg.pdf)** | Containers, iterators, algorithms, ranges | -| **18** | **[Advanced Topics I](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/18.Advanced_Topics_I.pdf)** | Move semantics, universal reference, type deduction | -| **19** | **[Advanced Topics II](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/19.Advanced_Topics_II.pdf)** | Error handling, C++ idioms, smart pointers | -| **20** | **[Optimization I - Basic Concepts](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/20.Optimization_I.pdf)** | Ahmdal Law, performance bounds, architecture concepts (ILP, SIMD, etc.), memory hierarchy | -| **21** | **[Optimization II - Code Optimization](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/21.Optimization_II.pdf)** | Arithmetic optimizations, memory optimizations, etc. | -| **22** | **[Optimization III - Non-Coding Optimizations and Benchmarking](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/22.Optimization_III.pdf)** | Compiler optimizations, profiling and benchmarking tools | +| # | TITLE | MAIN FOCUS | +| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| **1** | [**Introduction**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/01.Introduction.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/01.Introduction.html)) | History of C/C++, Areas of Applications, Course introduction | +| **2** | [**Basic Concepts I - Fundamental Types**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/02.Basic_Concepts_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/02.Basic_Concepts_I.html)) | Types overview, operators, and conversion | +| **3** | [**Basic Concepts II - Integral and Floating-point Types**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/03.Basic_Concepts_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/03.Basic_Concepts_II.html)) | Integral and floating-point types and their arithmetic | +| **4** | [**Basic Concepts III - Entities and Control Flow**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/04.Basic_Concepts_III.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/04.Basic_Concepts_III.html)) | Enumerators, structures, control flow statements | +| **5** | [**Basic Concepts IV - Memory Management**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/05.Basic_Concepts_IV.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/05.Basic_Concepts_IV.html)) | Heap, Stack, pointers, references, const properties, conversion operators | +| **6** | [**Basic Concepts V - Functions and Preprocessing**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/06.Basic_Concepts_V.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/06.Basic_Concepts_V.html)) | Functions, lambda expressions, preprocessing directives | +| **7** | [**Object Oriented Programming I - Class Concepts**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/07.Object_Oriented_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/07.Object_Oriented_I.html)) | Class hierarchy, constructor, destructor, class keywords | +| **8** | [**Object Oriented Programming II - Polymorphism and Operator Overloading**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/08.Object_Oriented_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/08.Object_Oriented_II.html)) | Polymorphism, operators overloading | +| **9** | [**Templates and Meta-programming I - Function Templates and Compile-Time Utilities**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/09.Templates_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/09.Templates_I.html)) | Function template, type traits | +| **10** | [**Templates and Meta-programming II - Class Templates and SFINAE**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/10.Templates_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/10.Templates_II.html)) | Class template, SFINAE | +| **11** | [**Translation Units I**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/11.Translation_Units_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/1.Translation_Units_I.html)) | Linkage and One Definition Rule | +| **12** | [**Translation Units II**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/12.Translation_Units_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/12.Translation_Units_II.html)) | Dealing with multiple translation units and files,  `#include`, and modules | +| **13** | [**Code Conventions**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/13.Code_Convention.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/13.Code_Convention.html)) | Project organization and main code conventions | +| **14** | [**Ecosystem I**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/14.Ecosystem_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/14.Ecosystem_I.html)) | Debugging, and testing | +| **15** | [**Ecosystem II**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/15.Ecosystem_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/15.Ecosystem_II.html)) | Cmake, documenting, and other Tools | +| **16** | [**Utilities**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/16.Utilities.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/16.Utilities.html)) | Main `std` libraries | +| **17** | [**Containers, Iterators, and Algorithms**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/17.Iterators_Containers_Alg.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/17.Iterators_Containers_Alg.html)) | Containers, iterators, algorithms, ranges | +| **18** | [**Advanced Topics I**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/18.Advanced_Topics_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/18.Advanced_Topics_I.html)) | Move semantics, universal reference, type deduction | +| **19** | [**Advanced Topics II**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/19.Advanced_Topics_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/19.Advanced_Topics_II.html)) | Error handling, C++ idioms, smart pointers | +| **20** | [**Optimization I - Basic Concepts**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/20.Optimization_I.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/20.Optimization_I.html)) | Ahmdal Law, performance bounds, architecture concepts (ILP, SIMD, etc.), memory hierarchy | +| **21** | [**Optimization II - Code Optimization**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/21.Optimization_II.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/21.Optimization_II.html)) | Arithmetic optimizations, memory optimizations, etc. | +| **22** | [**Optimization III - Non-Coding Optimizations and Benchmarking**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/22.Optimization_III.pdf) ([html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/22.Optimization_III.html)) | Compiler optimizations, profiling and benchmarking tools | -***ALL-IN-ONE BOOK***: **[modern-cpp.pdf](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/modern-cpp.pdf)** (could be a few commits behind) +***ALL-IN-ONE BOOK***: [**modern-cpp.pdf**](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/modern-cpp.pdf) (could be a few commits behind), [html](https://github.com/federico-busato/Modern-CPP-Programming/blob/master/htmls/modern-cpp.html) ## TOPICS IN DETAILS