Programming Languages II


Code 3.4.3320.9
Semester 9th
Flow L - Computer Software
Category Obligatory by selection
Credits 4
Class Hours - Lab Hours 3 - 0
Links Helios, Course's Website
Web Platform Class 1: Microsoft Teams

Description

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