Generalizing: The Core of Algebraic Thinking