This document discusses developing algebraic thinking through a problem solving approach in mathematics education. It argues that solving mathematical problems can help students develop a deeper understanding of algebraic concepts by encouraging them to consider the generalities and relationships within problems. The document outlines several key aspects of algebraic thinking, such as reasoning about patterns, generalizing, and thinking about mathematical relations. It advocates facilitating student discourse and communication of mathematical ideas to promote algebraic reasoning. Finally, it suggests students progress through stages of developing algebraic thinking, starting with describing generalities verbally and moving to using diagrams, symbols, and formal algebraic notation.