🌽 CS106L is a 1-unit class that explores the modern C++ language in depth. We'll cover some of the most exciting features of C++, including modern patterns (up through C++26) that give it beauty and power.
🥦 Anyone who is taking or has taken CS106B/X (or equivalent) is welcome to enroll. In other words, we welcome anyone that has learned or is learning programming fundamentals like functions and objects/classes.
🥕 CS106L is a class for 1 unit. Students will complete 8 very short weekly assignments. These are not meant to be too challenging but instead function as some hands-on practice with a few of the concepts we discuss in class the previous week. There are no exams or papers. All grades are S/NC. Class will finish in week 8 to give you time for finals.
🏢 CS106L is built for you! Even if you're not taking the class, you're welcome to come to our in-person office hours (starting week 2). Fabio: Wednesdays 4-5pm on Zoom link, Jacob: Friday 3-4pm @ 260-113. On Friday, May 23rd, Jacob's OH will be on Zoom from 11am-noon!
Week | Tuesday | Thursday |
---|---|---|
1 | April 1 1. Welcome! 📖 Slides 📃 Policies | April 3 2. Types and Structs 📖 Slides 💻 Code 📕 Reader |
2 | April 8 3. Initialization and References 📖 Slides 💻 Code 📕 Reader | April 10 4. Guest Lecture 📖 Slides A0: Setup |
3 | April 15 5. Streams 📖 Slides 💻 Code | April 17 6. Containers 📖 Slides 📕 Reader A1: SimpleEnroll |
4 | April 22 7. Iterators and Pointers 📖 Slides | April 24 8. Classes 📖 Slides 💻 Code A2: Marriage Pact |
5 | April 29 9. Inheritance 📖 Slides | May 1 10. Const Correctness & Class Templates 📖 Slides 💻 Code 📕 Reader A3: Make a Class! |
6 | May 6 11. Function Templates 📖 Slides 💻 Code | May 8 12. Functions and Lambdas 📖 Slides 💻 Code A4: Ispell |
7 | May 13 13. Operator Overloading 📖 Slides 💻 Code | May 15 14. Special Member Functions 📖 Slides A5: Treebook |
8 | May 20 15. Move Semantics 📖 Slides 💻 Code | May 22 16. 📖 Slides 💻 Code A6: ExploreCourses |
9 | May 27 17. RAII, Smart Pointers, and Building C++ Projects 📖 Slides 💻 Code A7: Unique Pointer | May 29 Optional: No Class, Extra Office Hours |
10 | June 3 Optional: No Class, Extra Office Hours |