Theory issues. The course examines the theoretical foundations of the main programming language paradigms: imperative, functional, logic, object-oriented and concurrent programming. Domain theory and lambda calculus. Types and type systems. Programming language semantics; operational, denotational and axiomatic.
Implementation issues. The course examines issues related to the efficient implementation of functional (ML and Haskell), logic (Prolog) and object-oriented (e.g., C++, Java and C#) programming languages. Virtual machines. Algorithms for automatic memory management. Implementation of concurrency and exceptions. Scripting languages (e.g., Perl, Python, Ruby, etc.).
- Teacher: Κωνσταντίνος Σαγώνας
ECTS : 4
Study Load : theory 3, lab 0
Language : el, en