Programming Languages

  • Evolution, categories, and general characteristics of programming languages
  • Information hiding, modules, abstract data types
  • Object-oriented programming, inheritance
  • The Smalltalk programming language
  • Values and data types, type constructions, expressions
  • Variables, data storage, statements
  • Functional programming
  • Parametric types, type inference
  • The Haskell programming language
  • Declarations, scopes, static and dinamic binding
  • Logic programming
  • Control flow, exception handling
  • Abstraction, parameter passing, order of evaluation
  • Parallelism, processes, process interactions, deadlock
  • The Occam programming language