@aparrish agreed, although I would also analyze the teaching of programming. I always use compare with symbolic differentiation and integration of mathematical functions.
I learned symbolic differentiation easily; it's mostly a straightforward process. However, I struggle with integration as it seems like learning to identify so many patterns that are much more complex.
As they are "opposite" processes I feel they compare well with understanding execution and programming.