I find an easy way to get some of the complicated inferential jumps for free is to find a similar set of inferential jumps they have made in a similar subject. It is much easier to correct a “close” inferential jump than it is to create a new one out of thin air.
Example: When discussing the concept of programming you can use the concept of an assembly line to get their head into a procedural mode of thinking. Once they think about an object visiting a bunch of stations in a factory you can replace “object” with “program” and “station” with “line of code.” They still have no idea how programming works, but they can suddenly create a bunch of inferential jumps based on assembly lines.
In my experience, they now start asking questions about programming as related to assembly lines and you can fill in the gaps as you find them.
“So what happens at the end of the line?” “Well, the program generally loops back around and starts over.” ”Oh. So it follows the same line forever?” “Not necessarily. Sometimes the line takes a detour and heads off into a new area of the plant for awhile. But it generally will come back to the main assembly line.” ”But what’s the point? Like, how does that make my computer run?” “Think of the computer like the company. The company owns a whole bunch of assembly lines all over the place and, periodically, it will ask a certain plant to start up and keep running. One of the stations in the assembly line is something like, ‘Give report to company’. The company looks at the report, realizes it is a visual report, and hands it to the assembly line that processes visual reports. That assembly line takes the report, breaks it down into RGB pixels, and puts it on the monitor for you to see. For that to happen, all of these programs have to keep spinning on their assembly lines and doing the work at each station and keep sending reports back to the company. You don’t have to worry about all of the lines because the computer is doing it for you.” ”Wow, that’s complicated.” ″Yeah, it can get pretty crazy. As a programmer, I design the assembly lines.”
I find an easy way to get some of the complicated inferential jumps for free is to find a similar set of inferential jumps they have made in a similar subject. It is much easier to correct a “close” inferential jump than it is to create a new one out of thin air.
Example: When discussing the concept of programming you can use the concept of an assembly line to get their head into a procedural mode of thinking. Once they think about an object visiting a bunch of stations in a factory you can replace “object” with “program” and “station” with “line of code.” They still have no idea how programming works, but they can suddenly create a bunch of inferential jumps based on assembly lines.
In my experience, they now start asking questions about programming as related to assembly lines and you can fill in the gaps as you find them.
“So what happens at the end of the line?”
“Well, the program generally loops back around and starts over.”
”Oh. So it follows the same line forever?”
“Not necessarily. Sometimes the line takes a detour and heads off into a new area of the plant for awhile. But it generally will come back to the main assembly line.”
”But what’s the point? Like, how does that make my computer run?”
“Think of the computer like the company. The company owns a whole bunch of assembly lines all over the place and, periodically, it will ask a certain plant to start up and keep running. One of the stations in the assembly line is something like, ‘Give report to company’. The company looks at the report, realizes it is a visual report, and hands it to the assembly line that processes visual reports. That assembly line takes the report, breaks it down into RGB pixels, and puts it on the monitor for you to see. For that to happen, all of these programs have to keep spinning on their assembly lines and doing the work at each station and keep sending reports back to the company. You don’t have to worry about all of the lines because the computer is doing it for you.”
”Wow, that’s complicated.”
″Yeah, it can get pretty crazy. As a programmer, I design the assembly lines.”
Or whatever.
I like how it took me until the end to realise you’d re-inventedthe concept of analogies :-)
And I had to read past the end to realize that...