New Stuff:

Fast Fourier Transforms - what do they do? What are they for? Basic knowledge of how they work.
B+ trees - insertion/deletion/fetch record according to key value/fetch records between two key values/structure of B+ tree nodes
Boyer-Moore String pattern recognition - How it works/Simple character jumps/Suffix jumps
Genetic Algorithms
Huffman Codes
P/NP - What is P? What is NP?
Showing a problem is in NP
Showing a problem is NP complete (simple cases)
Common NP complete problems:
    Hamiltonian Circuit, Traveling Salesman, CNFSAT, 3CNFSAT, Vertex Cover, Partition, Clique Decision Problem, Sum of Subsets,
    Parallel processor job allocation problem.

Old Stuff not covered completely on the midterm:

All pairs shortest path
Analysis of run time
General distinctions between various algorithmic methods (Greedy/Divide and Conquer/Dynamic Programming/Backtracking)

Final will be at least 60% stuff since last midterm but ... as usual, even later stuff will often use things from earlier in the course. For example, an analysis of later stuff will use analysis methods from earlier.

Of course it will be open book/open notes/ ... with no calculators or computers allowed.