Programming paradigms and compiler construction - focuses on functional programming and compiler design. It is part of the compulsory computer science undergraduate curriculum.