This document describes pricing options using lattice models, specifically binomial trees. It provides details on:
1) Using a binomial tree to price a European call option by replicating the option payoff at each node.
2) Matching the moments of the binomial and Black-Scholes models to derive the Cox-Ross-Rubinstein (CRR) binomial tree.
3) Implementing the CRR model in C++ to price European call and put options via backward induction on the tree.