CS106L

Standard C++ Programming

Stanford University

Fall 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). Rachel: Mondays 9:30am - 10:30am @ 200-015, Thomas: Fridays 3:00pm - 4:00pm @ 200-107

Course Info

Quick Links

Schedule

WeekTuesdayThursday

1

September 23

1. Welcome!

📖 Slides

📃 Policies

September 25

2. Types & Structs

📖 Slides

2

September 30

3. Initialization & References

📖 Slides

October 2

4. Streams

📖 Slides

A0: Setup

3

October 7

5. Containers

📖 Slides

October 9

6. Iterators & Pointers

📖 Slides

A1: SimpleEnroll

4

October 14

7. Classes

📖 Slides

October 16

8. Inheritance

📖 Slides

A2: Marriage Pact

5

October 21

9. Class Templates & Const Correctness

📖 Slides

October 23

10. Function Templates

📖 Slides

A3: Make a Class!

6

October 28

11. Functions & Lambdas

📖 Slides

October 30

12. Operator Overloading

📖 Slides

A4: Ispell

7

November 4

Democracy Day: No Class

November 6

13. Special Member Functions

📖 Slides

A5: Treebook

8

November 11

14. Move Semantics

📖 Slides

November 13

15. std::optional & Type Safety

📖 Slides

A6: ExploreCourses

9

November 18

16. RAII, Smart Pointers, & Building C++ Projects

📖 Slides

A7: Unique Pointer
November 20

Optional: No Class, Extra Office Hours

10

December 2

Optional Lecture: Unit Testing & C++ Iceberg

📖 Slides

đŸ’ģ Code

December 4

Optional: No Class, Extra Office Hours