I’m still a student but I tend to teach others when I feel confident enough in a subject.
The best way to teach something I find, an idea or technique, is to solve a problem without it where it is suited.
For instance “Why do we have arrays? Write some code without arrays and see how much easier it is with arrays.” or “Why do we have recursion? Try to implement something which can not be expressed in a loop in a loop first, then recursion.”
I find this useful because whenever we invent a new concept or technique we do it to solve a problem we couldn’t solve easily before, that’s the “why” and it makes it very clear when you try to learn it this way.