In grade school I had trouble memorizing the formula for the area of a right angled triangle. But one day I bisected a rectangle diagonally and was blown away how it all of a sudden made sense: The same thing happened with circles and even calculus stuff. Putting it into diagrams suddenly made it make sense.
So now I try to “do” instead of memorize and it makes all the difference in the world.
Even I can’t learn new programming languages unless I make a real project with them. That’s why I don’t believe in things like code katas or reading programming books cover to cover. It’s a bad representative for using a tool in real life to learn its principles, techniques and methods.