Data abstraction; algorithm analysis; recursion; lists; stacks; queues; trees; searching; hashing; sorting.