&quot;Learning algebra&quot; doesn&#x27;t necessarily imply <i>understanding the abstract concepts of</i> algebra. Without the developmental substrate, children instead lean mostly on rote memorization. This seems to &quot;work&quot; when the class is taught in terms of rote application of memorized formulae, but will fall over the moment that students are presented with a problem in a novel context, or expected to synthesize multiple component skills into a larger solution.<p>If you&#x27;ve ever tried to tutor someone who &quot;struggles with word-problems&quot;, the majority of the time it&#x27;s because they don&#x27;t actually <i>understand</i> the things they&#x27;ve been &quot;learning&quot; at all.<p>Similarly, this tends to be the difference between people who &quot;get&quot; programming and people who don&#x27;t. If you ever talked to someone who failed a programming course, it&#x27;s usually clear from their approach that every new language or API they learned became, to them, another set of rote facts to burn into their mind, never coming together to paint a picture of what the formal act of &quot;programming&quot; is generally.