When trying to help someone learn, many people start by asking them questions.
Mirroring is focused on reflecting someone's thought process back to them, asking strategic questions with the goal of better understanding. (This should remind you of Active Listening!) Frequently, when trying to solve a problem, a student has forgotten a step or overlooked something they are capable of noticing. A Mirror tries to help the student find a path forward on their own.
This process of helping someone find the path forward themselves is similar to Rubber Ducky Debugging, where the act of articulating your problem to an inanimate object (like a rubber ducky) helps to draw out your own thought process and leads you to notice something that helps you solve your problem. When a Computer Science instructor receives an email from a student describing a bug in detail, it's not uncommon for there to be a follow up email saying something along the lines of, "Nevermind! I figured it out." Having to write out exactly what was going on in the code, what wasn't working, and how they'd already tried to fix it can help a student see something important they'd missed before.
Some examples of Mirroring language:
"Tell me more about..."
"What happened when you tried that?"
"Can you walk me through your code line by line?"
"Were there any examples of that in the text book or lecture slides?"
Many of the ways we see helping and guidance modeled involve offering concrete suggestions. This can be thought of as a "Coach" role. Coaching involves giving advice and encouragement. A Coach might point out a problem and give suggestions for how to fix it.
Some examples of Coaching language:
"You might try doing..."
"Have you thought about changing..."
"One way you could do it is..."
While many people see Coaching as "real" teaching because it is a more direct and obvious intervention, Mirroring is every bit as useful in guiding someone's learning.
In reality, the two approaches are often blended together, but having the differences between them articulated can help you be more intentional about how you try to guide students in different situations.
For instance, if someone in a Data Structures class has a logical bug because they used a < rather than a > in one of their conditional statements, they are probably capable of finding the source of the bug and coming up with how to fix it on their own and just need a little help to draw out their own problem solving skills. This is a case where leaning more towards Mirroring would be appropriate, helping the student strengthen their own debugging skills.
On the other hand, if someone in a CS1 course has been staring at the same bug for 30 minutes and isn't recognizing a syntax error, it's unlikely that they are going to gain much from the experience of continuing to answer very open-ended questions about their code. By taking on more of a Coaching role, you can point out both the syntax error and the signs they can look for in the future to identify this sort of bug. This helps them move forward while modeling a debugging thought process.
In which area do you feel more confident in your ability to learn new skills?