Toggle navigation
CS106B Programming Abstractions
Course
(expand submenu)
Syllabus
Common Questions
Course Placement
Getting Help
Honor Code
Resources
(expand submenu)
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
Lectures
(expand submenu)
Lecture 1: Welcome to CS106B
Lecture 2: From Python to C++
Lecture 3: More C++ Intro: Parameters, Testing
Lecture 4: Vectors and Grids
Lecture 5: Stacks and Queues
Lecture 6: Sets and Maps
Lecture 7: Big O and Asymptotic Analysis
Lecture 8: Introduction to Recursion
Lecture 9: Recursion 2
Lecture 10: Recursion Sequences
Lecture 11: Backtracking 1
Lecture 12: Backtracking 2
Assignments
(expand submenu)
About Assignments
Assignment 0: Welcome to CS106B
Assignment 1: Getting your C++ Legs
Assignment 2: Fun with Collections
Assignment 3: Recursion Etudes
Sections
(expand submenu)
About Sections
1. C++ Fundamentals
2. ADTs and Big O
3. Recursion
4. Recursive Backtracking
Assessments
(expand submenu)
About Assessments
Midterm 1 Information
🗓Schedule
Assignments
Recursion Etudes
Fun with Collections
Getting Your C++ Legs
Welcome to CS106B!
ADT warmup
At the ballot box
Background on huffman coding
Backtracking Warmup
Balanced Operators
Beyond Algorithmic Analysis
But First! Honor Code for Pair Programming
Debugging warmup
Doubly-Linked List Warmup
Ethics of Prioritization and Ranking
Huffman coding
Huffman tree warmup
Mazes
Merge
Part 1: Debugging Warmup
Part 2: Simulate a String Instrument
Part 3: Implement the Tone Matrix
Particle System
Perfect Numbers
PQ Array
PQ client
PQ Heap
Recursion warmup
Search Engine
Sierpinski
Soundex
The Labyrinth!
Tile Matching - The Pattern Puzzle Solver
Voting Power