I found that it works great in programming too: take a very beautifully crafted code, remove some bits, and ask the students to fill in the blanks, or wrap something around it.
The students then gain many things out of it:
- they practice reading someone else code
- they have to understand a problem to solve from context
- they get to craft a solution to that problem
- they don't have to start "from scratch", which is easy to do for simple problems, but hard as soon has you dwelve into advanced concepts
Above all, like the soviet education exercice, one untold benefit is that they get to see the beautiful code itself. It's not only inspiring and driving their efforts, it builds taste.
Comments
This is a great exercice.
I found that it works great in programming too: take a very beautifully crafted code, remove some bits, and ask the students to fill in the blanks, or wrap something around it.
The students then gain many things out of it:
- they practice reading someone else code
- they have to understand a problem to solve from context
- they get to craft a solution to that problem
- they don't have to start "from scratch", which is easy to do for simple problems, but hard as soon has you dwelve into advanced concepts
Above all, like the soviet education exercice, one untold benefit is that they get to see the beautiful code itself. It's not only inspiring and driving their efforts, it builds taste.