Object-oriented programming in Java -- Big picture -- Efficiency of algorithms -- Unordered list -- Ordered list -- Queue -- Stack -- Recursion -- Binary tree and general tree -- Binary search tree and AVL tree -- Heap -- Hash table -- Sorting -- Graphs I: Algorithms -- Graphs II: Implementation.