I think there is a time and a place for certain types of language. My plan is to allow my children, once they're a little older (say, pre-teen and up, about the age most kids actually start swearing) to use "minor" swear-words ("damn" and "pissed off" for instance) with little to no repercussion, but I would make sure to emphasize that in public, such words should be used sparingly, if at all, because they make some people uncomfortable, especially when they're hearing the words from young people.
"Moderate" swear-words, like "sh'it" and "*****" can be used in the home, so long as they are not used in a disrespectful manner (for instance, if Tristan ever called his theoretical little sister a ***** in my hearing, he'd get in trouble. If he told her "quit ************** however, he wouldn't. If he called any adult woman a *****, he'd get in big trouble. If he called ME a *****, I'd put him through a wall.) I would emphasize that these words should not be used in public until my children are adults because, again, it makes some people very uncomfortable to hear them and therefore would be disrespectful to use them in "mixed company."
"F'uck" will not be allowed (and this includes myself and my husband, something we are working on) because it's just too easy a word to abuse. Neither will very denigrating terms such as "cnut" be allowed.
As for school, since that falls under the realm of a "public" place, again I will emphasize that swearing should be used sparingly if at all, and should NEVER be directed at a teacher. But again, this is situational. If he were to say, "I don't understand this damn homework" when a teacher asks if there's a problem, the teacher might be a little upset, and if the teacher complained to me, I would sit the kid down for a talk and reinforce the rules on language in public. If he cusses a teacher out, however, again, I'll put him through a wall.
The point of this ramble is that my emphasis will not be so much on what kind of language is used, so much as the fact that boundaries of propriety and respect are observed. Nothing annoys me more than to see two 13-year-olds on a bus sitting next to some little old lady, saying "f'uck this" and "sh'it that" while the old lady gets more and more uncomfortable. Children should NOT be let out of the house until they understand that there is a time and place for everything, including language, and the language you use when alone with your friends (let's face it, kids swear up a storm with each other because they're trying to impress each other with how daring and grown-up they are) is NOT the language you use where others can hear.