Recursion

Objects

Inheritance

Abstract Classes / Interfaces

Generics

Lists/Stacks/Queues

Grammars / Expressions

Trees

Software Testing

Hashing

Graphs