Hi John
What do I do if I have students who know, or think they know, more than me? It makes me feel uncomfortable in the classroom.
NOTKnowItAll
Dear NOTKnowItAll
This a great question, indicating a situation that all technology teachers face, quite often, I might add.
In every class you teach, you can count on students who know or think they know something you don’t. Embrace that! On Day One of the year you might consider saying something like, “It is entirely possible that you know something I don’t know, and that is OK.” If they see that you are willing to admit that, and to learn from what they have learned on their own, that will tend to diffuse any manipulations they may try to throw your way in the long run. Avoid getting defensive about it, but instead, welcome their input, and then respond with something like, “I appreciate your input, and will look into that so I can learn more about it, too.”, or something else along those lines.
Here is what Linda Woessner, a veteran CS teacher, has to say about this question.
My advice is to learn to be OK with it. In our ever-changing field, it’s not possible for anyone to know everything! On the other hand, it IS possible that in some areas students may have more experience or knowledge than I do. I want to model being a life-long learner, and when we come across something I’m not sure about, we figure it out together. Take advantage of opportunities to show kids how and where to find information, and how to problem-solve! It’s OK to show respect for students who are more advanced. Lots of times students just want to be accepted, and things will settle down quickly when they see that there really is more to learn. Sometimes you will get those amazing students who really are gifted and advanced! I enlist them to help with other kids that are struggling, try to sign them up for the CompSci competition team, and/or try to challenge them with additional problems from sites like projecteuler.net, or old contest problems.
Another experienced CS guru, Robert Medrano, has these words of wisdom.
After teaching for over 20 years now, that happens to me a lot. I actually embrace the fact that a student may and WILL know more than me. I use it to remind students that we are never too old to learn from others of any age. The trick is how to challenge the student without making them think they are being punished for knowing more. I try to find fun activities that go beyond the classroom in which they are exploring on their own yet still learning new stuff. There are so many websites and online contests students can do. They do not even think of it as extra work. Two sites that come to mind are nsadayofcyber.com and zerorobotics.mit.edu that I try to use within my class with those gifted students. My classroom just received the Rasberry PI weather station. I have never worked with a Raspberry PI but my top kids are into it and teaching me how to setup everything. IT’S BEEN GREAT!!!! Eventually you become comfortable working with the students as they help you learn new stuff and incorporate ideas into your classroom.
The most important thing to do with your extremely bright students is to find ways to challenge them. One year there were two exceptional young ladies in one of my classes, and it was all I could do to keep up with their insatiable thirst for more CS knowledge and challenges. I found a website called codingbat.com, which helps students practice Java and Python method design and creation to solve various problems. The website is free to use, and the students can work at their own pace, starting with fairly easy problems, and then progressing to some really sticky wickets! The cool thing about the site is that they receive immediate feedback, and can work anytime they want to.
These two computer whizzes devoured the website, and became outstanding computer scientists, both going on to major in CS. One of them, Crystal Riley, won a UIL state championship in her junior year, went on to graduate as a Turing Scholar (Computer Science honors program) from the University of Texas, and is now working for Google in Mountainview, California! She DEFINITELY knows more than I do now, that is for sure, and I am so proud of her!
Here are some of her thoughts on this question, from a student’s perspective.
Teach them how to self-study. You don’t want to bore a student who has surpassed the curriculum, nor do you want to hold them back if they have surpassed your expertise. You can still teach them how to learn on their own. Guide them through making and expressing clear goals, laying out steps and lessons to follow, and then hold them responsible for their lesson plans.
To start their independence, allow them to finish some existing lessons at their own pace. After they have proven that they have the discipline to complete tasks without your insistence, allow them to make requests for some small things they want to learn, such as a new data structure or algorithm. When they get to this point, have them explain to you how they think they are going to go learn it, for example, “I am going to go read the treap Wikipedia article and then try to implement it in my favorite programming language, and prove that it works by having it pass these 3 user cases.” Hold them to it, have them write this down and submit it, and give them a generous deadline. After they have good discipline on these kinds of lessons, graduate them to doing complete projects.
A good way to have a student start a project that you have no idea how to do, is to ask them about something they would like to build and don’t know how, like a web-crawler, or trampoline simulator, or a ‘90s style video game. Make them attempt to write a document about all the things it would take to make their project work at a high level, the “research-phase”. Then, turn this into a lesson plan, with time estimates and check-points, the “design-phase”. Have them submit to you each week the new things they learn, the progress towards their goal, and any updates to the time estimates or revisions to their initial design, the “implementation-phase”. After they have completed pieces of their design, have them prove to you that it works as intended, the “testing-phase.”
This independence is an invaluable skill when your student leaves school. It will allow them to develop the discipline to learn complex subjects without the aid of a teacher, and will still allow you to facilitate, monitor, and evaluate their progress.
Let’s face it! In this ever growing and evolving field of technology, change is happening at an exponential rate, far faster than any other academic field in teaching. There is no way to KNOW IT ALL! The sooner we admit this to ourselves, to our students, and are OK with it, the better the situation will be for all involved. You have knowledge you want to impart to your students, and they have knowledge that may be useful to you and to other students. Embrace this diversity, weave it into your learning environment, and all will be the better for it.
Together, WeTeachCS!
John Owen