CS106B
Course
Syllabus
Honor Code
Course Staff and Office Hours
The Big Course Resources Page
Lectures
About Lectures
Flat Lecture Index
1. 3/30 Welcome!
2. 4/1 C++ Fundamentals
3. 4/3 C++ Strings
4. 4/6 Testing, Vectors, and Grids
5. 4/8 Stacks and Queues
6. 4/10 Sets and Maps
7. 4/13 Big-O and Algorithmic Analysis
8. 4/15 Introduction to Recursion
9. 4/17 More Recursion
10. 4/20 Recursive Problem Solving
11. 4/22 Recursive Backtracking and Enumeration
12. 4/24 More Recursive Backtracking
13. 4/29 Object-Oriented Programming
14. 5/1 Pointers and Arrays
15. 5/4 Dynamic Memory Management
16. 5/6 Priority Queues and Binary Heaps
17. 5/8 Sorting Algorithms
18. 5/11 Introduction to Linked Lists
19. 5/13 More Linked Lists
20. 5/15 Binary Trees, Binary Search Trees, and Tree Traversals
21. 5/18 More on Binary Trees
22. 5/20 Huffman Coding
23. 5/22 Hashing
24. 5/25 Graphs
25. 5/27 Dijkstra and A* Shortest Path Algorithms
26. 5/29 Applied Ethics
27. 6/1 Wrap
Sections
About Sections
Section Portal
Extra Section Problems (Pre-Midterm)
Extra Section Problems (Post-Midterm)
1. C++ fundamentals
2. ADTs!
3. Big O and Recursion
4. Recursive Backtracking
5. Classes and Dynamic Memory
6. Memory Management, Pointers, and Linked Lists
7. Trees
8. Tree Encoding
Assignments
About Assignments
Study Group Bonus
Regret Clause Form
0. Welcome to CS106B!
1. Getting Your C++ Legs
2. Fun with Collections
3. Recursion Etudes
4. Recursive Backtracking
5. Tone Matrix
6. Linked Lists
7. Huffman Coding
Exams
About Exams
Exam Prep Advice
Midterm Exam
Final Exam
📅 Omni-Grid
🔍Search
⚠️ This page is not current. It is an archive from Spring Quarter 2026.
The current quarter's site is at
this link
.
Flat Lecture Index
Date
Lecture Materials
Mon, Jun. 1
27.
Wrap
Fri, May. 29
26.
Applied Ethics
Wed, May. 27
25.
Dijkstra and A* Shortest Path Algorithms
Mon, May. 25
24.
Graphs
Fri, May. 22
23.
Hashing
Wed, May. 20
22.
Huffman Coding
Mon, May. 18
21.
More on Binary Trees
Fri, May. 15
20.
Binary Trees, Binary Search Trees, and Tree Traversals
Wed, May. 13
19.
More Linked Lists
Mon, May. 11
18.
Introduction to Linked Lists
Fri, May. 8
17.
Sorting Algorithms
Wed, May. 6
16.
Priority Queues and Binary Heaps
Mon, May. 4
15.
Dynamic Memory Management
Fri, May. 1
14.
Pointers and Arrays
Wed, Apr. 29
13.
Object-Oriented Programming
Fri, Apr. 24
12.
More Recursive Backtracking
Wed, Apr. 22
11.
Recursive Backtracking and Enumeration
Mon, Apr. 20
10.
Recursive Problem Solving
Fri, Apr. 17
9.
More Recursion
Wed, Apr. 15
8.
Introduction to Recursion
Mon, Apr. 13
7.
Big-O and Algorithmic Analysis
Fri, Apr. 10
6.
Sets and Maps
Wed, Apr. 8
5.
Stacks and Queues
Mon, Apr. 6
4.
Testing, Vectors, and Grids
Fri, Apr. 3
3.
C++ Strings
Wed, Apr. 1
2.
C++ Fundamentals
Mon, Mar. 30
1.
Welcome!