Lecture 1 - Foundations of Lambda Calculus
Lecture 2 - Syntax of Lambda Calculus
Lecture 3 - Free Variable, Scope, and Reduction
Lecture 4 - Normal Forms
Lecture 5 - Encoding if-then-else and Recursion
Lecture 6 - Combinators and Recursive Functions
Lecture 7 - Church numerals and design of some functions
Lecture 8 - Encoding Boolean Operations and Standard Combinators
Lecture 9 - Data Structures in Lambda Calculus
Lecture 10 - Haskell: A Brief Introduction
Lecture 11 - Type and Type Systems
Lecture 12 - Typed Lambda Calculus
Lecture 13 - A Formal Type Assignment System
Lecture 14 - The structure of a term, a TA𝜆 deduction, and a type
Lecture 15 - Restricted Lambda Terms and Type Safe
Lecture 16 - Term Unification
Lecture 17 - Principal Type Algorithm
Lecture 18 - Curry-Howard Correspondence - I
Lecture 19 - Curry-Howard Correspondence - II
Lecture 20 - Strong Polymorphic Types