Programming Languages and Type Systems
M.Sc. course (in Romanian)
Instructor: Prof. Eneia Nicolae Todoran
The course teaches the principles of imperative, functional, object-oriented and concurrent programming languages. Topics: denotational semantics (states, environments, continuations, fixed-point semantics, concurrency semantics, classic domains, metric semantics), operational semantics (transition systems, structural operational semantics), type systems (simply-typed lambda calculus, polymorphism, subtyping, type inference). The approach is intuitive, with all mathematical models implemented using an appropriate programming language. Haskell is used as a meta-language for denotational semantics.
Lectures: 28 hours
Research paper: 25%
Final Examination: 75%