Some objectives of this course are: To study programming language constructs and features. ... To experience a diverse range of programming languages, constructs, and implementation issues. To introduce students to programming language theory including predicate calculus, the lambda calculus, and semantic algebras.