We often hear we want students to be ‘in charge of their own learning’! But, this most often refers to giving students agency. Agency is definitely important—but, it is not the only determinant in empowering students. We must help them to develop epistemic fluency—an understanding of how they learn and of the factors that impact their learning.
It is for this reason that I love to teach kids about illusions. You see, we are frequently limited, and fooled, by our senses.
Of course, it is one thing to have them observe illusions—but, to deepen their understanding and their beliefs, we can have them construct them. As teachers, we know that when we ask students to create or modify media they better comprehend what is real or what is fake. For example, students might take a photograph and add in or delete a character or component to make what otherwise looks like a ‘real’ photograph.
So here is an illusion we could ask kids to create.

You could have children create with a ruler, pencil, and markers. Or you could have them use a coding language like Lynx *(descendant of Logo).
Now, I could also share the code with you—but, I choose not to ‘steal your learning’. Trust me, I know there are advantages to reading code in order to better learn how to write code. But, for this exercise, I choose not to provide a worksheet for students. This, in my opinion, is a problem in our classroom coding world today. It is great to learn from samples and examples—but, not all the time. 🙂
Besides, by watching the gifs below, I am already scaffolding you with two solution strategies. My recommendation is to show the students the still image above and let them come up with various solution strategies—many of which will be more elegant than what I have done.
Then have a gallery of solutions so that students can witness multiple solutions to the same problem. Novice learners are satisfied with one solution strategy. Expert learners appreciate multiple strategies.
Students as epistemologists
As you can see, coding illusions may afford several opportunities for your students to gain control over their own learning. Not only do they learn that straight lines can appear bent—but, they can discover that there are many different solutions to a problem. They learn about both the limits of our perceptions and about the breadth of our problem-solving strategies.
*NOTE: Lynx Coding is free to Canadians thanks to the Government of Canada’s CanCode program.