(Read Chapters 1&2 of the textbook) - Basic Java - Inheritance - Interfaces
Arrays, Linked Lists, and Recursion (Read Chapter 3 of the textbook) - Programming with Recursion - Using Recursion
Analysis Tools (Read Chapter 4 of the textbook) - Analysis of Algorithms
Stacks and Queues (Read Chapter 5 of the textbook) - Stacks - Queues
example code
Lists and Iterators (Read Chapter 6 of the textbook) - Linked Lists - Vectors - Lists - Sequences and Iterators
Trees (Read Chapter 7 of the textbook) - Trees
Priority Queues (Read Chapter 8 of the textbook) - Priority Queues - Heaps - Adaptable Priority Queues
Maps and Dictionaries (Read Chapter 9 of the textbook) - Maps - Hash Tables - Dictionaries - Skip Lists
Search Trees (Read Chapter 10 of the textbook) - Binary Search Trees - AVL Trees - (2,4) Trees - Red-Black Trees - Splay Trees
Sorting, Sets, and Selection (Read Chapter 11 of the textbook) - Merge Sort - Quick Sort - Divide-and-Conquer - Sorting Lower Bound - Sets - Union-Find Partition Structures - Radix Sort - Selection
Dynamic Progr.
Text Processing (Read Chapter 12 of the textbook) - Strings and Pattern Matching - Tries - Dynamic Programming and LCS - Greedy Method and Text Compression
Graphs (Read Chapter 13 of the textbook) - Graphs - Depth-First Search - Breadth-First Search - Directed Graphs - Shortest Paths - Minimum Spanning Trees - A Campus Tour Project