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.
I have trouble when kids expand their programs by adding code they have found on the internet and do not understand. When they pull something from the internet I make sure they comment it extensively to ensure they actually know what they are doing.
ReplyDeleteThe fear of plaguarism is strong in most students these days... especially if they've been told they can't look up solutions to the main part of the assignment.
ReplyDeletePlagiarism is a big concern and one of the things I talk about often is the difference between learning from code and "borrowing" code. Using code samples is not always wrong or bad. The important things are a) the source is documented and b) the student can explain how the code works. At least for me.
ReplyDeleteAre you teaching revision control? I love that you encourage those who are interested to go further, and insist on them doing the core work first. But what a shame if in the hopes of doing something new and cool they bug-up what they've done.
ReplyDeleteI'd like to teach revision control but right now I am tight on time for the topics I am covering. I'm going to spend some time thinking about how I might fit it in in the future though.
ReplyDeleteI encourage kids to look at each other's code but if they use it, they have to document it - just like quoting in an English or history paper.
ReplyDelete