The other day a student wanted to add something to a program using functionality we had not covered in class. His question to me was “Can I Google how to do that?” I resisted telling him to use Bing and just said “sure.” I want students to go beyond what we cover in class. And in fact being able to find and learn things from ones own research (internet or other source) is a valuable skill that I want to see students develop.
Another student who had finished the required code for an assignment asked me if he could add more features to his program. Again I answered in the affirmative. Any time a student wants to do more than the minimum required I am all for it.
I almost wondered why students felt they had to ask me these questions but I realize that there are teachers who demand precise work that doesn’t vary from a comment set of standards or rubrics. Schools do not always encourage creativity and when they do there are often limits placed on it.
The one big limit I try to enforce though is that the minimum requirements for a project have to be done first. Once that is done I really want the students to make the project theirs. I don’t want to grade a classroom set of completely identical projects. That is boring for me and it means the students are likely to be bored as well.
I want students to make the project their own but more than that I want them to stretch themselves in directions that interest them. Students who learn to do something because they want to learn it and use it seem to learn those things much better than if they are just learning for a test. Passing a test is pretty sad motivation. Yes some students will never get as excited about computer science as I am and that’s ok. Some of them will need the pressure of a test to make them study. That is reality. But for the most part I want students to want to learn to solve problems that interest them. If that means looking things up or adding additional features that work fine for me.