Programming Languages II

Welcome to the Programming Languages ​​II course. This course deals with theory topics and implementation of programming languages. Topics Theory: Examine in depth the theoretical background of the main models of programming languages: peremptory, the functional, logical, object-oriented and concurrent programming. Field theory and lambda-calculus. Type systems. Semantics of programming languages: functional, declarative and axiomatic. Implementation Issues: examines efficient implementation of functional issues (ML and Haskell), logic (Prolog), and object-oriented (eg C ++, Java and C #) programming languages. Abstract machines and automatic memory management algorithms. Implementation issues of concurrency and exceptions. Scripting languages ​​(eg Perl, Python, Ruby).


Student familiarization with the general principles of the course.


The course is aimed at students who have passed the course of Programming Languages and I have experience in computer programming. These are above- paitoumena. Useful also have basic knowledge of mathematical logic, algorithms and structure of a compiler (compiler).


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.).






Instructors: Nikolaos Papaspyrou, Kostis Sagonas
Department: School of Electrical and Computer Engineering
Institution: National Technical University of Athens
Subject: Science in Electrical Engineering
Rights: CC - Attribution-NonCommercial-NoDerivatives

Visit Course Page