Lecture Videos

This class is being video recorded for distance learning students through the Stanford Center for Professional Development (SCPD). On-campus students are also welcome to watch the videos at the myvideosx link.

Socrative App
Week Monday Wednesday Friday
1 09/21
Introductions, Administrivia, Syllabus
09/23
Transition to C++, Pass by Reference (2.5), C++ Strings and Streams
09/25
C++ Strings and Streams, Introduction to ADTs: Vector, Grid
2 09/28
ADTs: Stack, Queue
09/30
ADTs: Map, Set, Lexicon
10/02
Compound Containers (ADTs within ADTs) (and get a head start on Recursion if we have time)
3 10/05
Recursion (Factorial, Fractal)
  • Read Ch. 7.2 (Factorial), 7.5 (Binary search), Read Ch. 7 (remaining sections), Ch. 8
  • Lecture slides (PDF)
  • Code: BoxyFractal.zip, (for binary search algorithm, see textbook Ch. 7.5)
10/07
Recursion (Backtracking)
10/9
Recursion (Fibonacci), Big O
4 10/12
Big O
10/14
Classes and Objects (Marty Stepp)
10/16
Arrays, more classes (Marty Stepp)
5 10/19
Dynamic (Heap) Memory and Pointers
10/21
Pointers and Link Nodes
10/23
Linked Lists
6 10/26
Priority Queues and Heap Data Structure
10/28
Binary Trees, Binary Search Trees
10/30
Balanced BST, Tree Traversals
7 11/2
Huffman Trees/Coding
  • Read: n/a
  • Wikipedia Documentation: Huffman coding (when looking at out-of-class resources, be careful to avoid looking at any detailed pseudocoe or code, which could constitute an Honor Code violation on the homework)
  • Lecture slides (PDF)
11/4
Hashing
11/6
Intro. to Graphs
8 11/9
Graphs: BFS, Dijkstra
11/11
Graphs: A*
11/13
Graphs: Minimum Spanning Tree (Prim's, Kruskal's, Disjoint Set Forest)
9 11/16
Inheritance
11/18
Polymorphism
11/20
Sorting Algorithms
n/a 11/23
No class - Thanksgiving holiday
11/25
No class - Thanksgiving holiday
11/27
No class - Thanksgiving holiday
10 11/30
Beyond BSTs (Guest: Ilan Goodman)
12/2
Quarter Review & Wrap-Up
12/4
No class - Finals study break