Lazyweb, a question: let's say that you could teach a "cultural anthropology" type of course about computing to first year students, to prepare them for the codebases, communities, patterns and software philosophies of the programming world. You've got about ten weeks to run it. What would you teach in that course and why?

(RTs appreciated for reach.)

@mhoye the things i've had to teach computer science graduates in the past range from "i wish these kids had gotten a methods course re: version control, code review, shell basics" to "i wish somebody had taught these kids to program in any way" to "look, here are some sociopolitical dynamics that you're going to hate for the rest of your career"