A couple of years ago two of my students were discussing my influence on motivating students into computer science. One was giving me much too much credit. The other was being more realistic but did say that I encouraged him and that I could have turned him off from computer science. Given this students great success, which I credit to his own intelligence and hard work – it’s all him, I am sure glad that I didn’t mess things up. Bad teachers turning students away from a topic is not an issue limited to computer science of course. But given the shortage of CS people this is a real concern.
As we expand computer science into more and more schools and more and more grades in schools the potential to excite more students about the field runs hand in hand with the risk of losing potentially great students. Are we careful about not losing the students who are not already interested? Or worse, driving away the students who are interested?
I’m a big proponent of teaching with enthusiasm and passion for the subject. I really want my students to see the fun, excitement, potential, and even wonder of computing. The goal it to “turn them on” to computing. Thinking “just don’t turn them off” seems like a defeatist attitude. They are two sides to the same coin though. Often what excites some students will be a turn off for others. Not everyone gets all geeky for esoteric operators and abstract concepts. Some people want to do interesting and artistic things with images. Some students like pretty graphical user interfaces what others like the clean simplicity of a command line interface. Do we try to use a range of different projects and exercises to appeal to the widest range of student?
All of this leads me to believe we need a wide range of computing experiences. We need to mix it up a bit if we only have one course, one chance to win students over. That is often the case in high schools for example. In lower grades we can’t always expect one teacher who teaches every subject to know 10 different ways to teach the same CS concept so the challenge is extra real there. What was want, I think, is to see different ways of doing things at different ages and grades. The more side of the elephant that is computing that students are exposed to the more likely that they’ll find an aspect they like.
What we have to worry about is deadly boring “you have to learn this for the test” classes. We don’t need “filter” or “gatekeeper” courses that weed students out at young ages. We need courses that expand the possibilities and open doors for more students. It’s not always going to be easy but it is important that we try.