Robb Cutler, Tutor Crossing, former Assistant Head, Harker School
Towers of Hanoi with stacking rings
Have students write down their steps.
How many steps did you use?
How do we solve this in a more general case? What is the pattern?
- The pattern is hard to see, because it is recursive.
This is a "hard" problem; students need scaffolding; make it natural. A very exploratory example.
Stacking Cups
- allows us to represent data in a non-numeric way.
- use to teach sorting algorithms
- can introduce terminology such as invariants, algorithmic run time (number of steps), algorithmic analysis - what is a step? number of comparisons;
- Want to teach them the math, but not use math :)
- count - first time there are 6 comparisons (7 items); second time there are 5 comparisons ... and so on ... (black stars - below)
- this is an n^2 "thing" - if i double the number of cups (to 14), i know have double the number of comparisons
- the student can visually see the relationships in the diagram.
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
Ping Pong Balls* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
- number the balls
- use pvc pipe to represent the "stack" and ping pong balls as items
- use to make a stack, with two arrows (push, pop)
- push a 1 to the stack, pop a 1 from the stack
- can teach FIFO, LIFO, peak(), isempty()
- can talk about what we can do with a stack - how do I reverse the number? push numbers and pop until empty.
- must have rules; have "enqueue" and "dequeue" on each end
If they can hold it in their hands, they can learn it better.
- can also use this to represent a queue
- clear plastic tubes: can see what's inside; or using the pvc pipes it is a "black box"
- add velcro to the items (laminated pieces of paper - eg. numbers)
- data structure is recursive - "mimics itself in other places"
Use whiteboard to "code" on the board. Formulate the rules of writing an algorithm.
Allow students to generate the code or algorithm.
What other ideas - using toys to teach computing concepts?
- toy trains for linked list
- my first barrel of monkeys - linked list & pointers
- quercetti toys - binary arithmetic, good for just in the classroom
- bags of candy - separate by attribute, use to teach classes
- PB&J - logic & syntax errors
- yarn of string to teach recursion - through it across the room to students
- mancala: recursion, iteration, mathematical thinking
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.