CS106L

Standard C++ Programming

Stanford University

Winter 2025

About CS106L

đŸŒŊ 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: Mon 10-11am on Zoom, Jacob: Fri 3-4:30pm at Turing Aud

Course Info

Quick Links

Schedule

WeekTuesdayThursday

1

January 7

1. Welcome!

📖 Slides

📃 Policies

January 9

2. Types and Structs

📖 Slides

đŸ’ģ Code

📕 Reader

2

January 14

3. Initialization and References

📖 Slides

📕 Reader

January 16

4. Streams

📖 Slides

3

January 21

5. Containers

📖 Slides

📕 Reader

January 23

6. Iterators and Pointers

📖 Slides

📕 Reader I, II

4

January 28

7. Classes

📖 Slides

đŸ’ģ Code

January 30

8. Template Classes and Const Correctness

📖 Slides

đŸ’ģ Code

5

February 4

9. Template Functions

📖 Slides

đŸ’ģ Code

February 6

10. Functions and Lambdas

📖 Slides

đŸ’ģ Code

6

February 11

11. Operator Overloading

📖 Slides

đŸ’ģ Code

February 13

12. Special Member Functions

📖 Slides

7

February 18

13. Move Semantics

📖 Slides

February 20

14. std::optional and Type Safety

📖 Slides

đŸ’ģ Code

8

February 25

15. RAII, Smart Pointers, and Building C++ Projects

📖 Slides

đŸ’ģ Code

February 27

Optional: No Class, Extra Office Hours

9

March 4

Optional: No Class, Extra Office Hours

March 6

Optional: No Class, Extra Office Hours

10

March 11

Optional: No Class, Extra Office Hours

March 13

Optional: No Class, Extra Office Hours