Robb Cutler, Tutor Crossing, former Assistant Head, Harker School
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.