This is most effective early in the program.
Also, if another session reveals some kind of misunderstanding or lack of knowledge then it would be useful to zoom in on the difficulty and revert to a deep practice mechanism. Generally if someone is struggling to leverage a concept in a complicated context then it is good to break that context down and make sure the learner understands each piece of the puzzle.
Let’s say you want to make sure a learner understands the difference between return and print. This is a common issue.
The following code samples show the use of return in increasingly complicated situations and can be used to demonstrate that understanding:
function foo(){
console.log("hello")
}
bar = foo()
console.log(bar)
function foo(){
console.log("hello")
return 1;
}
bar = foo()
console.log(bar)
function foo(){
return 1;
console.log("hello")
}
bar = foo()
console.log(bar)
function foo(x){
console.log("hello")
return x;
}
bar = foo("blue")
bar = foo("red")
console.log(bar)
etc…
Get a bit creative:
Often the follower types more slowly and mishears things and then the conversation becomes a lot more like pulling teeth. Allowing the leader to type keeps things quick and focused. It also shows the learner how to use their code editor effectively for rapid exploration of new concepts.