We have nearly completed Chapter 1 of EOPL: we will finish discussing currying, and how to define Scheme functions with arbitray numbers of arguments on Monday. At this point in the course we will begin discussing programming languages in greater generality. Following a discussion about inductive specification, we will describe Backus-Naur Forms (BNF) and how they are used to define the syntax of programming languages. By the end of the week, we should be well into Section 2.2, which uses mathematical induction to understand the validity of recursive procedures.