1. File reading

  2. Text Patterns

  3. Classes

  4. Inheritance

  5. Analysis of Algorithms

  6. Self-referential data types

  7. Recursive and Functional Programming

  8. Iterators