|
CS4414: Recitations (Labs)CS4414 has a required weekly recitation focused on practical C++ and Linux skills and the homework assignments. The recitation is in-person at Uris G01, Friday 2:55 - 4:10PM. Alicia leads the recitations. The demos used in recitations are available on a github repository To make recitations more interactive, we use pollev https://pollev.com/cs4414c552 (The responses will not be used for attendance or grading) |
Date | Topic | Slides, Notes | Remarks, chapter references, additional recommended readings (if any). BO: Bryant and O'Hallaron. BS: Bjarne Stroustrup. |
1. Aug 30 | Introduction to recitations, C++ environment, C++ Primitive types | slides-pdf | Provide an overview of the recitaion, and introduce how to set up VSCode with a remote linux machine; Basic overview of C++ primitive types |
2. Sep 06 | C++ Derived types and user-defined class | slides-pdf | Introduce C++ derived types: pointer, reference, array, function, and user-defined C++ class. |
3. Sep 13 | C++ Memory and smart pointers | slides-pdf | Demonstrate how C++ programs manage memory segments, with focuses on stack and heap; introduce smart pointers. |
4. Sep 20 | More on smart pointers and introduction to container | slides-pdf | Apply smart pointers in programs (functions and classes). Introduce containers provided by C++ standard library, with focuses on std::array and std::vector. |
5. Sep 27 | More on C++ classes and containers | slides-pdf | Demystify classes constructors, operators, and how they apply in C++ standard library. |
6. Oct 04 | C++ Class Inheritance and templates | slides-pdf | Introduce C++ class inheritance and function overloading, elaborating the concepts on templates from lecture10, with more examples . |
7. Oct 11 | Prelim1 questions review | slides-pdf | Review concepts from prelim1, with focus on file system structure, memory access, SIMD, container. |
8. Oct 18 | C++ compilation and performance tools | slides-pdf | Introduce compilation tools of MakeFile and CMAKE; profiling tool of gprof. |
9. Oct 25 | Multithreading I | slides-pdf | Introduce C++ multithreading: threads' launching and termination. |
10. Nov 1 | Multithreading II | slides-pdf | Top performant programers of HW3 competition, the winners demonstrated their code and optimizations that enable the incredible speedup in their programs. More on thread-safety and locking. |
11. Nov 8 | Multithreading III | slides-pdf | Explain locking from RAII principle perspective. Introduce methods for synchronization via locking, condition variable, and R/W locks examples. Also introduce asyc, future and promises if there are time. |
12. Nov 15 | HW4 Bignum | slides-pdf | Detail explaining Bignum assignment and optimization idea discussion. |
13. Nov 22 | Prelim2 Review | slides-pdf | Review for prelim2, revisit contents from previous lectures and recitations. |