The schedule is subject to change at any time.

Week Monday Wednesday Friday
1

April 2nd

1: Welcome to CS106B

Read: Chapter 1

Slides
Code
General Information
CodeStepByStep

April 4th

2: C++ Functions

Read: Chapter 2-3, and Chapter 10, Section 2

Slides


In: Assignment 0

April 6th

3: Big O, Vectors, Grids

Read: Chapter 5.1 - 5.2

Slides

Honor Code

2

April 9th

4: Strings and Stanford Library Functions

Read: Chapters 3-4

Slides

In (Thursday): Assignment 1
Out (Thursday): Assignment 2

April 11th

5: Stacks and Queues

Read: Chapter 5.2 - 5.3

Slides

April 13th

6: Sets and Maps

Read: Chapter 5.4 - 5.6

Slides

3

April 16th

7: Introduction to Recursion

Read: Chapter 7

Slides

In (Thursday): Assignment 2
Out (Thursday): Assignment 3: Recursion

April 18th

8: Fractals

Read: Chapter 7.5, 8.4

Slides

April 20th

9: Recursive Backtracking 1

Read: Chapter 8.2 - 8.3; 9

Slides

4

April 23rd

10: Recursive Backtracking 2 and Exhaustive Search

Read: Chapter 9

Slides


In (Thursday): Assignment 3
Out (Thursday): Assignment 4: Boggle!

April 25th

11: Sorting

Read: Section 7.5, 10.1, 10.2

Slides

April 27th

12: Memoization and Structs

Read: Chapter 10

Slides

5

April 30th

13: Classes

Read: Chapter 6

Slides

Midterm Thursday May 3rd

May 2nd

14: Pointers

Read: Chapter 12

Slides

May 4th

15: Dynamic Allocation

Read: Chapter 11

Slides

6

May 7th

16: Linked Lists

Read: Chapter 11

Slides

In (Thursday): Assignment 4
Out (Thursday): Assignment 5: Patient Queue

May 9th

17: Implementing Vector

Read: Chapter 12.1 (advanced reading: 14.4)

Slides

May 11th

18: Binary Heaps

Slides

Read: Assn 5 handout

7

May 14th

19: Trees

Read: Chapter 16.1

Slides

In (Thursday): Assignment 5
Out (Thursday): Assignment 6: Huffman Encoding

May 16th

20: Binary Search Trees

Slides

Read: Chapter 16.1-16.3

May 18th

21: Graphs

Slides

Read: Chapter 18

8

May 21st

22: Hashing -- guest Lecturer: Dr. Josh Hug, UC Berkeley

Slides

Read: Chapter 15

In (Thursday): Assignment 6
Out: Assignment 7

May 23rd

23: BFS and DFS

Slides

Read: Chapter 18

May 25th

24: Dijkstra and A*

Slides

Read: Chapter 18.6

9

May 28th

No Class - Memorial Day

May 30th

25: Graphs II: Minimum Spanning Trees

Slides

Read: Chapter 18.6

June 1st

26: Esoteric Data Structures: Skip Lists and Bloom Filters

Slides

No reading

10
In (Tuesday): Assignment 7
27: C++ Inheritance and Polymorphism

June 4th

Slides

No reading

June 6th

28: Final Class
Final: June 8th, 8:30am

Slides

No reading

June 8th

Final Exam, 8:30am - 11:30am