From EDEC-625 notebook, Fall 2015, 19 Oct 2015.
Setting up a prediction activity. This is a classic technique for Science classes, where labs and experimentation are part of the process. But it should work really well for Math and CS too, where the algorithm/formula/steps are complex enough that students have to do some mental gymnastics to go from seeing them on paper to knowing what they will do.
What to do:
- Activate the students’ prior knowledge, as needed.
- Show the setup of something new. Don’t execute it yet.
- Ask for predictions. Probe for understanding of the details of the setup and the underlying concepts at play. Discuss in small groups and/or large group, and record the students’ ideas visually as per usual technique.
- Execute the program/problem/algorithm, and confirm the results.
- Was the outcome understood? Which theory “won”?
Go through this cycle with a well-chosen case, and then do it again with new inputs–maybe once or twice more with inputs that you choose for specific reasons (they generate good illustrations, highlight edge cases or unintuitive results, etc.). Then repeat a few times with the students suggesting the inputs. Repeat until everyone is able to predict together how it will behave.
Allow students to give you crazy inputs. Don’t think too hard about what the result will be, and (unless it’s too crazy) don’t say “no” to a student’s suggestion. The idea is to (a) let go of the usual tight curricular control that we usually exercise, and (b) to help the students poke and prod the concepts you are illustrating.
The overall cycle is: Input > Predict > Execute > Discuss
Key objectives:
- The teacher holds back his/her own knowledge of the outcome.
- Teacher draws thinking out of the students, builds ideas before executing, gets them to reflect and understand after the execution.
- Teacher embraces unknown, novel, or surprising results.
- Teacher relinquishes control over inputs and problem design.