- Object Orientation
- Abstraction
- Inheritance
- Polymorphism
- Encapsulation
- Generics
- Data Structures
- Expandable array
- Linked lists (including variants)
- Stacks
- Queues
- Trees
- Binary search trees
- Binary heaps
- Sorting Algorithms
- Selection sort
- Insertion sort
- Merge sort
- Quick sort
- Misc Topics
- Asymptotic analysis
- Depth-first vs. breadth-first search
- Binary search
- Recursion
- Event-driven programming
- XML parsing
- Misc Java features
- Access modifiers
- Value vs reference
- Lambdas and streams