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

To participate in class, install the Socrative app on your phone, or bring up the website in a browser (optional).

Week Monday Wednesday Friday
1 03/28
Introductions, Administrivia, Syllabus
03/30
Transition to C++, Pass by Reference (2.5), C++ Strings and Streams
04/01
C++ Reference Params, Introduction to ADTs: Vector, Grid
2 04/04
ADTs: Stack, Queue
04/06
ADTs: Map, Set, Lexicon
04/08
Compound Containers (ADTs within ADTs) and Intro. to Recursion
3 04/11
Recursion (Factorial, Binary Search)
04/13
Recursion (Backtracking)
04/15
Recursion (Fibonacci), Big O
4 4/18
Big O
4/20
Classes and Objects
4/22
Arrays, more classes
5 4/25
Dynamic (Heap) Memory and Pointers
4/27
Pointers and Link Nodes
4/29
Linked Lists
6 5/2
Priority Queues and Heap Data Structure
5/4
Binary Trees, Binary Search Trees
5/6
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 5/16
Graphs: BFS, Dijkstra
5/18
Graphs: Dijkstra and A*
5/20
Graphs: Minimum Spanning Tree (Prim's, Kruskal's, Disjoint Set Forest)
9 5/23
Inheritance and Polymorphism
5/25
Sorting Algorithms
5/27
Quarter Review & Wrap-Up
10 6/30
MEMORIAL DAY - NO CLASS
6/1
"DRESS REHEARSAL" FINAL EXAM 1:00-4:00pm in NVIDIA (in lieu of class)
  • Come and take a practice final exam! This is your chance to take a practice exam under realistic exam conditions (lecture room, timed, no distractions, no solutions). The practice exam will be different from the others that will be posted to the class website, so you can experience new questions. Attendance is completely optional. This is provided as a service to help you prepare for the exam. You may come late or leave early if you have conflicts (since it extends outside our lecture time before and after), but we encourage you to minimize that, if possible, to mimimize disruption to other students.
6/3
FINAL EXAM 8:30-11:30am in HEWLETT 200 & 201