Note. This lecture-by-lecture syllabus is being maintained by Phil Rogaway and will be accurate for his class. But John Matthews and I are keeping the two sections close to being in synch, so the syllabus should be reasonably accurate for his class, too. Lecture 20 did differ between Matthews' and Rogaway's section: Matthews' lecture 20 was on search techniques such as backtracking, game-trees, and branch-and-bound.

ECS 110 - List of Lecture Topics

Lecture Topic
Week 1 Lect 1 - T 4/1 Introduction. Implementation and fundamental types. ADTs. Associative arrays. A first C++ program.
Lect 2 - R 4/3 Making change in Bhutan. Memoization. Time complexity. Theta, Omega, and Big-O.
............. F 4/4 hw0 due at 11:59 pm
Week 2 Lect 3 - T 4/8 Analysis of change-making algorithms. Implementation of associative arrays.
Lect 4 - R 4/10 The String ADT. More C++ discussion. Finite automata.
Week 3 Lect 5 - T 4/15 Fast implementation of Find using FA. Stack ADT and implementations of stacks. C++ quiz.
Lect 6 - R 4/17 Uses of stacks - paren matching, maze exploration, postfix evaluation, infix -> postfix.
............. F 4/18 hw1 due at 11:59pm
Week 4 Lect 7 - T 4/22 Comments on hw1. Survey. Uses of stacks. Queues (as an ADT; uses; cf. stacks; implementations).
Lect 8 - R 4/24 Contest winners. Flavors of lists. LISP lists. Binary trees. Expression trees. Pre/in/post-order traversal.
Week 5 Lect 9 - T 4/29 (John Matthews lecturing.) Binary search trees.
Lect 10 - R 5/1 Ways to maintain balance. Splay trees. Amortized analysis.
............... F 5/2 hw2 due at 11:59pm
Week 6 Lect 11 - T 5/6 Midterm
Lect 12 - R 5/8 Hashing. Collision resolution. Perfect hashing. Universal hashing.
Week 7 Lect 13 - T 5/13 Program checking (sorting; using universal hashing). Priority Queues. Heaps. Binary heaps. Heapsort.
Lect 14 - R 5/15 Lazy binomial queues, Fibonacci heaps (including amortized analysis of).
Week 8 Lect 15 - T 5/21 Insertion sort, Shell sort, mergesort, quicksort, bucket sort, radix sort. Lower bound.
Lect 16 - R 5/23 Graphs (definitions about, sample problems on, representations of). Dijkstra's algorithm.
............... F 5/24 hw3 due at 11:59pm
Week 9 Lect 17 - T 5/27 Running time of Dijkstra's algorithm using different data structures. DFS, BFS.
Lect 18 - R 5/29 Uses of DFS, BFS. MSTs - Prim's algorithm. HW3 Contest results. Evaluations.
Week 10 Lect 19 - T 6/3 Kruskal's algorithm. Disjoint Sets ADT and the Union/Find data structure.
Lect 20 - R 6/5 B-Trees. Digital search trees. Binary tries. Patricia. Tries. Huffman codes. Lessons, bye!
............... F 6/6 hw4 due at 11:59pm
Week 11 ............... W 5/6 Section A Final (Rogaway): 4-6 pm, 55 Roessler
............... R 5/7 Section B Final (Matthews): 8-10 am, 55 Roessler