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
- Teacher: Eric Chou