Design space of programming languages; abstraction and modularization concepts and mechanisms; programming in non-procedural (functional and logic) paradigms; introduction to programming language semantics. Three lectures; second term Prerequisite(s): COMP SCI 2ME3 or 2O03 Antirequisite(s): SFWR ENG 3E03