- Understand the concepts of a dynamic data structure and an Abstract Data Type (ADT).
- Be able to create and use dynamic data structures such as linked lists and binary search trees.
- Understand the stack, queue, set, and map ADTs.
- Be able to use inheritance to define extensible data structures.
- Know how to use the TreeSet, TreeMap, HashSet, and HashMap library classes.
- Be able to use the Java generic type construct.