This lecture covers the syntax and semantics of the lambda calculus, a fundamental model of computation. It introduces terms, abstractions, applications, and values in the pure lambda calculus, emphasizing the power of functions as the building blocks of computation. The lecture explores the scoping rules of lambda abstractions, the curried style for multi-argument functions, and the operational semantics for function application. It also discusses the significance of the lambda calculus as the foundation for functional programming languages like ML, Haskell, and Scheme.