Introduction -- Variables and data types -- Abstraction -- Block structure -- Languages for object-oriented programming (oop) -- Language constructs for parallel processing -- Formal languages -- Logic programming -- Functional (applicative) programming -- Languages for databases