🏠CS106B
Course
Syllabus
Course Placement
Getting Help
Honor Code
SCPD Students
Resources
LaIR
Ed Discussion Forum
Paperless
Qt Installation Guide
C++ Reference
Stanford Library Documentation
Style Guide
Testing Guide
Classes Syntax Reference Sheet
Python to C++ Guide
Submission Checklist
Textbook
Citation Policy
Lectures
About Lectures
1. 6/26 Welcome!
2. 6/27 C++ Fundamentals
3. 6/28 Strings
4. 6/29 Vectors and Grids
5. 7/3 Stacks and Queues
6. 7/5 Sets and Maps
7. 7/6 Big O and Asymptotic Analysis
8. 7/10 Introduction to Recursion
9. 7/11 Recursive Fractals
10. 7/12 Recursive Problem Solving
11. 7/13 Midterm Review
12. 7/18 Backtracking 1
13. 7/19 Backtracking 2
14. 7/20 C++ Classes
15. 7/24 Dynamic Memory
16. 7/25 Implementing an ADT
17. 7/26 Priority Queues and Heaps
18. 7/27 Memory and Pointers
19. 7/31 Linked Lists 1
20. 8/1 Linked Lists 2
21. 8/2 Trees
22. 8/3 Sorting
23. 8/7 Binary Search Trees
24. 8/8 Huffman Coding
25. 8/9 Hashing
26. 8/10 Graph Algorithms
27. 8/14 Virtual Memory
28. 8/15 Final Review Session
29. 8/16 Course Wrap-up
Assignments
About Assignments
0. Welcome to CS106B!
1. Getting Your C++ Legs
2. Fun with Collections
3. Recursion Adventures
4. Priority Queue
5. Linked Lists
6. Huffman Coding
Sections
About Sections
Section Portal
1. C++ fundamentals
2. ADTs and Big-O
3. Intro to Recursion
4. Recursive Backtracking
5. Classes and Dynamic Memory
6. Memory Management, Pointers, and Linked Lists
7. Trees
Assessments
About Assessments
1. Midterm Exam
2. Final Exam
🗓Schedule
🔍Search
⚠️ This page is out of date, from a past version of the course Summer Quarter 2023. The current quarter site is at
this link.
Lecture 16. Implementing an ADT
Tuesday July 25
We will build an example to show off our learning so far.
Links
Video on canvas
📦 Code and Slides
7_25_Lecture_16.pdf
Lecture16.zip
Lecture16Starter.zip