• Course code:63220
  • Credits:6
  • Semester: summer
  • Contents

The course covers basic concepts and principles underlying modern programming languages. We focus on understanding from the point of view of a programmer, although due attention is paid also to the theoretical principles that enable design of programming languages.

  1. Introduction and arithmetical expressions
  2. A commmand-based programming language
  3. Proving correctness of programs
  4. Lambda calculus
  5. Declarative programming and algebraic datatypes
  6. Recursive types and recursion
  7. Polymorphism and type inference
  8. Abstraction: signatures, modules, and functors
  9. Logic programming & logic constraint programming
  10. Records and objects
     
  • Study programmes
  • Distribution of hours per semester
45
hours
lectures
30
hours
laboratory work
  • Professor
Teaching Assistant
Room:R3.28 - Laboratorij LKRV
AB