The course is a PhD-level introduction to the research area of programming languages. It covers basic theoretical and practical techniques for modeling and exploring the principles of programming languages.