|
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 and Shouxu lead 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 | Summary |
| 1. Aug 29 | Introduction to recitations, C++ Primitive types, C++ standard library | slides-pdf |
Overview of the recitation C++ primitive types: C-style pointers, C-style arrays, references C++ standard library: I/O, containers |
| 2. Sep 05 | C++ function and memory management | slides-pdf |
Core C++ function concepts: parameter passing (by value, pointer, and reference), return mechanisms Memory management in C++, with focus on stack and heap segments, RAII (Resource Acquisition Is Initialization) principle Modern smart pointers: std::unique_ptr, std::shared_ptr, std::weak_ptr
|
| 3. Sep 12 | C++ class and template | slides-pdf |
C++ class: introduce constructor, destructor, copy constructor, move constructor, and connecting to C++ containers C++ template: template function, template class, variadic template |
| 4. Sep 19 | C++ template continue and multithreading1 | slides-pdf |
C++ template continue: variadic template function and class C++ multithreading1: concurrency introduction, thread launching and finishing |
| 5. Sep 26 | C++ multithreading2 | slides-pdf |
Continue with introducing multithreading std::thread creation and finish; thread synchronization, mutexes, and RAII locks |
| 6. Oct 03 | C++ multithreading3 | slides-pdf |
Continue with RAII locks and condition variables; Introducing HW2 |
| 7. Oct 09 | Prelim1 review | Review slides from lecture notes and prelim questions |
Review the course concepts that covered in prelim1 and address questions; HW2 workshop |
| 8. Oct 17 | C++ Compilation and Gprof | slides-pdf |
Introducing C++ compilation and linking, and understanding Cmake mechanism; C++ performance optimization tools, focusing on Gprof |
| 9. Oct 24 | C++ Linking and Compiling open-sourced codebase | slides-pdf |
Reviewing C++ compilation, linking, and Cmake; Demo working with an open-sourced C++ codebase llama.cpp. |