|
CS4414: Recitations (Labs)CS4414 will have a required weekly recitation focused on practical C++ and Linux skills and the homework assignments. The in-person version will be on Mondays from 4:55-6:10pm in 116 Kennedy Hall (Zoom also available for those unable to attend in person). Sign up for DIS 201 if you plan to attend in person, and DIS 202 if you plan to attend remotely. People who are in DIS 201 will be assigned seat numbers for Kennedy Hall 116 via CMS (link is to the left). If at any point you cannot attend in person, just join the Zoom or watch the recorded Zoom video. Sagar (srj57@cornell.edu) is running the recitations. Alicia (yy354@cornell.edu) is taking notes. |
Date | Topic, Zoom Link | Slides, Notes | Remarks, chapter references, additional recommended readings (if any). BO: Bryant and O'Hallaron. BS: Bjarne Stroustrup. |
1. Sept 07 | Emacs, C++ | slides-pdf, notes-docx | An overview of the Emacs editor. Discussion of my word-count program in C++ including the optimizations implemented to improve performance. |
2. Sept 14 | C++ types and containers | slides-pdf, notes-docx | A discussion of C++ primitive and user types, pointers and arrays. Using standard template library provided vectors and maps. |
3. Sept 21 | The Linux Command Line | no slides, notes-docx | For further reading, refer to the book The Linux Command Line |
4. Sept 28 | My solution to HW1 | code, notes-docx | The code does not implement division. I will release division after HW2 is finished. Do not copy my code directly, but use it as a reference. |
5. Oct 05 | Compiler optimizations, C++ iterators | slides-pdf, notes-docx | BO Chapter 5, BS Chapter 12 |
6. Oct 12 | Sokoban solver | slides-pdf, notes-docx | A walkthrough of optimizations and performance analysis of my Sokoban solver |
7. Oct 19 | C++ templates, Sokoban Part II | slides-pdf, code, notes-docx | Refer to my code for the solution presented. If more interested, extend my solution using templates to implement a general 1-player solver (and solve games Sudoku, Kakuro etc. using it) |
8. Oct 26 | Multithreading Part I, SST templates | slides-pdf, notes-docx | Discussion of concurrency control through atomics and mutexes, a presentation of how SST uses templates and variadic templates |
9. Nov 02 | Multithreading Part II | slides-pdf, notes-docx | Extensive evaluation of wc++ |
10. Nov 09 | Multithreading Part III, Lazy evaluation in C++ | slides-pdf, notes-docx | BS Chapter 15, Chapter 6 of Functional Programming in C++ by Ivan Cukic |
11. Nov 30 | Distributed file systems | slides-pdf | NFS, Ceph, and general object-based file systems |
12. Dec 07 | Quiz review | slides-pdf | A general summary of the course with a focus on content relevant for the quiz |
13. Dec 14 | Writing good code | slides-pdf | Some software design principles, specifically related to designing different levels and forming the right kinds of abstractions |