Intermediate-level language features and programming concepts for larger, more complex, higher-quality software. Functional programming, namespaces, modules, class protocols, inheritance, iterators, generators, operator overloading, reflection. Analysis of time and space efficiency.

  • Tokenization
  • Functional Programming
  • Data Structures
  • Algorithm Analysis
  • Software Development