Data abstraction, representation invariants and abstraction functions
Functional data structures: stacks, queues, dictionaries
Function ordered trees: binary search trees, red-black trees
Imperative data structures: disjoint set forest
Induction
Work through problems, don't just read over your notes! There are
lots of good problems with solutions in the notes; write down some
questions that are answered in the notes, put the notes away, try to
answer the questions, check your answers.
Ed's list of topics that should be on prelim1:
Basic understanding of how evaluation works
Substitution model
Induction question
Code that demonstrates understanding of recursion
Data structure with a mix of signature, implementation and specification (including RI and AF)