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.