Sep. 5, 7  Ch. 1. Algorithm Analysis 
For Friday: read section 1.1
For Monday: read section 1.2.1 Homework 1, due Wednesday, 9/12 
Sep. 10, 12, 14  Ch. 1. Algorithm Analysis, cont. 
For Wednesday: read sections 1.2.2, 1.2.3
Homework 2, due 9/14 Program 1: Log Log, due Friday, 9/21 
Sep. 17, 19, 21  Ch. 2. Basic Data Structures: Stacks, Queues, and Trees, Priority Queues and Heaps 
Homework 3: R1.6, R1.8, R1.19, C1.3 (also give the amortized runtime per increment), C1.14, due 9/21
Read 2.4, (priority queues and heaps), 2.5 (dictionaries and hash tables). Homework 4: R2.12, but use the list [2, 5, 16, 4, 10, 23], R2.16, R2.17, C2.4, C2.11, due 9/26 
Sep. 24, 26, 28  Ch. 2.5. Dictionaries and Hash Tables. 
Homework 5: R2.19, R2.20, R2.22, due 10/1 
Oct. 1, 3, 5  Ch. 3. Search Trees. 
Read ch. 3 sections 1 and 3. Program 2: Babble, due 10/12 [resources] 
Oct. 8, 10, 12  Ch. 4. Sorting, Sets, and Selection. 
Oct. 8: Test 1.
Homework 6: R3.8, R3.11, R3.12, due 10/12. Read 4.14.6. 
Oct. 15, 17, 19  Ch. 5. Fundamental Algorithm Design Techniques. 
Homework 7, due Friday, 10/19
Read ch. 5. Program 3: Fractal, due 11/2 [resources, ex 1 2 3] 
Oct. 22, 26 
Ch. 5, cont. Dynamic programming. 

Oct. 29, 31, Nov. 2 


Nov. 5, 7, 9  
Nov. 12, 14, 16 
Ch. 7, Cont. 
Nov. 12: 
Nov. 19  Heuristic search. 

Nov. 26, 28, 30  AI, cont. 

Dec. 3, 5, 7   
Dec. 10  Mankalah tournament 