Specialisation in Programming Languages

Programming languages are a medium for communicating our intentions to the computer and to each other. The field of programming languages studies organizing principles that link other areas cutting across all of computer science. The field covers programming language design, compilers, runtime systems, type systems, program verification, performance, and static and dynamic analysis. Programming languages is an active area. There is a great need for new programming abstractions to be developed, new languages invented, and existing languages extended to be able to effectively program and take full advantage of new platforms and architectures.


Course ECTS Sem
Advanced Java Programming 3 Fall
Computer Aided Verification 6 Fall
Programming Styles 3 Fall
Software Performance 6 Fall
Advanced Computer Architectures 6 Spring
Compiler Construction 6 Spring


Graduates will be prepared to work in fields related to program understanding, analysis, manipulation, and transformation. They will acquire tools and techniques needed to specify and implement language-based solutions. Students will study fundamental aspects of programming languages, both from the theoretical and the practical side, preparing them to become industry professionals or to continue on towards a Ph.D.