I can give one tiny little bit of advice from several years about tutoring and teaching mathematics and physics...
Always start with examples.
If I am trying to teach the fundamental ideas of complex analysis, I want to show folks how to take derivatives of complex functions with several worked examples and then show them how to do line-integrals on the complex plane -- I want them to have a big repertoire of things that they have worked out. I want them to have done for themselves several "closed loop" integrals that have come out to zero, and some that have come out to one, before I ever imagine putting the residue theorem underneath their noses. When I explain that analytic functions are these conformal maps which preserve angles, I want them to understand that how we defined analytic functions requires them to locally look like scaled rotations, and to understand that neither scaling nor rotation can change an angle.
Same thing in computing. I wouldn't dream about explaining what a monad is until I've explained what a functor is, and I wouldn't dream about explaining what a functor is without thinking through how lists and maybes and functions and eithers and pairs are all "outputtish" in a certain hard-to-describe way, maybe even discussing how a `forall z. (a -> z) -> z` is actually outputtish in `a` too, before I could finally define some bad definitions ("can get an output out of it" -- well no, I can't do that with the function!) and then alight on "okay so here's a good definition of outputtish as mappable, you can take a function and map it over the output" and then the fact that this has a specific jargon name at that point is no longer of any consequence, "we call this a functor" -- great, some name to memorize, but the concept is "not hard."
In other words, abstractions are patterns in concrete topics. The Dewey Decimal System organizes a library. It is incredibly difficult to convince someone to use the Dewey Decimal System to organize a pile of five books: "What's the point in having this big abstract unifying theory about book contents? I only have five of them!". But what you do if you want to teach someone the Dewey Decimal System is to make sure that first they have a whole library that is in some mess of a state, they can't find what they need to find and they can't see where to file new "books" (examples, pieces of information) and then you come over the hill with this Dewey Decimal System and you look like a righteous force for justice, "aha! everything can be well-organized!"
I have tried so many times to lead with the "Here's how you want to think about this sort of problem!" theory for all of my tutees, and it always leaves them looking at me with that "what abyss of hell did this crazy tutor crawl out of?" face. By contrast if I am just encouraging about "okay, what do you know about this system?" and am very careful to snip the premature theory of "Uh, F = m a?" that they have been exposed to, we can often work through a problem in words and then work through it in numbers and then I can suggest that here is a different way to think about it in terms of, say, momentum conservation.
Always start with examples.
If I am trying to teach the fundamental ideas of complex analysis, I want to show folks how to take derivatives of complex functions with several worked examples and then show them how to do line-integrals on the complex plane -- I want them to have a big repertoire of things that they have worked out. I want them to have done for themselves several "closed loop" integrals that have come out to zero, and some that have come out to one, before I ever imagine putting the residue theorem underneath their noses. When I explain that analytic functions are these conformal maps which preserve angles, I want them to understand that how we defined analytic functions requires them to locally look like scaled rotations, and to understand that neither scaling nor rotation can change an angle.
Same thing in computing. I wouldn't dream about explaining what a monad is until I've explained what a functor is, and I wouldn't dream about explaining what a functor is without thinking through how lists and maybes and functions and eithers and pairs are all "outputtish" in a certain hard-to-describe way, maybe even discussing how a `forall z. (a -> z) -> z` is actually outputtish in `a` too, before I could finally define some bad definitions ("can get an output out of it" -- well no, I can't do that with the function!) and then alight on "okay so here's a good definition of outputtish as mappable, you can take a function and map it over the output" and then the fact that this has a specific jargon name at that point is no longer of any consequence, "we call this a functor" -- great, some name to memorize, but the concept is "not hard."
In other words, abstractions are patterns in concrete topics. The Dewey Decimal System organizes a library. It is incredibly difficult to convince someone to use the Dewey Decimal System to organize a pile of five books: "What's the point in having this big abstract unifying theory about book contents? I only have five of them!". But what you do if you want to teach someone the Dewey Decimal System is to make sure that first they have a whole library that is in some mess of a state, they can't find what they need to find and they can't see where to file new "books" (examples, pieces of information) and then you come over the hill with this Dewey Decimal System and you look like a righteous force for justice, "aha! everything can be well-organized!"
I have tried so many times to lead with the "Here's how you want to think about this sort of problem!" theory for all of my tutees, and it always leaves them looking at me with that "what abyss of hell did this crazy tutor crawl out of?" face. By contrast if I am just encouraging about "okay, what do you know about this system?" and am very careful to snip the premature theory of "Uh, F = m a?" that they have been exposed to, we can often work through a problem in words and then work through it in numbers and then I can suggest that here is a different way to think about it in terms of, say, momentum conservation.