First of all we will focus on learning the details of the language by carefully reading through the C++ book, namely The C++ Programming Language by Bjarne Stroustrup. The study group will be quiz-driven. We read 50 to 100 pages of C++ theory every week. Then we meet for one hour to solve and discuss related C++ questions. In the meetings we will also discuss good and bad practices and we will learn about the hidden gems and pitfalls of C++.
This is certainly not a beginners course in C++ and programming - it is an advanced study group. We will keep a very high pace and everybody is expected to prepare themselves properly before each meeting. The amount of preparation needed before each meeting depends on your background. Some might spend just 1-2 hours skimming through the pages of theory before each meeting, while others will need to do a lot of additional practical programming and exercises to be fully prepared for the meetings.
As a pre-requisite for this study group everybody is expected to have completed the book Accelerated C++ by Andrew Koenig and Barbara E. Moo. This is probably the best introductory text to modern C++, and it focuses on how the language should be used more than how it might be used.
Each member of the study group will get a copy of these three books:
    |     |
To prepare for each meeting, please read through the following chapters in the Stroustrup book:
Week #1 : (64 pages) Chapter 1: Notes to the Reader Chapter 2: A Tour of C++ Chapter 3: A Tour of the Standard Library Questions for this meeting (quiz, quiz w/notes) Week #2: (74 pages) Chapter 4: Types and Declarations Chapter 5: Pointers, Arrays, and Structures Chapter 6: Expressions and Statements Questions for this meeting (quiz, quiz w/notes) Week #3: (78 pages) Chapter 7: Functions Chapter 8: Namespaces and Exceptions Chapter 9: Source Files and Programs Questions for this meeting (quiz, quiz w/notes) Week #4: (78 pages) Chapter 10: Classes Chapter 11: Operator Overloading Questions for this meeting (quiz, quiz w/notes) Week #5: (54 pages) Chapter 12: Derived Classes Chapter 13: Templates Questions for this meeting (quiz, quiz w/notes) Week #6: (72 pages) Chapter 14: Exception Handling Chapter 15: Class Hierarchies Questions for this meeting (quiz, quiz w/notes) Week #7: (149 pages) Chapter 16: Library Organization and Containers Chapter 17: Standard Containers Chapter 18: Algorithms and Function Objects Chapter 19: Iterators and Allocators Questions for this meeting (quiz, quiz w/notes) Week #8: (108 pages) Chapter 20: Strings Chapter 21: Streams Chapter 22: Numerics Questions for this meeting (quiz, quiz w/notes) Week #9: (100 pages) Chapter 23: Development and Design Chapter 24: Design and Programming Chapter 25: Roles of Classes Questions for this meeting (quiz, quiz w/notes) Week #10: (176 pages) Appendix A: The C++ Grammar Appendix B: Compatibility Appendix C: Technicalities Appendix D: Locales Appendix E: Standard-Library Exception Safety