Hacker culture is privileged in the CS learning environment, meaning that many students are drawn to the program because of their existing skills. This marginalizes many students who decide to enter at the college level, and do not have years of experience experimenting with programs on their own. CS programs also tend to trend toward the strongest programmers in the class, encouraging a DIY approach to learning, and leaving behind students who are new to the discipline.On the one hand, we want to value diverse cultures, and I know that many people who succeed in this culture feel marginalized in the broader culture. And isn't it true that in many programs, particular skill-sets are valued? On the other hand, it certainly gives me pause that it's so difficult to enter the discipline as early as college, especially given that many students have no access to computer science before they get to college. Look at how many other (related, even) disciplines are welcoming to students who have no prior experience, even at the graduate level - information science, education, and business being obvious examples.
We keep talking about how to increase the pipeline and have more graduates. I think a major part of the problem is the culture. Computer science is not a welcoming culture. Wouldn't it be great if instead of being denigrated, newcomers were encouraged and supported?
I see that Mark has a new post up pointing out especially the comments relating to the class aspects brought up in the comments, along with a link to another post about this topic.