I have to chorus GP. Learning by doing before I have a great understanding or perhaps sometimes far earlier (of course talking about studies on my own time) makes me think through the how and why more thoroughly partly because there is a tanglible goal of getting the piece of code to function as intended versus a more nebulous guess at having understood or not.