Foundations
Functional Programming
Theory
Data Abstraction
Declarative Programming
Metaprogramming
Concurrent Programming