This module covers concepts in programming languages that go beyond those typically seen or are new to mainstream languages. The goal is to encourage students to look beyond traditional programming practice by introducing new tools and techniques inspired by recent research in programming language theory and practice. Each concept introduced in the module will be supported by considering existing practical implementations of that concept in a variety of programming languages. Students taking this module should have working knowledge of OO languages, Functional Programming, Type Systems and be comfortable learning new programming languages.
prerequisites: COMP2212 or ELEC6259