The general aim of this course is to provide an overview of the
basic concepts that appear in modern programming languages,
the principles that underlie the design of programming languages,
and their interaction.