Mathematics and puzzles/games. Take sudoku for example. It helps you to practice deductive reasoning. But the important step (I think) is when you start trying to solve harder problems and turn to math to formalize the collection of techniques you have accumulate during practice, resulting in concepts like 'pre-emptive sets'. When you transition from a collection of techniques to a theoretical foundation, you know have a much deeper understanding of the problem and how to reason about it.
You could call it 'deep learning'.
But you shouldn't ;)