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 Provides an overview of the recitaion, and provides instructions to set up VSCode with a remote linux machine; Introduction to 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 focus on stack and heap; introduce smart pointers. 
   4. Sep 20 More on smart pointers and introduction to container slides-pdf Applying smart pointers in programs (functions and classes). Introduction to container from C++ standard library, with focus on std::array and std::vector.  
   5. Sep 27 More on C++ classes and containers slides-pdf Demystifying classes constructors, operators, and how they apply in C++ standard library.  
   6. Oct 04 C++ Class Inheritance and templates slides-pdf Introducing 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.