universities tend to consider mathematics as a "foundation" for
programming. It certainly helps when reasoning about programs, but
there are other skills that help learning programming.
First of all, conceptual thinking, as learned in philosophy, and
literary composition, as learned in a creative writing class. Even
poetry is helpful if someone tries to write poems using standard latin
But back to the skills that even a child can perform, cooking
following a recipe is an ancient form of an algorithm. Also, a
colleague of mine once asked the students whether they ever did any
sport seriously, as they gave up on the first difficulty.
What other activities, bodily or intellectual can you think of on
these lines? And, is there literature on this?