While I'm not an expert, there are different ways that people learn things which should be acknowledged. Some people can handle being given all the abstract details and then go and implement it with little difficulty while others would struggle to get through the first example. If the expert goes too fast, bullies the other developer, or uses language that the other developer doesn't understand this can cause problems for the non-expert and thus not be the best way to learn.
I have seen coding camp examples done where I learned a lot though this is from watching and absorbing what is being shown. While having a consultant can be useful, it can also be overwhelming in some cases to try to absorb so much if they are only there for a short time. Some of what was shown is still with me, but other parts are long gone.