Date |
Topic |
Slides, Notes |
Remarks, chapter references, additional recommended readings
(if any). BO: Bryant and O'Hallaron. BS: Bjarne Stroustrup. |
1. Aug 27 |
Introduction to recitations, setting up your C++ environment |
slides-pdf
|
Provides an overview of the course including major goals, and provides instructions to set up VSCode
with a remote linux machine |
2. Sep 3 |
C++ types and containers |
slides-pdf
|
Discusses various C++ types and inner workings of a std::vector |
3. Sep 10 |
Linux and Linux Commands |
slides-pdf
|
Introduce Linux and Linux commands with Demo example using std::queue; |
4. Sep 17 |
All about classes |
slides-pdf
|
Class definition, implementation, construction, initializer list, access modifiers etc. |
5. Sep 24 |
Pointers and Functions in C++ |
slides-pdf
|
Introduces memory allocation, pointers, and functions in C++. |
7. Oct 8 |
Prelim Review |
slides-pdf
|
Introduce const expression, template, and review the previously covered topics in the first 1/2 of
course. |
8. Oct 15 |
Debugging with gdb |
slides-pdf
|
A run through of useful gdb commands with examples. |
9. Oct 22 |
CMake and gprof |
slides-pdf
|
Introducing CMake to build files and performance measurement and optimization using gprof. |
10. Oct 29 |
All about templates |
slides-pdf
|
Template instantiation, template specialization, concepts, variadic templates.... |
11. Nov 5 |
Multithreading and Synchronization |
slides-pdf
|
Introducing concurrency under multithreading, and synchronization using mutex and locking
mechanism. |
12. Nov 12 |
Multithreading II |
slides1 slides2 wc++-code
|
A discussion of Sagar's word count program in more detail. The two slide-sets are from last year. One
of them is actually the introductary recitation last year. |
13. Nov 20 |
Multithreading III |
slides-pdf
|
Introducing condition variable and future&promises |
14. Dec 3 |
Final review |
slides-pdf
|
A summary of the course and a discussion of interesting questions possibly relevant for the final |