It's amazing how important kinaesthetic learning is in programming. There have been many concepts that I haven't fully grokked until I've actually coded it up myself. It forces you to consider all the details.