I spent last weekend with a room full of university computer science professors. As you might expect discussions covered a wide range of topics during breaks and meals. One item that came up was a problem several people had seen with students who were both self taught and arrogant. It seems that these students often make life in the classroom uncomfortable for other students. They “know it all” you see and delight in making other students feel inferior or unwelcome. This has a negative impact on student retention in computer science programs.
In all honesty the arrogance is the real problem not that they students were self-taught. One can see this in almost any case where some students come into a class with significantly more knowledge of the subject than others. It does seem to be more prevalent among the self-taught though. Perhaps something about doing it on one’s own breeds a certain attitude of superiority. I do know that my career has been overflowing with self-taught programmers and software developers who denigrate formal education in the field and people who learned in class what they learned “on their own.”
Obviously the constantly changing nature of computer science means that someone who wants to stay current has to do a lot of learning on their own. And there is nothing wrong with being self-taught other than that you really need to watch out for the quality of teaching.
The classroom can be a fragile environment. Students can be turned off to a subject as easily, if not more easily, than they can be turned on to it. As a teacher my goal, obviously, is to get the students feel good about the subject and about themselves. Students who do know more than their peers can be a very positive experience. I have seen peer tutoring work wonders with students. So a student who uses their knowledge to help their peer rather than as a club to put them down can really contribute a lot to making the environment a good healthy one.
Learning on ones own is something I strongly encourage. I don’t believe that the teacher should limit students to only what they (the teacher) knows. (see All You Know Isn’t Enough) I want to encourage students to share what they know with their peers in a spirit of support and collaboration rather than as a power game. I try to help students understand that teaching something improves understanding of it for the teacher as well as the student. I also want all students to understand that while people learn in different ways that is a good thing. No one way works for everyone and there is not necessarily a right way for everyone to learn.
But I really wish some of these self-taught student developers had had a better teacher.